Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,19 @@

DEBUG_SOLUTION_ALLOWLIST = set()

# The two billing lookups name only a "Data Service entity", which since #3041
# denotes two node families. Their prompts pin the connector so the graded
# structure is deterministic; the sibling dispute-resolution task pins it in the
# same way. Native Data Fabric authoring is covered by its own task, not these.
Comment on lines +45 to +48
CONNECTOR_PINNED_LOOKUPS = {
"multi_node/billing_invoice_lookup/billing_invoice_lookup.yaml",
"multi_node/billing_discrepancy_detector/billing_discrepancy_detector.yaml",
}
CONNECTOR_PIN = (
"on the data service `query-entity-records` activity, "
"not the native data fabric nodes"
)

# F1 freezes the #2557 task even though its prompt predates the exact phrase.
DEBUG_PROJECT_LAYOUT_EXCEPTIONS = {"single_node/coded_agent/coded_agent.yaml"}

Expand Down Expand Up @@ -192,6 +205,15 @@ def test_debug_graded_prompts_name_a_same_name_solution() -> None:
assert offenders == DEBUG_SOLUTION_ALLOWLIST | DEBUG_PROJECT_LAYOUT_EXCEPTIONS


def test_billing_lookup_prompts_pin_the_data_service_connector() -> None:
offenders = {
relative
for relative in CONNECTOR_PINNED_LOOKUPS
if CONNECTOR_PIN not in " ".join(_prompt_text(_task_text(relative)).lower().split())
}
assert offenders == set()


def test_external_graders_use_package_qualified_shared_imports() -> None:
shared_modules = {
path.stem for path in (FLOW_TASKS / "_shared").glob("*.py")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ initial_prompt: |
`matchedInvoiceNumber` (string, first ERP row), `accountTier` (string, from
CRM).

Build both lookups on the Data Service `query-entity-records` activity, not
the native Data Fabric nodes: the tenants this ships to do not all enable
them.

Validate the final flow file — the task is not complete until `uip maestro
flow validate` passes. Grading then runs the flow under debug against live
tenant data, so build it to actually run, not merely validate.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ initial_prompt: |
- Outputs: `matchedInvoiceNumber` (string, first matched row's invoiceNumber)
and `lineItemCount` (number of rows returned).

Build the lookup on the Data Service `query-entity-records` activity, not
the native Data Fabric nodes: the tenants this ships to do not all enable
them.

Validate the final flow file — the task is not complete until `uip maestro
flow validate` passes. Grading then runs the flow under debug against live
tenant data, so build it to actually run, not merely validate.
Expand Down
Loading