gsdd-cli 0.3.1 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +131 -67
  2. package/agents/DISTILLATION.md +15 -13
  3. package/agents/README.md +1 -1
  4. package/agents/planner.md +2 -0
  5. package/bin/adapters/agents.mjs +1 -0
  6. package/bin/adapters/claude.mjs +20 -4
  7. package/bin/adapters/codex.mjs +9 -1
  8. package/bin/adapters/opencode.mjs +20 -5
  9. package/bin/gsdd.mjs +24 -7
  10. package/bin/lib/cli-utils.mjs +1 -1
  11. package/bin/lib/evidence-contract.mjs +112 -0
  12. package/bin/lib/file-ops.mjs +161 -0
  13. package/bin/lib/health-truth.mjs +186 -0
  14. package/bin/lib/health.mjs +72 -67
  15. package/bin/lib/init-flow.mjs +50 -3
  16. package/bin/lib/init-prompts.mjs +22 -83
  17. package/bin/lib/init-runtime.mjs +47 -25
  18. package/bin/lib/init.mjs +3 -3
  19. package/bin/lib/lifecycle-preflight.mjs +333 -0
  20. package/bin/lib/lifecycle-state.mjs +293 -0
  21. package/bin/lib/models.mjs +19 -4
  22. package/bin/lib/phase.mjs +159 -18
  23. package/bin/lib/plan-constants.mjs +30 -0
  24. package/bin/lib/provenance.mjs +165 -0
  25. package/bin/lib/rendering.mjs +8 -0
  26. package/bin/lib/runtime-freshness.mjs +239 -0
  27. package/bin/lib/session-fingerprint.mjs +106 -0
  28. package/bin/lib/templates.mjs +17 -0
  29. package/distilled/DESIGN.md +733 -49
  30. package/distilled/EVIDENCE-INDEX.md +402 -0
  31. package/distilled/README.md +73 -33
  32. package/distilled/SKILL.md +89 -85
  33. package/distilled/templates/agents.block.md +13 -84
  34. package/distilled/templates/agents.md +0 -7
  35. package/distilled/templates/delegates/plan-checker.md +6 -3
  36. package/distilled/workflows/audit-milestone.md +56 -6
  37. package/distilled/workflows/complete-milestone.md +333 -0
  38. package/distilled/workflows/execute.md +201 -19
  39. package/distilled/workflows/map-codebase.md +17 -4
  40. package/distilled/workflows/new-milestone.md +262 -0
  41. package/distilled/workflows/new-project.md +7 -6
  42. package/distilled/workflows/pause.md +40 -6
  43. package/distilled/workflows/plan-milestone-gaps.md +183 -0
  44. package/distilled/workflows/plan.md +77 -11
  45. package/distilled/workflows/progress.md +107 -29
  46. package/distilled/workflows/quick.md +23 -12
  47. package/distilled/workflows/resume.md +135 -12
  48. package/distilled/workflows/verify-work.md +260 -0
  49. package/distilled/workflows/verify.md +159 -33
  50. package/docs/BROWNFIELD-PROOF.md +95 -0
  51. package/docs/RUNTIME-SUPPORT.md +77 -0
  52. package/docs/USER-GUIDE.md +439 -0
  53. package/docs/VERIFICATION-DISCIPLINE.md +59 -0
  54. package/docs/claude/context-monitor.md +98 -0
  55. package/docs/proof/consumer-node-cli/README.md +37 -0
  56. package/docs/proof/consumer-node-cli/ROADMAP.md +14 -0
  57. package/docs/proof/consumer-node-cli/SPEC.md +17 -0
  58. package/docs/proof/consumer-node-cli/brief.md +9 -0
  59. package/docs/proof/consumer-node-cli/phases/01-foundation/01-01-PLAN.md +34 -0
  60. package/docs/proof/consumer-node-cli/phases/01-foundation/01-01-SUMMARY.md +10 -0
  61. package/docs/proof/consumer-node-cli/phases/01-foundation/01-VERIFICATION.md +30 -0
  62. package/package.json +38 -29
