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.
- package/README.md +131 -67
- package/agents/DISTILLATION.md +15 -13
- package/agents/README.md +1 -1
- package/agents/planner.md +2 -0
- package/bin/adapters/agents.mjs +1 -0
- package/bin/adapters/claude.mjs +20 -4
- package/bin/adapters/codex.mjs +9 -1
- package/bin/adapters/opencode.mjs +20 -5
- package/bin/gsdd.mjs +24 -7
- package/bin/lib/cli-utils.mjs +1 -1
- package/bin/lib/evidence-contract.mjs +112 -0
- package/bin/lib/file-ops.mjs +161 -0
- package/bin/lib/health-truth.mjs +186 -0
- package/bin/lib/health.mjs +72 -67
- package/bin/lib/init-flow.mjs +50 -3
- package/bin/lib/init-prompts.mjs +22 -83
- package/bin/lib/init-runtime.mjs +47 -25
- package/bin/lib/init.mjs +3 -3
- package/bin/lib/lifecycle-preflight.mjs +333 -0
- package/bin/lib/lifecycle-state.mjs +293 -0
- package/bin/lib/models.mjs +19 -4
- package/bin/lib/phase.mjs +159 -18
- package/bin/lib/plan-constants.mjs +30 -0
- package/bin/lib/provenance.mjs +165 -0
- package/bin/lib/rendering.mjs +8 -0
- package/bin/lib/runtime-freshness.mjs +239 -0
- package/bin/lib/session-fingerprint.mjs +106 -0
- package/bin/lib/templates.mjs +17 -0
- package/distilled/DESIGN.md +733 -49
- package/distilled/EVIDENCE-INDEX.md +402 -0
- package/distilled/README.md +73 -33
- package/distilled/SKILL.md +89 -85
- package/distilled/templates/agents.block.md +13 -84
- package/distilled/templates/agents.md +0 -7
- package/distilled/templates/delegates/plan-checker.md +6 -3
- package/distilled/workflows/audit-milestone.md +56 -6
- package/distilled/workflows/complete-milestone.md +333 -0
- package/distilled/workflows/execute.md +201 -19
- package/distilled/workflows/map-codebase.md +17 -4
- package/distilled/workflows/new-milestone.md +262 -0
- package/distilled/workflows/new-project.md +7 -6
- package/distilled/workflows/pause.md +40 -6
- package/distilled/workflows/plan-milestone-gaps.md +183 -0
- package/distilled/workflows/plan.md +77 -11
- package/distilled/workflows/progress.md +107 -29
- package/distilled/workflows/quick.md +23 -12
- package/distilled/workflows/resume.md +135 -12
- package/distilled/workflows/verify-work.md +260 -0
- package/distilled/workflows/verify.md +159 -33
- package/docs/BROWNFIELD-PROOF.md +95 -0
- package/docs/RUNTIME-SUPPORT.md +77 -0
- package/docs/USER-GUIDE.md +439 -0
- package/docs/VERIFICATION-DISCIPLINE.md +59 -0
- package/docs/claude/context-monitor.md +98 -0
- package/docs/proof/consumer-node-cli/README.md +37 -0
- package/docs/proof/consumer-node-cli/ROADMAP.md +14 -0
- package/docs/proof/consumer-node-cli/SPEC.md +17 -0
- package/docs/proof/consumer-node-cli/brief.md +9 -0
- package/docs/proof/consumer-node-cli/phases/01-foundation/01-01-PLAN.md +34 -0
- package/docs/proof/consumer-node-cli/phases/01-foundation/01-01-SUMMARY.md +10 -0
- package/docs/proof/consumer-node-cli/phases/01-foundation/01-VERIFICATION.md +30 -0
- package/package.json +38 -29
package/distilled/SKILL.md
CHANGED
|
@@ -1,85 +1,89 @@
|
|
|
1
|
-
---
|
|
2
|
-
name:
|
|
3
|
-
description: Disciplined
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<role>
|
|
7
|
-
You are an AI agent following the
|
|
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
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
- `.planning/templates/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
4
|
-
Edit the source template in the GSDD framework instead.
|
|
3
|
+
Managed by `gsdd`; edit the framework template, not this block.
|
|
5
4
|
|
|
6
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
264
|
+
**Next step:** Either `/gsdd-complete-milestone` (accept debt) or `/gsdd-plan` (cleanup phase)
|
|
215
265
|
|
|
216
266
|
Also available:
|
|
217
|
-
- `/gsdd
|
|
218
|
-
- `/gsdd
|
|
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
|
---
|