{
  "generatedBy": "go generate ./internal/state; DO NOT EDIT",
  "schemaVersion": 4,
  "authorityPolicy": {
    "principlesTrust": "Project principles may become project policy only after explicit provenance and validation; arbitrary project-local Markdown is never inherently trusted executable instruction.",
    "trackedState": [
      ".devrites/specs/"
    ],
    "localState": [
      ".devrites/work/",
      ".devrites/archive/",
      ".devrites/ACTIVE"
    ]
  },
  "phases": [
    {
      "id": "frame",
      "resumeVerb": "frame",
      "transitionRight": "Frame an unstructured request before lifecycle work.",
      "workspaceRequired": [
        "state.md"
      ]
    },
    {
      "id": "spec",
      "resumeVerb": "spec",
      "transitionRight": "Author the product specification.",
      "requiredSections": [
        "spec"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md"
      ]
    },
    {
      "id": "clarify",
      "resumeVerb": "clarify",
      "transitionRight": "Close decision coverage in the written specification.",
      "requiredSections": [
        "spec"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md",
        "decision-coverage.md"
      ],
      "blocksOpenQuestions": true
    },
    {
      "id": "temper",
      "resumeVerb": "temper",
      "transitionRight": "Optionally challenge the clarified specification strategy.",
      "requiredSections": [
        "spec"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md",
        "decision-coverage.md"
      ],
      "blocksOpenQuestions": true
    },
    {
      "id": "define",
      "resumeVerb": "define",
      "transitionRight": "Author and approve the initial implementation plan.",
      "requiredSections": [
        "spec",
        "plan"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md",
        "decision-coverage.md",
        "architecture.md",
        "plan.md",
        "tasks.md",
        "traceability.md"
      ],
      "blocksOpenQuestions": true
    },
    {
      "id": "plan",
      "resumeVerb": "vet",
      "transitionRight": "Hold the approved or repaired plan checkpoint for engineering review.",
      "requiredSections": [
        "spec",
        "plan"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md",
        "decision-coverage.md",
        "architecture.md",
        "plan.md",
        "tasks.md",
        "traceability.md"
      ],
      "blocksOpenQuestions": true
    },
    {
      "id": "vet",
      "resumeVerb": "vet",
      "transitionRight": "Review implementation readiness before build.",
      "requiredSections": [
        "spec",
        "plan",
        "decisions",
        "tasks"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md",
        "decision-coverage.md",
        "architecture.md",
        "plan.md",
        "tasks.md",
        "traceability.md",
        "eng-review.md",
        "test-plan.md",
        "gates.md"
      ],
      "blocksOpenQuestions": true
    },
    {
      "id": "build",
      "resumeVerb": "build",
      "transitionRight": "Implement the next approved vertical slice.",
      "requiredSections": [
        "spec",
        "plan",
        "decisions",
        "tasks"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md",
        "decision-coverage.md",
        "architecture.md",
        "plan.md",
        "tasks.md",
        "traceability.md",
        "eng-review.md",
        "test-plan.md",
        "gates.md"
      ],
      "blocksOpenQuestions": true
    },
    {
      "id": "converge",
      "resumeVerb": "converge",
      "transitionRight": "Recover unmet clarified intent into new slices.",
      "requiredSections": [
        "spec",
        "plan",
        "decisions",
        "tasks"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md",
        "decision-coverage.md",
        "architecture.md",
        "plan.md",
        "tasks.md",
        "traceability.md",
        "eng-review.md",
        "test-plan.md",
        "gates.md"
      ],
      "blocksOpenQuestions": true
    },
    {
      "id": "prove",
      "resumeVerb": "prove",
      "transitionRight": "Produce acceptance evidence for the implementation.",
      "requiredSections": [
        "spec",
        "plan",
        "decisions",
        "tasks",
        "proof"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md",
        "decision-coverage.md",
        "architecture.md",
        "plan.md",
        "tasks.md",
        "traceability.md",
        "eng-review.md",
        "test-plan.md",
        "gates.md",
        "evidence.md",
        "touched-files.md"
      ],
      "proofRequired": true,
      "blocksOpenQuestions": true
    },
    {
      "id": "polish",
      "resumeVerb": "polish",
      "transitionRight": "Apply the bounded quality pass.",
      "requiredSections": [
        "spec",
        "plan",
        "decisions",
        "tasks",
        "proof"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md",
        "decision-coverage.md",
        "architecture.md",
        "plan.md",
        "tasks.md",
        "traceability.md",
        "eng-review.md",
        "test-plan.md",
        "gates.md",
        "evidence.md",
        "touched-files.md"
      ],
      "proofRequired": true,
      "blocksOpenQuestions": true
    },
    {
      "id": "review",
      "resumeVerb": "review",
      "transitionRight": "Review the proven implementation.",
      "requiredSections": [
        "spec",
        "plan",
        "decisions",
        "tasks",
        "proof"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md",
        "decision-coverage.md",
        "architecture.md",
        "plan.md",
        "tasks.md",
        "traceability.md",
        "eng-review.md",
        "test-plan.md",
        "gates.md",
        "evidence.md",
        "touched-files.md"
      ],
      "proofRequired": true,
      "blocksOpenQuestions": true
    },
    {
      "id": "seal",
      "resumeVerb": "seal",
      "transitionRight": "Decide the final GO or NO-GO.",
      "requiredSections": [
        "spec",
        "plan",
        "decisions",
        "tasks",
        "proof",
        "status"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md",
        "decision-coverage.md",
        "architecture.md",
        "plan.md",
        "tasks.md",
        "traceability.md",
        "eng-review.md",
        "test-plan.md",
        "gates.md",
        "evidence.md",
        "touched-files.md",
        "review.md",
        "seal.md"
      ],
      "proofRequired": true,
      "blocksOpenQuestions": true,
      "shippable": true
    },
    {
      "id": "ship",
      "resumeVerb": "ship",
      "transitionRight": "Perform authorized release and close-out mutations.",
      "requiredSections": [
        "spec",
        "plan",
        "decisions",
        "tasks",
        "proof",
        "status"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md",
        "decision-coverage.md",
        "architecture.md",
        "plan.md",
        "tasks.md",
        "traceability.md",
        "eng-review.md",
        "test-plan.md",
        "gates.md",
        "evidence.md",
        "touched-files.md",
        "review.md",
        "seal.md"
      ],
      "proofRequired": true,
      "blocksOpenQuestions": true,
      "shippable": true
    },
    {
      "id": "done",
      "transitionRight": "Represent archived completion with no resume command.",
      "requiredSections": [
        "spec",
        "plan",
        "decisions",
        "tasks",
        "proof",
        "status"
      ],
      "workspaceRequired": [
        "brief.md",
        "spec.md",
        "state.md",
        "decisions.md",
        "assumptions.md",
        "questions.md",
        "decision-coverage.md",
        "architecture.md",
        "plan.md",
        "tasks.md",
        "traceability.md",
        "eng-review.md",
        "test-plan.md",
        "gates.md",
        "evidence.md",
        "touched-files.md",
        "review.md",
        "seal.md"
      ],
      "proofRequired": true,
      "blocksOpenQuestions": true,
      "shippable": true
    }
  ],
  "cursorKeyAliases": [
    {
      "alias": "nextstep",
      "canonical": "next_action"
    },
    {
      "alias": "qid",
      "canonical": "question_id"
    }
  ]
}