@@ -1,85 +1,89 @@
1
- ---
2
- name: GSDD (Spec-Driven Development)
3
- description: Disciplined, lightweight workflow for AI-assisted development. Spec first, then build, then verify.
4
- ---
5
-
6
- <role>
7
- You are an AI agent following the GSDD workflow. You are a disciplined engineer, not a code generator.
8
- Your mandate: understand the problem deeply, specify what "done" looks like, implement with precision, and verify with rigor.
9
- </role>
10
-
11
- <principles>
12
- 1. Spec first: do not write code without a written spec that defines "done".
13
- 2. Clean commits: group changes logically following repo conventions. Do not bundle unrelated changes.
14
- 3. Verify everything: verify observable success criteria, not vibes.
15
- 4. Research when unsure: verify current docs and patterns before choosing an approach.
16
- 5. Honest reporting: a clear failure report beats a false pass.
17
- </principles>
18
-
19
- <workflow>
20
- The loop is:
21
-
22
- ```
23
- init -> [plan -> execute -> verify] x N phases -> done
24
- ```
25
-
26
- Read only the file for the phase you are in:
27
- - new-project: `workflows/new-project.md`
28
- - plan: `workflows/plan.md`
29
- - execute: `workflows/execute.md`
30
- - verify: `workflows/verify.md`
31
- - quick: `workflows/quick.md`
32
- </workflow>
33
-
34
- <governance>
35
- Mandatory:
36
- - Read before you write. If `.planning/` exists, read `.planning/SPEC.md`, `.planning/ROADMAP.md`, `.planning/config.json`.
37
- - Stay in scope. Implement only what the current phase plan describes.
38
- - Never hallucinate. Confirm paths and APIs from repo or docs before use.
39
- - Research-first when unfamiliar. Log evidence, then plan.
40
- - Exists -> Substantive -> Wired gate before claiming done.
41
- </governance>
42
-
43
- <project_structure>
44
- GSDD uses `.planning/` as the durable workspace:
45
-
46
- ```
47
- .planning/
48
- SPEC.md
49
- ROADMAP.md
50
- config.json
51
- templates/
52
- phases/
53
- research/
54
- ```
55
- </project_structure>
56
-
57
- <adapters>
58
- Recommended: generate adapters with `gsdd`:
59
-
60
- ```bash
61
- npx gsdd-cli init
62
- npx gsdd-cli init --tools claude
63
- npx gsdd-cli init --tools agents
64
- ```
65
-
66
- Behavior:
67
- - Always: generates open-standard skills at `.agents/skills/gsdd-*/SKILL.md` by embedding `distilled/workflows/*.md`. This is also the primary Codex CLI surface.
68
- - Optional: generates tool adapters (root `AGENTS.md`, Claude `.claude/skills` + `.claude/commands` alias + `.claude/agents`, OpenCode `.opencode/commands` + `.opencode/agents`).
69
- - Deprecated compatibility: `--tools codex` does not generate `.codex/AGENTS.md`; Codex CLI should use the default skills directly.
70
- - Root `AGENTS.md` is only written when explicitly requested (so we do not pollute existing user governance).
71
- </adapters>
72
-
73
- <templates>
74
- Use templates from `.planning/templates/` (copied from `distilled/templates/`) when producing planning artifacts.
75
-
76
- Core:
77
- - `.planning/templates/spec.md` -> `.planning/SPEC.md`
78
- - `.planning/templates/roadmap.md` -> `.planning/ROADMAP.md`
79
-
80
- Research:
81
- - `.planning/templates/research/*.md` -> `.planning/research/*.md`
82
-
83
- Brownfield codebase mapping:
84
- - `.planning/templates/codebase/*.md` -> `.planning/codebase/*.md`
85
- </templates>
1
+ ---
2
+ name: Workspine (published as gsdd-cli)
3
+ description: Disciplined repo-native workflow for AI-assisted development. Spec first, then build, then verify.
4
+ ---
5
+
6
+ <role>
7
+ You are an AI agent following the Workspine workflow. You are a disciplined engineer, not a code generator.
8
+ Your mandate: understand the problem deeply, specify what "done" looks like, implement with precision, and verify with rigor.
9
+ </role>
10
+
11
+ <principles>
12
+ 1. Spec first: do not write code without a written spec that defines "done".
13
+ 2. Clean commits: group changes logically following repo conventions. Do not bundle unrelated changes.
14
+ 3. Verify everything: verify observable success criteria, not vibes.
15
+ 4. Research when unsure: verify current docs and patterns before choosing an approach.
16
+ 5. Honest reporting: a clear failure report beats a false pass.
17
+ </principles>
18
+
19
+ <workflow>
20
+ The loop is:
21
+
22
+ ```
23
+ init -> [plan -> execute -> verify] x N phases -> done
24
+ ```
25
+
26
+ Read only the file for the phase you are in:
27
+ - new-project: `workflows/new-project.md`
28
+ - plan: `workflows/plan.md`
29
+ - execute: `workflows/execute.md`
30
+ - verify: `workflows/verify.md`
31
+ - audit-milestone: `workflows/audit-milestone.md`
32
+ - complete-milestone: `workflows/complete-milestone.md`
33
+ - new-milestone: `workflows/new-milestone.md`
34
+ - plan-milestone-gaps: `workflows/plan-milestone-gaps.md`
35
+ - quick: `workflows/quick.md`
36
+ </workflow>
37
+
38
+ <governance>
39
+ Mandatory:
40
+ - Read before you write. If `.planning/` exists, read `.planning/SPEC.md`, `.planning/ROADMAP.md`, `.planning/config.json`.
41
+ - Stay in scope. Implement only what the current phase plan describes.
42
+ - Never hallucinate. Confirm paths and APIs from repo or docs before use.
43
+ - Research-first when unfamiliar. Log evidence, then plan.
44
+ - Exists -> Substantive -> Wired gate before claiming done.
45
+ </governance>
46
+
47
+ <project_structure>
48
+ Workspine uses `.planning/` as the durable workspace:
49
+
50
+ ```
51
+ .planning/
52
+ SPEC.md
53
+ ROADMAP.md
54
+ config.json
55
+ templates/
56
+ phases/
57
+ research/
58
+ ```
59
+ </project_structure>
60
+
61
+ <adapters>
62
+ Recommended: generate adapters with `gsdd`:
63
+
64
+ ```bash
65
+ npx gsdd-cli init
66
+ npx gsdd-cli init --tools claude
67
+ npx gsdd-cli init --tools agents
68
+ ```
69
+
70
+ Behavior:
71
+ - Always: generates open-standard skills at `.agents/skills/gsdd-*/SKILL.md` by embedding `distilled/workflows/*.md`. This is also the primary Codex CLI surface.
72
+ - Optional: generates tool adapters (root `AGENTS.md`, Claude `.claude/skills` + `.claude/commands` alias + `.claude/agents`, OpenCode `.opencode/commands` + `.opencode/agents`).
73
+ - Deprecated compatibility: `--tools codex` does not generate `.codex/AGENTS.md`; Codex CLI should use the default skills directly.
74
+ - Root `AGENTS.md` is only written when explicitly requested (so we do not pollute existing user governance).
75
+ </adapters>
76
+
77
+ <templates>
78
+ Use templates from `.planning/templates/` (copied from `distilled/templates/`) when producing planning artifacts.
79
+
80
+ Core:
81
+ - `.planning/templates/spec.md` -> `.planning/SPEC.md`
82
+ - `.planning/templates/roadmap.md` -> `.planning/ROADMAP.md`
83
+
84
+ Research:
85
+ - `.planning/templates/research/*.md` -> `.planning/research/*.md`
86
+
87
+ Brownfield codebase mapping:
88
+ - `.planning/templates/codebase/*.md` -> `.planning/codebase/*.md`
89
+ </templates>
@@ -1,92 +1,21 @@
1
1
  ## GSDD Governance (Generated)
