Skip to content

ci(engine): let the ADR 17 sluice metadata tests fail the build - #67

Merged
JustAGhosT merged 1 commit into
masterfrom
claude/recursing-bardeen-78e807
Aug 20, 2026
Merged

ci(engine): let the ADR 17 sluice metadata tests fail the build#67
JustAGhosT merged 1 commit into
masterfrom
claude/recursing-bardeen-78e807

Conversation

@JustAGhosT

Copy link
Copy Markdown
Collaborator

Promotes tests/test_sluice_request_metadata.py out of the masked continue-on-error test-with-coverage step and into its own enforced step, same pattern already used for quality_engine.

Why: the suite guards the Sluice request-metadata contract (ADR 10, raised to MUST by ADR 17) — every Sluice-bound request must carry {app, agent}, agent stays inside the closed label set, and no provider stack reaches the gateway untagged. Right now it's collected under the broader tests/ step, which has 75 pre-existing failures/56 errors and runs with continue-on-error: true — so a regression here is masked along with everything else. The async ai.core stack in particular never passes base_url explicitly, so OPENAI_BASE_URL/ANTHROPIC_BASE_URL alone can reroute it to Sluice with no metadata block and nothing visible in a diff. Sluice's ADR 17 is heading for stage-3 enforcement (untagged requests get HTTP 400), so this becomes a production failure instead of a lint if it regresses silently here first.

Verified before opening this PR:

  • tests/test_sluice_request_metadata.py exists on current master (path resolves correctly given the job's working-directory: engine default).
  • Ran the suite fresh against current master: 92 passed, 0 failures — matches the original commit's claim, still true today.
  • Branch merges cleanly onto current master, no conflicts.

Single-file CI diff, no application code changes.

engine/tests/test_sluice_request_metadata.py (92 tests) covers the ADR 17
{app, agent} request-metadata contract, including the case where the async
ai.core stack is rerouted to the gateway by OPENAI_BASE_URL / ANTHROPIC_BASE_URL
alone. It lives under tests/, so the only step that ran it was "Run tests with
coverage" — which carries continue-on-error for the 75 pre-existing failures in
that tree, and therefore masked this suite too.

Extend the existing ratchet pattern rather than dropping continue-on-error
wholesale: a sibling enforcing step re-runs the suite (~1 min) so it gates for
real, matching what "Enforce quality_engine tests" already does.

The suite is green at 92 passed. Verified it gates rather than merely runs:
reverting the guard to inspect config only (dropping the SDK env-var arm) fails
10 tests and exits 1.

`if: !cancelled()` so a failure in the quality_engine ratchet reports alongside
this one instead of short-circuiting it.

Refs baton 0525aefd-6903-4da1-9d3c-7541837e2d45

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@JustAGhosT
JustAGhosT merged commit 3b3468a into master Aug 20, 2026
7 checks passed
@JustAGhosT
JustAGhosT deleted the claude/recursing-bardeen-78e807 branch August 20, 2026 07:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant