{
  "schema_version": "spec-first.workflow-eval-fixtures.v1",
  "skill": "spec-app-consistency-audit",
  "description": "Examples-as-context for trigger, near-neighbor boundary, failure, and expected-output coverage. These fixtures are structural source evidence, not semantic output-quality proof.",
  "source_refs": [
    "skills/spec-app-consistency-audit/SKILL.md",
    "skills/spec-app-consistency-audit/references/headless-runner.md",
    "skills/spec-app-consistency-audit/references/mode-output-contract.md"
  ],
  "source_ref_authority": "source",
  "cases": [
    {
      "id": "trigger-cross-source-app-audit",
      "input": "Audit this mobile App feature for consistency across docs/prd.md, a local Figma context JSON, and the app source tree before simulator validation.",
      "coverage_tags": ["trigger"],
      "expected_outcome": [
        "Use spec-app-consistency-audit",
        "compare PRD/Figma/source/page-route/architecture/component/analytics/i18n evidence",
        "stay static-first and recommend runtime follow-up separately"
      ]
    },
    {
      "id": "trigger-headless-code-review-caller",
      "input": "Parent workflow calls mode:headless from:code-review base:main source:app prd:docs/prd.md figma-context:.spec-first/input/figma-context.json.",
      "coverage_tags": ["trigger", "expected"],
      "expected_outcome": [
        "run headless with base:<ref>",
        "ask no user questions",
        "write run-scoped artifacts",
        "return compact headless envelope"
      ]
    },
    {
      "id": "boundary-ordinary-code-review",
      "input": "Review this diff for bugs, security issues, and missing tests; no PRD, Figma, route, or app-consistency scope is provided.",
      "coverage_tags": ["boundary"],
      "source_refs": ["skills/spec-code-review/SKILL.md"],
      "expected_outcome": "Route to spec-code-review instead of app consistency audit.",
      "boundary_note": "Ordinary code-review intent is a near neighbor but lacks cross-source App consistency scope.",
      "forbidden_signals": [
        "app-audit runner dispatch",
        "PRD/Figma/source consistency finding"
      ]
    },
    {
      "id": "boundary-prd-authoring",
      "input": "Create or refine a brownfield PRD for a new App feature; do not compare it to Figma or source yet.",
      "coverage_tags": ["boundary"],
      "source_refs": ["skills/spec-prd/SKILL.md"],
      "expected_outcome": "Route to spec-prd unless the explicit job is PRD/Figma/source consistency.",
      "boundary_note": "PRD drafting and planning-readiness validation are upstream requirements work, not this static consistency audit."
    },
    {
      "id": "boundary-runtime-validation",
      "input": "Run lint, unit tests, Gradle/Xcode build, simulator, real-device, Maestro, Appium, or cloud-device validation for the App.",
      "coverage_tags": ["boundary"],
      "expected_outcome": "Run the requested command or route to a later runtime workflow; do not use the static app audit workflow.",
      "boundary_note": "This workflow may recommend runtime verification but must not execute runtime validation by default.",
      "forbidden_signals": [
        "simulator launch",
        "real-device execution",
        "Maestro/Appium/cloud-device run"
      ]
    },
    {
      "id": "boundary-ui-polish",
      "input": "Open the implemented App screen and iterate on visual polish, layout, and interaction details.",
      "coverage_tags": ["boundary"],
      "source_refs": ["skills/spec-polish-beta/SKILL.md"],
      "expected_outcome": "Route to spec-polish-beta after an inspectable runtime target exists.",
      "boundary_note": "Post-implementation UI polish is an interactive runtime loop, not static consistency audit."
    },
    {
      "id": "failure-headless-missing-base",
      "input": "mode:headless source:app prd:docs/prd.md figma-context:.spec-first/input/figma-context.json",
      "coverage_tags": ["failure", "expected"],
      "expected_outcome": {
        "reason_code": "scope_headless_missing_base",
        "artifact_posture": "failed envelope",
        "question_policy": "ask no user questions"
      }
    },
    {
      "id": "failure-figma-reference-only",
      "input": "mode:headless base:main source:app prd:docs/prd.md figma-ref:https://figma.com/file/example",
      "coverage_tags": ["failure", "expected"],
      "expected_outcome": {
        "degraded_mode": "input_figma_reference_only",
        "remote_fetch": "forbidden in headless/report-only",
        "finding_posture": "design-alignment findings remain skipped or advisory without local materialized context"
      }
    },
    {
      "id": "expected-no-raw-issues",
      "input": "mode:headless base:main source:app with no staged raw issues or --raw-issues file.",
      "coverage_tags": ["expected"],
      "expected_outcome": [
        "issue_synthesis_status: not_run",
        "Verdict: Awaiting LLM audit",
        "runner must not invent issues"
      ]
    },
    {
      "id": "expected-secret-redaction",
      "input": "PRD, Figma, source, or artifacts include a token-bearing URL, cookie, Authorization header, or OAuth token while rendering reports and headless envelopes.",
      "coverage_tags": ["expected", "boundary"],
      "expected_outcome": [
        "redact token-bearing URLs, cookies, Authorization headers, and OAuth tokens",
        "do not write secrets into reports, summaries, manifests, or headless envelopes"
      ],
      "boundary_note": "Security/privacy evidence is an output contract boundary, not permission to retain raw secrets.",
      "forbidden_signals": [
        "raw Authorization header in report",
        "token-bearing URL in envelope",
        "cookie value in manifest"
      ]
    }
  ]
}