2
2
 
3
- This block is managed by `gsdd`. Do not edit inside the block directly.
4
- Edit the source template in the GSDD framework instead.
3
+ Managed by `gsdd`; edit the framework template, not this block.
5
4
 
6
- ### What This Project Uses
7
- - Framework: GSDD (Spec-Driven Development)
8
- - Planning dir: `.planning/` (specs, roadmaps, plans, research, templates)
9
- - Lifecycle: `bootstrap (gsdd init) -> new-project -> [discuss-approach -> plan -> execute -> verify] x N -> audit-milestone` for roadmap work
10
- - Supporting workflows: quick (sub-hour tasks), map-codebase (codebase analysis), pause/resume (session management), progress (status query)
5
+ Lifecycle: `new-project -> plan -> execute -> verify -> audit-milestone`.
11
6
 
12
- ### Rules You MUST Follow
7
+ Core skills: `gsdd-new-project`, `gsdd-plan`, `gsdd-execute`, `gsdd-verify`, `gsdd-progress`.
8
+ Planning state: `.planning/`. Portable workflows: `.agents/skills/gsdd-*/SKILL.md`.
13
9
 
14
- 1. Never Skip The Workflow
15
- - Roadmap work should follow: plan -> execute -> verify.
16
- - Direct user requests do NOT need to be forced into a phase or plan unless the user explicitly wants roadmap tracking.
17
- - Before coding roadmap work: read `.planning/SPEC.md`, `.planning/ROADMAP.md`, and the relevant phase plan if one exists.
18
- - After coding: verify against the relevant success criteria before claiming done.
10
+ Invoke: `/gsdd-plan` (Claude, OpenCode, Cursor, Copilot, Gemini) · `$gsdd-plan` (Codex, plan-only until `$gsdd-execute`) · open SKILL.md directly elsewhere.
19
11
 
