{
  "schema_version": "spec-first.workflow-eval-fixtures.v1",
  "skill": "spec-compound",
  "description": "Examples-as-context for spec-compound trigger and boundary coverage. They are not a deterministic router.",
  "source_refs": [
    "skills/spec-compound/SKILL.md",
    "skills/spec-compound/references/domain-model-capture.md",
    "skills/spec-compound/references/concepts-vocabulary.md",
    "skills/spec-compound/references/schema.yaml",
    "skills/spec-compound/assets/resolution-template.md"
  ],
  "source_ref_authority": "source",
  "cases": [
    {
      "id": "recently-solved-reusable-problem",
      "input": "We just fixed a recurring runtime drift issue; capture the reusable lesson for future agents.",
      "coverage_tags": ["trigger", "knowledge-promotion"],
      "expected_outcome": "Create one source-confirmed docs/solutions learning with evidence paths and invalidation conditions."
    },
    {
      "id": "review-pattern-worth-capturing",
      "input": "The last review found a repeated class of source/runtime boundary mistakes across multiple workflows.",
      "coverage_tags": ["trigger", "knowledge-promotion"],
      "expected_outcome": "Capture the generalizable review heuristic if the lesson is verified and not already documented."
    },
    {
      "id": "unresolved-finding-boundary",
      "input": "A reviewer suspects a bug but no test or source evidence confirms it yet; compound it.",
      "coverage_tags": ["boundary", "knowledge-promotion-gate"],
      "expected_outcome": "Do not promote unresolved or advisory findings into durable knowledge.",
      "boundary_note": "Knowledge promotion requires verified, reusable evidence."
    },
    {
      "id": "one-off-cosmetic-boundary",
      "input": "We fixed a typo in one Markdown file; write a reusable solution doc.",
      "coverage_tags": ["boundary", "scope-boundary"],
      "expected_outcome": "Skip compound because one-off cosmetic edits do not carry a durable reusable lesson.",
      "boundary_note": "Compound is not a mandatory completion gate for every small change."
    },
    {
      "id": "raw-transcript-boundary",
      "input": "Archive the entire debug transcript and raw logs into docs/solutions.",
      "coverage_tags": ["boundary", "evidence-boundary"],
      "expected_outcome": "Summarize the reusable lesson and cite compact evidence; do not copy raw transcripts or unsafe logs.",
      "boundary_note": "Durable knowledge should preserve source-confirmed lessons, not raw session dumps."
    },
    {
      "id": "domain-term-existing-concepts-update-only",
      "input": "The solved issue clarified the project-specific meaning of Generated Runtime versus Source Of Truth, and this repo already has CONCEPTS.md.",
      "coverage_tags": ["domain-model-capture", "vocabulary", "knowledge-promotion"],
      "expected_outcome": "Write or update one docs/solutions learning first, then refine the existing CONCEPTS.md entry only if the source-confirmed lesson adds durable precision.",
      "boundary_note": "Domain vocabulary maintenance is update-only and remains advisory."
    },
    {
      "id": "general-engineering-term-not-captured",
      "input": "The solution involved a retry, timeout, parser, and error handler; add all of those to the project vocabulary.",
      "coverage_tags": ["boundary", "vocabulary", "domain-model-capture"],
      "expected_outcome": "Do not add mainstream engineering terms to CONCEPTS.md; cite concrete source paths or keep implementation details in the learning instead.",
      "boundary_note": "General programming vocabulary is not a project-specific domain model signal."
    },
    {
      "id": "routine-decision-no-adr",
      "input": "We chose the nearest existing helper because it was the obvious one-line implementation; create an ADR for the decision.",
      "coverage_tags": ["boundary", "adr", "domain-model-capture"],
      "expected_outcome": "Do not create or recommend an ADR because the decision is easy to reverse, unsurprising, and not a real tradeoff.",
      "boundary_note": "ADR candidates require hard to reverse, surprising without context, and real tradeoff."
    },
    {
      "id": "missing-context-no-bootstrap",
      "input": "The learning clarified a project term but this repo has no CONTEXT.md or CONTEXT-MAP.md.",
      "coverage_tags": ["boundary", "context-topology", "domain-model-capture"],
      "expected_outcome": "Do not bootstrap CONTEXT.md or CONTEXT-MAP.md from an ordinary compound run; keep the term in the solution doc and update CONCEPTS.md only if it already exists.",
      "boundary_note": "Context topology is preview-only unless separately scoped by the user."
    },
    {
      "id": "overbroad-vocabulary-capture",
      "input": "A compound run mentioned Verification Run Summary, timeout, retry, parser, migration, and CLI flag; capture them all as vocabulary.",
      "coverage_tags": ["boundary", "vocabulary", "domain-model-capture"],
      "expected_outcome": "Recommend only the project-specific term if it adds durable precision; explicitly leave the general engineering words uncaptured.",
      "boundary_note": "One qualifying term in a noisy lesson must not pull general terms into advisory vocabulary."
    }
  ]
}
