name: fix-test-fixture-sonnet version: 1 description: Repair broken test fixtures without weakening assertions, Sonnet in worktree (escalation from airouter-impl-narrow/-ready fixture_broken) runtime: code-sonnet-tdd-repo input: state: test-validated tags_forbidden: [security-sensitive] required_artifacts: [test_file] output: state: test-write-pending scope_budget: files_modified_max: 2 lines_diff_max: 60 wall_clock_seconds_max: 900 nodes: - id: agent kind: agent template: code-sonnet-tdd-repo prompt: | A test-validation or implementation attempt against ${artifacts.test_file} was escalated as fixture_broken — the failure is in fixtures, imports, or pytest collection, NOT in missing implementation logic. Repair the fixture/collection problem WITHOUT weakening any test assertion: - Every test in ${artifacts.test_file} MUST remain marked @pytest.mark.xfail(strict=True, reason=": ") against the unimplemented code it exercises. Do not remove, loosen, or convert xfail markers to skip/pass, and do not delete or rewrite assertions to make them pass. - Fix only fixture/conftest/import problems: missing conftest fixtures, broken imports, malformed fixture YAML, incorrect path references. - Check any fixture YAML against these known-bad patterns (the violation codes enforced by scripts/workflow/preflight-fixture-lint in the agent-runtimes repo): MISSING_ALLOW_UNAUTHENTICATED — auth fixture missing allow_unauthenticated: true MISSING_V1_PREFIX — URL path does not start with /v1/ BODY_GET_TYPE — body.get("type") instead of RFC 9457 type field SPACE_ID_PLACEHOLDER — space_id value is "s" or another placeholder TOP_LEVEL_PARAMS — top-level params: key instead of nested under workflow: TOP_LEVEL_NODES — top-level nodes: key instead of nested under workflow: - Do NOT touch the implementation skeleton or any non-test, non-fixture file. Verify the fix with: python -m pytest --collect-only ${artifacts.test_file} Collection MUST succeed and every test MUST still report xfail (not error, not pass). Commit and push to the work branch. escalation: agent_bailed: fix-test-fixture-sonnet