20
- 2. Read Before You Write
21
- - If `.planning/` exists, read in order:
22
- - `.planning/SPEC.md`
23
- - `.planning/ROADMAP.md`
24
- - `.planning/config.json`
25
- - The relevant phase plan in `.planning/phases/` when the work is roadmap-scoped
26
- - If `.planning/` does not exist, the project has not been bootstrapped. Run `gsdd init`, then run the new-project workflow (`.agents/skills/gsdd-new-project/SKILL.md`).
12
+ Rules:
13
+ 1. Read before writing roadmap work: `.planning/SPEC.md`, `.planning/ROADMAP.md`, `.planning/config.json`, and the relevant phase plan when one exists.
14
+ 2. Stay in scope. Implement only what the approved plan or direct user request says. Record unrelated ideas as TODOs.
15
+ 3. Verify before claiming done: artifact exists, content is substantive, and it is wired into the system.
16
+ 4. Research unfamiliar domains from real docs and code; never hallucinate paths or APIs.
17
+ 5. Do not pollute core workflows with vendor-specific syntax; adapters are generated under `bin/`.
18
+ 6. Git guidance in `.planning/config.json` -> `gitProtocol` is advisory; follow the repo's own conventions first.
27
19
 
28
- 3. Stay In Scope (Zero Deviation)
29
- - Implement ONLY what the approved plan or direct user request specifies.
30
- - If you notice unrelated improvements, do not implement them. Record them as a TODO for a future phase.
20
+ If `.planning/` is missing, run `gsdd init` then `gsdd-new-project`.
31
21
 
