{
  "schema_version": "v1",
  "fixture_id": "api-contract",
  "scenario_type": "api-contract",
  "prompt_path": "prompt.md",
  "repo_path": "repo",
  "expected_workflows": [
    "$spec-plan",
    "$spec-work",
    "$spec-code-review"
  ],
  "expected_changed_paths": [
    "src/api/grants.js",
    "src/client/grants-client.js",
    "tests/unit/grants-api.test.js",
    "docs/contracts/grants-api.md",
    "CHANGELOG.md"
  ],
  "expected_artifacts": [
    {
      "path": "tests/unit/grants-api.test.js",
      "kind": "test",
      "owner": "spec-work"
    },
    {
      "path": "docs/contracts/grants-api.md",
      "kind": "doc",
      "owner": "api-contract"
    }
  ],
  "validation_commands": [
    "npx jest tests/unit/grants-api.test.js --runInBand",
    "node --check src/api/grants.js",
    "node --check src/client/grants-client.js",
    "git diff --check"
  ],
  "quality_signals": [
    "API response shape, client normalization, contract docs, and tests stay aligned.",
    "The change is bounded to the grants API contract surface and changelog.",
    "No unrelated endpoint or consumer behavior is introduced."
  ],
  "semantic_review": {
    "artifact_path": "expected/semantic-review.md",
    "review_mode": "llm-review-pass",
    "status": "recorded"
  }
}