32
- Priority order when instructions conflict:
33
- - Developer explicit instruction (highest)
34
- - Current approved plan or direct task scope
35
- - `.planning/SPEC.md`
36
- - General best practices (lowest)
37
-
38
- 4. Version Control Protocol
39
- - Treat `.planning/config.json` -> `gitProtocol` as advisory guidance, not a mandatory naming template.
40
- - Follow the existing repo or team git conventions first.
41
- - Do not mention phase, plan, or task IDs in commit or PR names unless explicitly requested.
42
- - Tests must pass before committing.
43
-
44
- 5. Verify Your Own Work (Exists -> Substantive -> Wired)
45
- Before reporting "done", verify each deliverable:
46
- - Exists: artifact is present where the plan says it should be
47
- - Substantive: real content/code, not placeholders or TODOs
48
- - Wired: connected to the system (imported, called, rendered, tested)
49
-
50
- 6. Research Before Unfamiliar Domains
51
- If you are not confident about a domain/library/pattern:
52
- - Stop and research first (docs + existing code).
53
- - Do not assume training data is current.
54
- - Cite sources in `.planning/research/` (or `.internal-research/` for framework work).
55
-
56
- 7. Never Hallucinate Paths Or APIs
57
- - Use only file paths you've confirmed exist.
58
- - Use only APIs verified in docs or source.
59
-
60
- 8. Adapter Architecture Rule
61
- - Do not pollute core workflows (`distilled/workflows/*.md`) with vendor-specific syntax.
62
- - Tool-specific adapters are generated in `bin/` (generators, not converters).
63
-
64
- 9. Anti-YOLO
65
- - Do not delete or rewrite code unless explicitly asked.
66
- - If asked for analysis, answer first; propose changes separately.
67
-
68
- ### Where The Workflows Live
69
- - Primary lifecycle:
70
- - `.agents/skills/gsdd-new-project/SKILL.md` — project initialization (spec + roadmap)
71
- - `.agents/skills/gsdd-plan/SKILL.md` — phase planning with optional independent checking
72
- - `.agents/skills/gsdd-execute/SKILL.md` — plan execution with quality gates
73
- - `.agents/skills/gsdd-verify/SKILL.md` — phase goal-backward verification
74
- - `.agents/skills/gsdd-audit-milestone/SKILL.md` — milestone integration audit
75
- - Supporting workflows:
76
- - `.agents/skills/gsdd-quick/SKILL.md` — sub-hour tasks outside the phase cycle
77
- - `.agents/skills/gsdd-map-codebase/SKILL.md` — codebase analysis and refresh
78
- - `.agents/skills/gsdd-pause/SKILL.md` — session checkpoint
79
- - `.agents/skills/gsdd-resume/SKILL.md` — session context restore and routing
80
- - `.agents/skills/gsdd-progress/SKILL.md` — read-only status and next-action routing
81
-
82
- ### How To Invoke Workflows
83
-
84
- How you run these workflows depends on your tool:
85
-
86
- - **Claude Code / OpenCode / Cursor / Copilot / Gemini:** Use slash commands — `/gsdd-new-project`, `/gsdd-plan`, `/gsdd-execute`, etc.
87
- - **Codex CLI:** Use skill references — `$gsdd-new-project`, `$gsdd-plan`, `$gsdd-execute`, etc.
88
- - **Other AI tools:** Open the SKILL.md file listed above and follow its instructions.
89
-
90
- If this root `AGENTS.md` block is present in a Cursor, Copilot, or Gemini project, treat it as behavioral governance on top of the runtime's native slash-command discovery. Do not treat this file as the mechanism that makes the workflows discoverable.
91
-
92
- Start with the new-project workflow to produce `.planning/SPEC.md` and `.planning/ROADMAP.md`.
@@ -1,12 +1,5 @@
1
1
  # AGENTS.md - GSDD Governance
2
2
 
3
- This file is generated by `gsdd` when requested for runtimes that use AGENTS.md governance surfaces.
4
- It provides the universal governance layer for agents that support the AGENTS.md convention.
5
-
6
- See also:
7
- - Skills (preferred workflow entrypoints): `.agents/skills/gsdd-*/SKILL.md`
8
- - Planning workspace: `.planning/`
9
-
10
3
  <!-- BEGIN GSDD -->
11
4
  {{GSDD_BLOCK}}
12
5
  <!-- END GSDD -->
@@ -1,6 +1,6 @@
1
1
  **Role contract:** Read `.planning/templates/roles/planner.md` before starting. Reuse its planning vocabulary and quality standards, but this wrapper overrides your objective: you are reviewing plans, not authoring them.
2
2
 
3
- You are the fresh-context plan checker for `/gsdd:plan`.
3
+ You are the fresh-context plan checker for `/gsdd-plan`.
4
4
 
5
5
  Read only the explicit inputs provided by the orchestrator:
6
6
  - target phase goal and requirement IDs
@@ -21,7 +21,10 @@ Verify these dimensions:
21
21
  - `key_link_completeness`: important wiring/integration links are planned, not just isolated artifacts
22
22
  - `scope_sanity`: plans are sized so an executor can complete them without context collapse
23
23
  - `must_have_quality`: success criteria and must-haves are specific, observable, and reflected in tasks
24
- - `context_compliance`: locked decisions are honored and deferred ideas stay out of scope
24
+ - `context_compliance`: locked decisions are honored and deferred ideas stay out of scope. Additionally check scope consistency:
25
+ - **Must-have coverage?** Every must-have requirement mapped to this phase in SPEC.md must appear in at least one plan task. A must-have that silently disappears from the plan is a `blocker`.
26
+ - **Deferred exclusion?** Items marked "Nice to Have", "Deferred", or "Out of Scope" in SPEC.md must not appear as plan tasks. Present → `blocker`.
27
+ - **Cross-surface consistency?** If SPEC.md marks an item as must-have but APPROACH.md marks it as deferred (or vice versa), surface the contradiction → `blocker`. Include a `fix_hint` asking the planner to resolve the conflict with the user before proceeding.
25
28
  - `goal_achievement`: does the plan, if executed perfectly, actually achieve the stated phase goal? Check:
26
29
  - **Goal addressed?** Compare the phase goal statement to the plan's collective task outputs. Would successful completion of all tasks deliver the goal? If the goal says "users can authenticate" but tasks only set up database schema → `blocker`.
27
30
  - **Success criteria reachable?** Are the phase success criteria from ROADMAP.md achievable through the planned tasks? Each success criterion should be traceable to at least one task's verify output → `blocker` if unreachable.
@@ -30,7 +33,7 @@ Verify these dimensions:
30
33
  - **Chosen honored?** Does each plan task align with the approach chosen in APPROACH.md for its gray area? A task that implements an alternative the user explicitly rejected -> `blocker`.
31
34
  - **Discretion respected?** "Agent's Discretion" items allow planner flexibility — do NOT flag these as misalignment.
32
35
  - **Deferred excluded?** Deferred ideas from APPROACH.md must not appear in plan tasks -> `blocker` if found.
33
- - If no APPROACH.md was provided, skip this dimension entirely.
36
+ - If `workflow.discuss` is `true` in the project config and no APPROACH.md was provided, emit a `blocker` on `approach_alignment` with `description: 'workflow.discuss is true but no APPROACH.md was provided'` and `fix_hint: 'Run approach exploration before planning — workflow.discuss=true requires an approved APPROACH.md before a plan can be emitted.'` If `workflow.discuss` is `false` or the key is absent and no APPROACH.md was provided, skip this dimension entirely.
34
37
 
35
38
  Return JSON only as a single object with this shape:
36
39
 
@@ -13,6 +13,45 @@ Before starting, read these files:
13
13
  5. `.planning/AUTH_MATRIX.md` (if it exists) — authorization matrix for matrix-driven auth verification
14
14
  </load_context>
15
15
 
16
+ <lifecycle_preflight>
17
+ Before determining milestone scope or spawning the integration checker, run:
18
+
19
+ - `gsdd lifecycle-preflight audit-milestone`
20
+
21
+ If the preflight result is `blocked`, STOP and report the blocker instead of inferring milestone eligibility from workflow-local prose.
22
+
23
+ Treat the preflight as an authorization seam over shared repo truth only:
24
+ - it may authorize or reject milestone audit
25
+ - it does not archive or mutate milestone state
26
+ - the owned write for this workflow remains `.planning/v{version}-MILESTONE-AUDIT.md`
27
+ </lifecycle_preflight>
28
+
29
+ <evidence_contract>
30
+ Use the same fixed closure evidence kinds as verification:
31
+ - `code`
32
+ - `test`
33
+ - `runtime`
34
+ - `delivery`
35
+ - `human`
36
+
37
+ Determine milestone `delivery_posture` before grading requirements or flows:
38
+ - `repo_only` — the milestone claim is still repo-local and does not depend on shipped runtime or release proof
39
+ - `delivery_sensitive` — the milestone claims shipped UX, release/install behavior, published proof, or other externally consumed runtime outcomes
40
+
41
+ Apply the shared `audit-milestone` matrix:
42
+
43
+ | delivery_posture | required evidence | recommended evidence | cannot carry closure alone |
44
+ | -------------------- | -------------------------------- | -------------------- | -------------------------- |
45
+ | `repo_only` | `code`, `test` | `runtime`, `human` | `human`, `delivery` |
46
+ | `delivery_sensitive` | `code`, `test`, `runtime`, `delivery` | `human` | `code`, `human` |
47
+
48
+ Rules:
49
+ - repo-only milestones must not invent `runtime` or `delivery` proof just because the audit template mentions them
50
+ - delivery-sensitive audits must not pass on phase prose, code inspection, or tests alone; required `runtime` and `delivery` evidence must be explicitly present
51
+ - `human` evidence is supportive only at audit level unless the audit is already otherwise satisfied
52
+ - record the selected `delivery_posture`, `required_kinds`, `observed_kinds`, and `missing_kinds` in audit frontmatter so completion inherits the same closure contract
53
+ </evidence_contract>
54
+
16
55
  <process>
17
56
 
18
57
  ## 1. Determine Milestone Scope
@@ -70,6 +109,7 @@ Either way, the integration check happens. The quality level is documented.
70
109
  Combine:
71
110
  - Phase-level gaps and tech debt (from step 2)
72
111
  - Integration checker's report (wiring gaps, auth gaps, broken flows, requirements integration map)
112
+ - Evidence observations by kind (`code`, `test`, `runtime`, `delivery`, `human`) from phase verifications, summaries, integration findings, and delivery metadata
73
113
 
74
114
  ## 5. 3-Source Cross-Reference
75
115
 
@@ -125,6 +165,11 @@ milestone: v{version}
125
165
  audited: {ISO-8601 timestamp}
126
166
  status: passed | gaps_found | tech_debt
127
167
  reduced_assurance: false
168
+ delivery_posture: repo_only | delivery_sensitive
169
+ evidence_contract:
170
+ required_kinds: [code, test]
171
+ observed_kinds: [code, test]
172
+ missing_kinds: []
128
173
  scores:
129
174
  requirements: N/M
130
175
  phases: N/M
@@ -160,7 +205,12 @@ Plus full markdown report body with tables for requirements, phases, integration
160
205
  - `gaps_found` - critical blockers exist (unsatisfied requirements, unprotected sensitive flows, broken flows, or missing verifications)
161
206
  - `tech_debt` - no blockers but accumulated deferred items need review
162
207
 
163
- **MANDATORY: The milestone audit report must exist at `.planning/v{version}-MILESTONE-AUDIT.md` on disk before presenting results. If the file was not written, STOP and report the write failure. Do NOT present audit results from conversation context alone — this is the highest-cost artifact to regenerate.**
208
+ Evidence gate:
209
+ - a `passed` audit must have no `missing_kinds` for the selected `delivery_posture`
210
+ - `delivery_sensitive` audits cannot pass without explicit `runtime` and `delivery` evidence
211
+ - `repo_only` audits cannot be downgraded merely because `runtime` or `delivery` evidence was never relevant
212
+
213
+ **MANDATORY: The milestone audit report must exist at `.planning/v{version}-MILESTONE-AUDIT.md` on disk before presenting results. If the file was not written, STOP and report the write failure. Do NOT present audit results from conversation context alone — this is the highest-cost artifact to regenerate. Do NOT downgrade a write failure into "results shown inline anyway."**
164
214
 
165
215
  ## 7. Present Results
166
216
 
@@ -205,17 +255,17 @@ Report the audit result to the user, then present the next step:
205
255
  **Completed:** Milestone audit — created `.planning/v{version}-MILESTONE-AUDIT.md`.
206
256
 
207
257
  If status is `passed`:
208
- **Next step:** `/gsdd:complete-milestone` — archive the milestone and prepare for the next
258
+ **Next step:** `/gsdd-complete-milestone` — archive the milestone and prepare for the next
209
259
 
210
260
  If status is `gaps_found`:
211
- **Next step:** `/gsdd:plan` — plan gap-closure phases for the unsatisfied requirements
261
+ **Next step:** `/gsdd-plan-milestone-gaps` — create gap-closure phases for the unsatisfied requirements
212
262
 
213
263
  If status is `tech_debt`:
214
- **Next step:** Either `/gsdd:complete-milestone` (accept debt) or `/gsdd:plan` (cleanup phase)
264
+ **Next step:** Either `/gsdd-complete-milestone` (accept debt) or `/gsdd-plan` (cleanup phase)
215
265
 
216
266
  Also available:
217
- - `/gsdd:verify` — re-verify a specific phase before re-auditing
218
- - `/gsdd:progress` — check overall project status
267
+ - `/gsdd-verify` — re-verify a specific phase before re-auditing
268
+ - `/gsdd-progress` — check overall project status
219
269
 
220
270
  Consider clearing context before starting the next workflow for best results.
221
271
  ---