gsdd-cli 0.16.1 → 0.18.1
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 +111 -61
- package/agents/README.md +1 -1
- package/bin/adapters/claude.mjs +8 -1
- package/bin/adapters/codex.mjs +5 -1
- package/bin/adapters/opencode.mjs +7 -1
- package/bin/gsdd.mjs +25 -20
- package/bin/lib/evidence-contract.mjs +112 -0
- package/bin/lib/health-truth.mjs +29 -31
- package/bin/lib/health.mjs +61 -106
- package/bin/lib/init-flow.mjs +91 -34
- package/bin/lib/init-runtime.mjs +46 -25
- package/bin/lib/init.mjs +3 -7
- package/bin/lib/lifecycle-preflight.mjs +333 -0
- package/bin/lib/lifecycle-state.mjs +476 -0
- package/bin/lib/manifest.mjs +24 -20
- package/bin/lib/phase.mjs +81 -26
- package/bin/lib/provenance.mjs +295 -54
- package/bin/lib/rendering.mjs +70 -12
- package/bin/lib/runtime-freshness.mjs +264 -0
- package/bin/lib/session-fingerprint.mjs +106 -0
- package/distilled/DESIGN.md +707 -13
- package/distilled/EVIDENCE-INDEX.md +166 -1
- package/distilled/README.md +44 -28
- package/distilled/SKILL.md +4 -4
- package/distilled/templates/agents.block.md +1 -1
- package/distilled/workflows/audit-milestone.md +50 -0
- package/distilled/workflows/complete-milestone.md +38 -2
- package/distilled/workflows/execute.md +16 -3
- package/distilled/workflows/map-codebase.md +15 -4
- package/distilled/workflows/new-milestone.md +53 -24
- package/distilled/workflows/new-project.md +44 -25
- package/distilled/workflows/pause.md +1 -1
- package/distilled/workflows/plan.md +187 -74
- package/distilled/workflows/progress.md +135 -31
- package/distilled/workflows/quick.md +20 -12
- package/distilled/workflows/resume.md +152 -65
- package/distilled/workflows/verify.md +55 -20
- package/docs/BROWNFIELD-PROOF.md +95 -0
- package/docs/RUNTIME-SUPPORT.md +77 -0
- package/docs/USER-GUIDE.md +443 -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 +26 -20
|
@@ -286,7 +286,172 @@
|
|
|
286
286
|
- `distilled/workflows/map-codebase.md` (completion offers `/gsdd-quick` as the brownfield lane)
|
|
287
287
|
- `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`
|
|
288
288
|
|
|
289
|
-
|
|
289
|
+
## D40 — Three-Layer Continuity Boundary
|
|
290
|
+
- Phase 7 continuity review across all 14 workflow files: durable artifacts and live-state artifacts were present, but compressed judgment was not explicitly modeled
|
|
291
|
+
- D12 and D26: artifact/state continuity existed already, but without a named three-layer boundary
|
|
292
|
+
- `.planning/SPEC.md` (Continuity Layers constraint, Key Decisions row)
|
|
293
|
+
- `distilled/workflows/resume.md` (first workflow adopting the boundary directly)
|
|
294
|
+
|
|
295
|
+
## D41 — Compressed Judgment Persistence Surface
|
|
296
|
+
- Phase 8 review of `plan.md`, `execute.md`, `verify.md`, and `resume.md` as the four judgment-recovery entry points
|
|
297
|
+
- `distilled/workflows/pause.md` (checkpoint `<judgment>` write)
|
|
298
|
+
- `distilled/workflows/execute.md` (`SUMMARY.md` `<judgment>` write and prior-summary read)
|
|
299
|
+
- `distilled/workflows/plan.md`, `distilled/workflows/verify.md`, `distilled/workflows/resume.md` (judgment reads)
|
|
300
|
+
- `.planning/SPEC.md` (Key Decisions row)
|
|
301
|
+
|
|
302
|
+
## D42 — Session-Boundary Safety
|
|
303
|
+
- `distilled/workflows/resume.md` (`.continue-here.bak` retained across dispatch)
|
|
304
|
+
- `distilled/workflows/plan.md`, `distilled/workflows/execute.md`, `distilled/workflows/verify.md`, `distilled/workflows/quick.md` (fallback `.bak` judgment reads)
|
|
305
|
+
- `distilled/workflows/pause.md` (stale `.bak` crash-cleanup path)
|
|
306
|
+
- `tests/gsdd.guards.test.cjs`, `tests/gsdd.invariants.test.cjs`
|
|
307
|
+
|
|
308
|
+
## D43 — Resume Provenance Truth Split
|
|
309
|
+
- `.internal-research/gaps.md` (`I29`, `I30`)
|
|
310
|
+
- `.internal-research/TODO.md` (stale checkpoint/worktree drift notes)
|
|
311
|
+
- `.internal-research/consumer-audits/worktree-provenance-and-checkpoint-drift-2026-04-12.md`
|
|
312
|
+
- `distilled/workflows/pause.md`, `distilled/workflows/resume.md`
|
|
313
|
+
- `bin/lib/provenance.mjs`
|
|
314
|
+
- `tests/phase.test.cjs`, `tests/gsdd.guards.test.cjs`, `tests/gsdd.invariants.test.cjs`
|
|
315
|
+
|
|
316
|
+
## D44 — Warning-First Transition Safety And Fail-Closed Terminal Writes
|
|
317
|
+
- `.planning/SPEC.md` (`LAUNCH-12`, `LAUNCH-13`)
|
|
318
|
+
- `.planning/ROADMAP.md` (Phase 20 and Phase 22 scope notes)
|
|
319
|
+
- `distilled/workflows/plan.md`, `execute.md`, `quick.md`, `new-milestone.md`, `complete-milestone.md`
|
|
320
|
+
- `distilled/workflows/verify.md`, `distilled/workflows/audit-milestone.md`
|
|
321
|
+
- `bin/lib/provenance.mjs`
|
|
322
|
+
- `tests/gsdd.guards.test.cjs`, `tests/gsdd.invariants.test.cjs`, `tests/gsdd.scenarios.test.cjs`
|
|
323
|
+
|
|
324
|
+
## D45 — Fork-Honest Launch Posture Before Identity Migration
|
|
325
|
+
- `.planning/SPEC.md` (v1.2.0 active requirements and posture)
|
|
326
|
+
- `.planning/ROADMAP.md` (Phase 23-27 ownership)
|
|
327
|
+
- `.internal-research/TODO.md`, `.internal-research/gaps.md` (`I39`), `.internal-research/lessons-learned.md`
|
|
328
|
+
- `.internal-research/release-jury-verdict-2026-04-15.md`
|
|
329
|
+
- `.internal-research/release-jury-public-truth-drift-2026-04-15.md`
|
|
330
|
+
- `.internal-research/public-release-two-layer-brief-2026-04-15.md`
|
|
331
|
+
- `get-shit-done/workflows/progress.md`
|
|
332
|
+
|
|
333
|
+
## D46 — Archived Milestone Routing With Retained ROADMAP
|
|
334
|
+
- `.internal-research/gaps.md` (`I39`)
|
|
335
|
+
- `.planning/MILESTONES.md`
|
|
336
|
+
- `.planning/v1.1-MILESTONE-AUDIT.md`
|
|
337
|
+
- `distilled/workflows/progress.md`
|
|
338
|
+
- `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`, `tests/gsdd.health.test.cjs`
|
|
339
|
+
- `get-shit-done/workflows/progress.md`
|
|
340
|
+
|
|
341
|
+
## D47 — Brownfield Quick-Win Repair
|
|
342
|
+
- `.planning/SPEC.md` (`DX-03`, `BROWNFIELD-01`)
|
|
343
|
+
- `distilled/workflows/quick.md`, `distilled/workflows/progress.md`
|
|
344
|
+
- `distilled/workflows/new-project.md`, `distilled/workflows/map-codebase.md`
|
|
345
|
+
- `README.md`, `docs/USER-GUIDE.md`, `distilled/README.md`
|
|
346
|
+
- `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`, `tests/gsdd.invariants.test.cjs`
|
|
347
|
+
|
|
348
|
+
## D48 — Shared Lifecycle Evaluator And Dual-Canonical Runtime Boundary
|
|
349
|
+
- `.planning/SPEC.md` (`ENGINE-01`, `ENGINE-02`, `ENGINE-05`)
|
|
350
|
+
- `.planning/ROADMAP.md` (Phases 29 and 32)
|
|
351
|
+
- `.internal-research/TODO.md`, `.internal-research/gaps.md` (`I42`)
|
|
352
|
+
- `bin/lib/lifecycle-state.mjs`, `bin/lib/health.mjs`, `bin/lib/health-truth.mjs`
|
|
353
|
+
- `tests/phase.test.cjs`, `tests/gsdd.health.test.cjs`, `tests/gsdd.guards.test.cjs`
|
|
354
|
+
- `get-shit-done/workflows/progress.md`
|
|
355
|
+
|
|
356
|
+
## D49 — Deterministic Lifecycle Preflight Gates
|
|
357
|
+
- `.planning/SPEC.md` (`ENGINE-01`, `ENGINE-02`, `ENGINE-03`)
|
|
358
|
+
- `.planning/ROADMAP.md` (Phase 30)
|
|
359
|
+
- `bin/lib/lifecycle-preflight.mjs`, `bin/lib/lifecycle-state.mjs`
|
|
360
|
+
- `bin/gsdd.mjs`, `bin/lib/init.mjs`
|
|
361
|
+
- `distilled/workflows/execute.md`, `distilled/workflows/verify.md`
|
|
362
|
+
- `distilled/workflows/audit-milestone.md`, `distilled/workflows/complete-milestone.md`
|
|
363
|
+
- `distilled/workflows/new-milestone.md`, `distilled/workflows/resume.md`, `distilled/workflows/progress.md`
|
|
364
|
+
- `tests/phase.test.cjs`, `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`
|
|
365
|
+
- `get-shit-done/workflows/progress.md`
|
|
366
|
+
|
|
367
|
+
## D50 — Evidence-Gated Closure Matrix
|
|
368
|
+
- `.planning/SPEC.md` (`ENGINE-04`, `VERIFY-01`)
|
|
369
|
+
- `.planning/ROADMAP.md` (Phase 31)
|
|
370
|
+
- `bin/lib/evidence-contract.mjs`, `bin/lib/lifecycle-preflight.mjs`
|
|
371
|
+
- `distilled/workflows/verify.md`, `distilled/workflows/audit-milestone.md`, `distilled/workflows/complete-milestone.md`
|
|
372
|
+
- `tests/phase.test.cjs`, `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`
|
|
373
|
+
- `agents/_archive/gsd-verifier.md`, `agents/_archive/gsd-integration-checker.md`
|
|
374
|
+
|
|
375
|
+
## D51 — Deterministic Runtime Surface Freshness
|
|
376
|
+
- `.planning/SPEC.md` (`ENGINE-05`)
|
|
377
|
+
- `.planning/ROADMAP.md` (Phase 32)
|
|
378
|
+
- `.internal-research/gaps.md` (`I42`)
|
|
379
|
+
- `bin/lib/runtime-freshness.mjs`, `bin/lib/health.mjs`, `bin/lib/health-truth.mjs`, `bin/lib/rendering.mjs`
|
|
380
|
+
- `bin/adapters/claude.mjs`, `bin/adapters/opencode.mjs`, `bin/adapters/codex.mjs`
|
|
381
|
+
- `README.md`, `docs/RUNTIME-SUPPORT.md`, `distilled/README.md`
|
|
382
|
+
- `tests/phase.test.cjs`, `tests/gsdd.health.test.cjs`, `tests/gsdd.plan.adapters.test.cjs`, `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`
|
|
383
|
+
- `get-shit-done/workflows/progress.md`
|
|
384
|
+
|
|
385
|
+
## D52 — Generic Checkpoint Routing Ownership
|
|
386
|
+
- `.planning/SPEC.md` (`ENGINE-01`, `ENGINE-03`)
|
|
387
|
+
- `.internal-research/gaps.md` (`I45`)
|
|
388
|
+
- `bin/lib/provenance.mjs`
|
|
389
|
+
- `distilled/workflows/resume.md`, `distilled/workflows/progress.md`
|
|
390
|
+
- `.agents/skills/gsdd-resume/SKILL.md`, `.agents/skills/gsdd-progress/SKILL.md`
|
|
391
|
+
- `tests/phase.test.cjs`, `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`
|
|
392
|
+
- `get-shit-done/workflows/progress.md`
|
|
393
|
+
|
|
394
|
+
## D53 — Fail-Closed Milestone And Phase Contracts
|
|
395
|
+
- `.planning/SPEC.md` (`PLAN-03`, v1.5.0 Current State, key decision on anti-drift milestone/phase contracts)
|
|
396
|
+
- `.planning/ROADMAP.md` (v1.5.0 Phases 39-43 with requirement assignments, success criteria, out-of-scope, and stop/replan conditions)
|
|
397
|
+
- `.internal-research/TODO.md` (active milestone reconciliation and next-step truth)
|
|
398
|
+
- `.internal-research/lessons-learned.md` (`LL-PLANS-MUST-CARRY-THE-ANTI-DRIFT-CONTRACT`, `LL-ACTIVE-MILESTONE-TRUTH-MUST-STAY-SYNCHRONIZED`, `LL-AMBIGUITY-ABOUT-INTENT-MUST-STOP-EXECUTION`)
|
|
399
|
+
- `.agents/skills/gsdd-new-milestone/SKILL.md`, `.agents/skills/gsdd-plan/SKILL.md`, `.agents/skills/gsdd-execute/SKILL.md`, `.agents/skills/gsdd-verify/SKILL.md`
|
|
400
|
+
- `get-shit-done/workflows/new-milestone.md`, `get-shit-done/workflows/plan.md`
|
|
401
|
+
- OpenSpec concepts/workflows, LeanSpec guide/limits, OpenAI practical guide to building agents, Anthropic effective/trustworthy agents, GitHub Copilot task best practices
|
|
402
|
+
|
|
403
|
+
## D54 — Bounded Brownfield Change Folder Contract
|
|
404
|
+
- `.planning/SPEC.md` (`BROWNFIELD-01` through `BROWNFIELD-05`, v1.5.0 Current State, key decision row)
|
|
405
|
+
- `.planning/ROADMAP.md` (Phase 40 success criteria plus follow-on Phases 41-43)
|
|
406
|
+
- `.planning/templates/brownfield-change/CHANGE.md`
|
|
407
|
+
- `.planning/templates/brownfield-change/HANDOFF.md`
|
|
408
|
+
- `.planning/templates/brownfield-change/VERIFICATION.md`
|
|
409
|
+
- `.internal-research/TODO.md` (Phase 40 execution handoff and Phase 41 next-step ordering)
|
|
410
|
+
- `.internal-research/gaps.md` (`I43`, `I46`)
|
|
411
|
+
- `SPEC.md` (bounded brownfield lane product contract)
|
|
412
|
+
- `tests/gsdd.guards.test.cjs`
|
|
413
|
+
- `get-shit-done/workflows/quick.md`, `get-shit-done/workflows/new-project.md`
|
|
414
|
+
- OpenSpec concepts/getting-started docs, Task Master docs, BMAD workflow map, GitHub Copilot coding-agent best practices
|
|
415
|
+
|
|
416
|
+
## D55 — Brownfield Continuity Anchor And Mismatch Split
|
|
417
|
+
- `.planning/SPEC.md` (`BROWNFIELD-02`, `BROWNFIELD-05`, Current State, key decision row)
|
|
418
|
+
- `.planning/phases/41-brownfield-continuity-and-resume/41-PLAN.md`
|
|
419
|
+
- `.planning/templates/brownfield-change/CHANGE.md`
|
|
420
|
+
- `.planning/templates/brownfield-change/HANDOFF.md`
|
|
421
|
+
- `bin/lib/lifecycle-state.mjs`
|
|
422
|
+
- `bin/lib/provenance.mjs`
|
|
423
|
+
- `distilled/workflows/progress.md`, `distilled/workflows/resume.md`
|
|
424
|
+
- `tests/phase.test.cjs`, `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`
|
|
425
|
+
- `get-shit-done/workflows/resume.md`, `get-shit-done/workflows/progress.md`
|
|
426
|
+
|
|
427
|
+
## D56 — Executable Brownfield Routing And Widen-Only Escalation
|
|
428
|
+
- `.planning/SPEC.md` (`BROWNFIELD-03`, Current State, key decision row)
|
|
429
|
+
- `.planning/phases/42-executable-brownfield-routing/42-PLAN.md`
|
|
430
|
+
- `bin/lib/provenance.mjs`
|
|
431
|
+
- `distilled/workflows/progress.md`, `distilled/workflows/resume.md`, `distilled/workflows/quick.md`, `distilled/workflows/map-codebase.md`, `distilled/workflows/new-project.md`
|
|
432
|
+
- `.internal-research/TODO.md`, `.internal-research/gaps.md`
|
|
433
|
+
- `tests/phase.test.cjs`, `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`
|
|
434
|
+
- `get-shit-done/workflows/progress.md`, `get-shit-done/workflows/resume.md`, `get-shit-done/workflows/quick.md`, `get-shit-done/workflows/new-project.md`
|
|
435
|
+
|
|
436
|
+
## D57 — Bounded Brownfield Growth And Context-Preserving Milestone Handoff
|
|
437
|
+
- `.planning/SPEC.md` (`BROWNFIELD-04`, Current State, key decision row)
|
|
438
|
+
- `.planning/phases/43-bounded-growth-and-milestone-handoff/43-PLAN.md`
|
|
439
|
+
- `.planning/templates/brownfield-change/CHANGE.md`
|
|
440
|
+
- `.planning/templates/brownfield-change/HANDOFF.md`
|
|
441
|
+
- `.planning/templates/brownfield-change/VERIFICATION.md`
|
|
442
|
+
- `distilled/workflows/progress.md`, `distilled/workflows/resume.md`, `distilled/workflows/new-project.md`, `distilled/workflows/new-milestone.md`
|
|
443
|
+
- `.internal-research/TODO.md`, `.internal-research/gaps.md`, `.internal-research/lessons-learned.md`
|
|
444
|
+
- `tests/phase.test.cjs`, `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`
|
|
445
|
+
- `get-shit-done/workflows/new-project.md`, `get-shit-done/workflows/quick.md`
|
|
446
|
+
|
|
447
|
+
## D58 — Local Workflow Helper Launcher
|
|
448
|
+
- `bin/lib/rendering.mjs` (`renderPlanningCliLauncher` for a machine-independent local helper launcher)
|
|
449
|
+
- `bin/lib/init-flow.mjs` (`gsdd init` / `gsdd update` generation of `.planning/bin/gsdd.mjs`)
|
|
450
|
+
- `bin/lib/runtime-freshness.mjs`, `bin/lib/manifest.mjs`, `bin/lib/health.mjs`, `bin/lib/health-truth.mjs`
|
|
451
|
+
- `distilled/workflows/execute.md`, `distilled/workflows/verify.md`, `distilled/workflows/resume.md`, `distilled/workflows/progress.md`
|
|
452
|
+
- `tests/gsdd.init.test.cjs`, `tests/gsdd.health.test.cjs`, `tests/gsdd.manifest.test.cjs`, `tests/gsdd.scenarios.test.cjs`
|
|
453
|
+
|
|
454
|
+
---
|
|
290
455
|
|
|
291
456
|
## Maintenance
|
|
292
457
|
|
package/distilled/README.md
CHANGED
|
@@ -1,21 +1,27 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Workspine
|
|
2
2
|
|
|
3
|
-
A repo-native
|
|
3
|
+
A repo-native delivery spine for planning, checking, execution, verification, and handoff of long-horizon AI-assisted work.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Workspine keeps planning, execution, verification, handoff, and progress state in the repo so work survives cold starts, runtime switches, and session loss. The retained package and CLI contracts remain `gsdd-cli` / `gsdd`.
|
|
6
6
|
|
|
7
7
|
## What This Is
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Workspine is a small set of workflow sources plus a CLI (`gsdd`) that:
|
|
10
10
|
- scaffolds a project planning workspace (`.planning/`)
|
|
11
11
|
- generates portable workflow entrypoints as skills (`.agents/skills/gsdd-*/SKILL.md`)
|
|
12
12
|
- optionally generates tool-specific adapters for runtimes that need extra native surfaces (root `AGENTS.md`, Claude skills + plan-command alias + native agents, OpenCode commands + native agents)
|
|
13
13
|
|
|
14
|
-
It gives serious AI-assisted
|
|
14
|
+
It gives serious AI-assisted work one durable repo workflow spine for planning, checking, execution, verification, and handoff without pretending to be a hosted orchestration layer.
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
16
|
+
Workspine is the product name. The package, CLI commands, workflow prefixes, and workspace directory remain `gsdd-cli`, `gsdd`, `gsdd-*`, and `.planning/` — these are retained technical contracts, not rename residue.
|
|
17
|
+
|
|
18
|
+
Workspine began as a fork of Get Shit Done, whose long-horizon delivery spine proved the problem was real. Since the fork, upstream GSD has continued evolving into a broad multi-runtime framework. Workspine took a different path: a smaller repo-native delivery spine with fewer public workflow surfaces, generated runtime surfaces from a portable core, evidence-gated closure, and provenance-aware continuity.
|
|
19
|
+
|
|
20
|
+
Launch proof posture:
|
|
21
|
+
- Directly validated in repo truth: Claude Code, Codex CLI, OpenCode
|
|
22
|
+
- Qualified support only: Cursor, Copilot, Gemini CLI support the same core workflow via the shared `.agents/skills/` surface plus optional governance; proof and ergonomics differ from the directly validated runtimes
|
|
23
|
+
- Installed generated runtime surfaces are renderer-checked locally through `gsdd health`, with deterministic repair through `gsdd update`
|
|
24
|
+
- Public proof entrypoints: `docs/BROWNFIELD-PROOF.md`, `docs/proof/consumer-node-cli/README.md`, `docs/RUNTIME-SUPPORT.md`, `docs/VERIFICATION-DISCIPLINE.md`
|
|
19
25
|
|
|
20
26
|
## Quick Start
|
|
21
27
|
|
|
@@ -63,32 +69,41 @@ gsdd init -> bootstrap (create .planning/, copy templates, gene
|
|
|
63
69
|
/gsdd-progress -> show status, route to next action
|
|
64
70
|
```
|
|
65
71
|
|
|
66
|
-
##
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
|
77
|
-
|
|
78
|
-
| `
|
|
79
|
-
| `
|
|
80
|
-
| `
|
|
81
|
-
| `
|
|
82
|
-
| `
|
|
83
|
-
| `
|
|
72
|
+
## Brownfield Entry Contract
|
|
73
|
+
|
|
74
|
+
Use the same three-way routing everywhere:
|
|
75
|
+
|
|
76
|
+
- `gsdd-new-project` is the full initializer for greenfield work, fuzzy brownfield scope, or milestone-shaped work. Users do not need to pre-run `map-codebase`; `new-project` does that internally when needed.
|
|
77
|
+
- `gsdd-quick` is the bounded brownfield lane when the change is already concrete. It uses existing codebase maps when present and otherwise builds a just-enough inline baseline.
|
|
78
|
+
- `gsdd-map-codebase` is the deeper orientation pass for unfamiliar or higher-risk repos before choosing between `quick` and `new-project`.
|
|
79
|
+
|
|
80
|
+
## Current Status (updated 2026-04-21)
|
|
81
|
+
|
|
82
|
+
| Workflow | What ships |
|
|
83
|
+
|----------|------------|
|
|
84
|
+
| `new-project.md` | Greenfield + brownfield + milestone initialization |
|
|
85
|
+
| `plan.md` | Portable planner contract with independent plan checking through generated native adapters |
|
|
86
|
+
| `execute.md` | Mandatory reads, auth-gate routing, deviation rules, and substantive summary quality gate |
|
|
87
|
+
| `verify.md` | Phase verification with orphan detection, frontmatter enforcement, and requirements coverage chain |
|
|
88
|
+
| `audit-milestone.md` | Cross-phase integration audit, auth protection checks, requirement reconciliation, and orphan detection into `MILESTONE-AUDIT.md` |
|
|
89
|
+
| `complete-milestone.md` | Milestone archive, spec evolution, and roadmap collapse |
|
|
90
|
+
| `new-milestone.md` | Brownfield milestone continuation: goals, requirements, and roadmap phases |
|
|
91
|
+
| `plan-milestone-gaps.md` | Gap-closure phases from `MILESTONE-AUDIT.md` results |
|
|
92
|
+
| `quick.md` | Quick-work lane for sub-hour tasks outside the phase cycle |
|
|
93
|
+
| `pause.md` | Session checkpoint writer with conversational handoff |
|
|
94
|
+
| `resume.md` | Session context restorer with priority-ordered routing |
|
|
95
|
+
| `progress.md` | Read-only status reporter with recent work, archived-milestone detection, and non-phase brownfield routing |
|
|
96
|
+
| `map-codebase.md` | Standalone codebase mapping/refresh and deeper brownfield orientation |
|
|
97
|
+
| `verify-work.md` | Conversational UAT validation with structured gap tracking |
|
|
84
98
|
|
|
85
99
|
Architecture notes:
|
|
86
100
|
- `bin/gsdd.mjs` remains the thin generator entrypoint, while vendor-specific rendering lives in adapter modules.
|
|
87
101
|
- Codex CLI uses the always-generated `.agents/skills/gsdd-*` surface as its entry path and can add a native `.codex/agents/gsdd-plan-checker.toml` checker agent.
|
|
102
|
+
- `gsdd health` now compares any installed generated runtime surfaces against current render output and routes repairs back through `gsdd update`.
|
|
88
103
|
- Portable lifecycle contracts now align to the roadmap template status grammar: `[ ]`, `[-]`, `[x]`.
|
|
89
104
|
- Phase verification and milestone integration audit are treated as separate concerns.
|
|
90
105
|
- Canonical role contracts use bounded sections, typed output examples, and checklist-driven completion where those structures materially improve downstream reliability.
|
|
91
|
-
- Public launch wording is conservative by design: direct proof is claimed only for runtimes with recorded lifecycle evidence in
|
|
106
|
+
- Public launch wording is conservative by design: direct proof is claimed only for runtimes with recorded lifecycle evidence in the repo.
|
|
92
107
|
|
|
93
108
|
## Init Workflow Agent Count (by config)
|
|
94
109
|
|
|
@@ -149,7 +164,7 @@ Note: `parallelization: false` keeps the same mapper/researcher set but runs the
|
|
|
149
164
|
|
|
150
165
|
```
|
|
151
166
|
distilled/
|
|
152
|
-
DESIGN.md # design decisions and rationale (
|
|
167
|
+
DESIGN.md # design decisions and rationale (58 decisions, evidence-backed)
|
|
153
168
|
EVIDENCE-INDEX.md # source-to-decision index for durable research-backed claims
|
|
154
169
|
SKILL.md # primary entry point (plain markdown)
|
|
155
170
|
workflows/
|
|
@@ -178,6 +193,7 @@ distilled/
|
|
|
178
193
|
mapper-quality.md
|
|
179
194
|
mapper-concerns.md
|
|
180
195
|
plan-checker.md
|
|
196
|
+
approach-explorer.md
|
|
181
197
|
researcher-stack.md
|
|
182
198
|
researcher-features.md
|
|
183
199
|
researcher-architecture.md
|
package/distilled/SKILL.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: Disciplined
|
|
2
|
+
name: Workspine (published as gsdd-cli)
|
|
3
|
+
description: Disciplined repo-native workflow for AI-assisted development. Spec first, then build, then verify.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
<role>
|
|
7
|
-
You are an AI agent following the
|
|
7
|
+
You are an AI agent following the Workspine workflow. You are a disciplined engineer, not a code generator.
|
|
8
8
|
Your mandate: understand the problem deeply, specify what "done" looks like, implement with precision, and verify with rigor.
|
|
9
9
|
</role>
|
|
10
10
|
|
|
@@ -45,7 +45,7 @@ Mandatory:
|
|
|
45
45
|
</governance>
|
|
46
46
|
|
|
47
47
|
<project_structure>
|
|
48
|
-
|
|
48
|
+
Workspine uses `.planning/` as the durable workspace:
|
|
49
49
|
|
|
50
50
|
```
|
|
51
51
|
.planning/
|
|
@@ -7,7 +7,7 @@ Lifecycle: `new-project -> plan -> execute -> verify -> audit-milestone`.
|
|
|
7
7
|
Core skills: `gsdd-new-project`, `gsdd-plan`, `gsdd-execute`, `gsdd-verify`, `gsdd-progress`.
|
|
8
8
|
Planning state: `.planning/`. Portable workflows: `.agents/skills/gsdd-*/SKILL.md`.
|
|
9
9
|
|
|
10
|
-
Invoke: `/gsdd-plan` (Claude, OpenCode, Cursor, Copilot, Gemini) · `$gsdd-plan` (Codex) · open SKILL.md directly elsewhere.
|
|
10
|
+
Invoke: `/gsdd-plan` (Claude, OpenCode, Cursor, Copilot, Gemini) · `$gsdd-plan` (Codex, plan-only until `$gsdd-execute`) · open SKILL.md directly elsewhere.
|
|
11
11
|
|
|
12
12
|
Rules:
|
|
13
13
|
1. Read before writing roadmap work: `.planning/SPEC.md`, `.planning/ROADMAP.md`, `.planning/config.json`, and the relevant phase plan when one exists.
|
|
@@ -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
|
+
- `node .planning/bin/gsdd.mjs 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,6 +205,11 @@ 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
|
|
|
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
|
+
|
|
163
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
|
|
@@ -25,6 +25,41 @@ Before starting, read these files:
|
|
|
25
25
|
6. Most recent `.planning/v*-MILESTONE-AUDIT.md` — audit status (passed / gaps_found)
|
|
26
26
|
</load_context>
|
|
27
27
|
|
|
28
|
+
<lifecycle_preflight>
|
|
29
|
+
Before verifying readiness or gathering archive stats, run:
|
|
30
|
+
|
|
31
|
+
- `node .planning/bin/gsdd.mjs lifecycle-preflight complete-milestone`
|
|
32
|
+
|
|
33
|
+
If the preflight result is `blocked`, STOP and report the blocker instead of inferring milestone-close eligibility from workflow-local prose.
|
|
34
|
+
|
|
35
|
+
Treat the preflight as an authorization seam over shared repo truth only:
|
|
36
|
+
- it may authorize or reject milestone completion
|
|
37
|
+
- it does not mutate lifecycle state by itself
|
|
38
|
+
- owned writes remain the archive artifacts, `MILESTONES.md`, `.planning/SPEC.md`, and the retained `ROADMAP.md` collapse
|
|
39
|
+
</lifecycle_preflight>
|
|
40
|
+
|
|
41
|
+
<evidence_contract>
|
|
42
|
+
Milestone completion inherits the closure posture proven by the passed milestone audit.
|
|
43
|
+
|
|
44
|
+
Stable evidence kinds carried forward from audit:
|
|
45
|
+
- `code`
|
|
46
|
+
- `test`
|
|
47
|
+
- `runtime`
|
|
48
|
+
- `delivery`
|
|
49
|
+
- `human`
|
|
50
|
+
|
|
51
|
+
Read the audit frontmatter and preserve:
|
|
52
|
+
- `delivery_posture`
|
|
53
|
+
- `evidence_contract.required_kinds`
|
|
54
|
+
- `evidence_contract.observed_kinds`
|
|
55
|
+
- `evidence_contract.missing_kinds`
|
|
56
|
+
|
|
57
|
+
Shared closure rules:
|
|
58
|
+
- `repo_only` completion may proceed with repo-local closure evidence only; do not invent `runtime` or `delivery` proof
|
|
59
|
+
- `delivery_sensitive` completion must not proceed on code/prose-only evidence; the audit must already show required `code`, `test`, `runtime`, and `delivery` evidence with no missing required kinds
|
|
60
|
+
- if the audit omits the evidence contract or still has missing required kinds, STOP and route back to `/gsdd-audit-milestone` or `/gsdd-plan-milestone-gaps` instead of silently closing the milestone
|
|
61
|
+
</evidence_contract>
|
|
62
|
+
|
|
28
63
|
<process>
|
|
29
64
|
|
|
30
65
|
## 1. Verify Readiness
|
|
@@ -32,10 +67,11 @@ Before starting, read these files:
|
|
|
32
67
|
Check:
|
|
33
68
|
- **Phase completion**: Are all ROADMAP.md phases for this milestone marked `[x]`? List any that are not.
|
|
34
69
|
- **Audit status**: Does a MILESTONE-AUDIT.md exist and have status `passed`? If it has status `gaps_found`, the milestone has open gaps.
|
|
70
|
+
- **Audit evidence posture**: Does the passed audit frontmatter include `delivery_posture` and an `evidence_contract` block with no missing required kinds?
|
|
35
71
|
- **Spent-branch guard**: Run `git branch --merged origin/main` (substitute `master` or the configured default branch from `config.json → gitProtocol.branch` if different) and verify HEAD is not a spent/already-merged branch. If the current branch already backs a merged PR, STOP - do not instruct any commit or tag operations. Prompt the user to check out a fresh active branch before continuing.
|
|
36
72
|
- **Integration-surface warning pass**: Inspect staged, unstaged, untracked, unpushed, and PR-less local truth separately from the milestone artifacts. Warn if the archive is being attempted from a mixed-scope or stale branch even when the milestone documents themselves look complete.
|
|
37
73
|
|
|
38
|
-
**If phases incomplete or audit
|
|
74
|
+
**If phases incomplete, audit not passed, or the audit evidence contract is missing/insufficient:**
|
|
39
75
|
|
|
40
76
|
Present options:
|
|
41
77
|
1. **Proceed anyway** — archive with known gaps noted in MILESTONES.md
|
|
@@ -47,7 +83,7 @@ Present options:
|
|
|
47
83
|
|
|
48
84
|
Exception: if `config.json -> mode` is `yolo`, skip the stop gate and proceed with a note about any gaps.
|
|
49
85
|
|
|
50
|
-
**If all phases complete and audit
|
|
86
|
+
**If all phases complete, audit passed, and the audit evidence contract is satisfied:** Proceed.
|
|
51
87
|
|
|
52
88
|
## 2. Determine Version
|
|
53
89
|
|
|
@@ -14,9 +14,22 @@ CRITICAL: Read every file below before performing any other actions. This is you
|
|
|
14
14
|
4. Previous phase summaries beyond the immediately prior completed phase, if they are genuinely relevant
|
|
15
15
|
5. Relevant source files listed in the plan's `<files>` sections
|
|
16
16
|
6. `.planning/phases/*-SUMMARY.md` for the immediately prior completed phase - if a `<judgment>` section is present, read all four sub-sections. Honor `<anti_regression>` rules as execution constraints. Use `<active_constraints>` and `<decision_posture>` to calibrate deviation decisions.
|
|
17
|
-
7. **Session-boundary fallback:** If no prior completed phase SUMMARY.md with a `<judgment>` section was found in step 6, check whether `.planning/.continue-here.bak` exists. If it does, read its `<judgment>` section. Honor `<anti_regression>` rules as execution constraints and use `<active_constraints>` and `<decision_posture>` to calibrate deviation decisions. After reading, run `gsdd file-op delete .planning/.continue-here.bak --missing ok` (auto-clean).
|
|
17
|
+
7. **Session-boundary fallback:** If no prior completed phase SUMMARY.md with a `<judgment>` section was found in step 6, check whether `.planning/.continue-here.bak` exists. If it does, read its `<judgment>` section. Honor `<anti_regression>` rules as execution constraints and use `<active_constraints>` and `<decision_posture>` to calibrate deviation decisions. After reading, run `node .planning/bin/gsdd.mjs file-op delete .planning/.continue-here.bak --missing ok` (auto-clean).
|
|
18
18
|
</load_context>
|
|
19
19
|
|
|
20
|
+
<lifecycle_preflight>
|
|
21
|
+
Before implementing or mutating any lifecycle artifact, run:
|
|
22
|
+
|
|
23
|
+
- `node .planning/bin/gsdd.mjs lifecycle-preflight execute {phase_num} --expects-mutation phase-status`
|
|
24
|
+
|
|
25
|
+
If the preflight result is `blocked`, STOP and surface the blocker instead of inferring eligibility from workflow-local prose.
|
|
26
|
+
|
|
27
|
+
Treat the preflight as an authorization seam over shared repo truth only:
|
|
28
|
+
- it may authorize or reject execution
|
|
29
|
+
- it does not mutate `.planning/ROADMAP.md` by itself
|
|
30
|
+
- owned writes remain execution artifacts, and ROADMAP mutation stays explicit in `<state_updates>` via `node .planning/bin/gsdd.mjs phase-status`
|
|
31
|
+
</lifecycle_preflight>
|
|
32
|
+
|
|
20
33
|
<runtime_contract>
|
|
21
34
|
Execution uses the same `Runtime` and `Assurance` types as planning and verification.
|
|
22
35
|
Infer runtime from the launching surface when obvious: `.claude/` -> `claude-code`, `.codex/` or Codex portable skill -> `codex-cli`, `.opencode/` -> `opencode`, otherwise `other`.
|
|
@@ -273,8 +286,8 @@ Keep the update factual and compact:
|
|
|
273
286
|
### 2. Update ROADMAP.md Phase Status
|
|
274
287
|
Do not hand-edit the ROADMAP checkbox line. Use the status-aware helper instead:
|
|
275
288
|
|
|
276
|
-
- Run `gsdd phase-status {N} done` when this plan completes the phase.
|
|
277
|
-
- Run `gsdd phase-status {N} in_progress` when this plan completes but more plans remain in the phase.
|
|
289
|
+
- Run `node .planning/bin/gsdd.mjs phase-status {N} done` when this plan completes the phase.
|
|
290
|
+
- Run `node .planning/bin/gsdd.mjs phase-status {N} in_progress` when this plan completes but more plans remain in the phase.
|
|
278
291
|
|
|
279
292
|
The helper owns the `[ ]` / `[-]` / `[x]` mutation for `.planning/ROADMAP.md`.
|
|
280
293
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<role>
|
|
2
|
-
You are a Codebase Mapper Orchestrator. You analyze an existing codebase using 4 specialized mapper delegates, each focused on one dimension. The delegates write their documents directly -- you only coordinate, validate, and
|
|
2
|
+
You are a Codebase Mapper Orchestrator. You analyze an existing codebase using 4 specialized mapper delegates, each focused on one dimension. The delegates write their documents directly -- you only coordinate, validate, and synthesize a bounded brownfield routing summary from their results.
|
|
3
3
|
|
|
4
4
|
Output: `.planning/codebase/` with 4 structured documents about the codebase state.
|
|
5
5
|
</role>
|
|
@@ -9,11 +9,13 @@ Use this workflow when:
|
|
|
9
9
|
- Starting work on a brownfield (existing) codebase for the first time
|
|
10
10
|
- Codebase maps are missing or stale (major refactors, dependency upgrades, new modules)
|
|
11
11
|
- Explicitly requested as a standalone re-mapping
|
|
12
|
+
- You want a deeper brownfield orientation pass before choosing between bounded `quick` work and full `new-project` setup
|
|
12
13
|
|
|
13
14
|
Do NOT use when:
|
|
14
15
|
- Greenfield project with no existing code
|
|
15
16
|
- Maps already exist and are fresh (use Skip)
|
|
16
17
|
- You are in the middle of a plan/execute/verify cycle (use existing maps)
|
|
18
|
+
- You only need a small bounded brownfield change and the repo is already familiar enough for `quick` to build an inline baseline safely
|
|
17
19
|
</when_to_use>
|
|
18
20
|
|
|
19
21
|
<load_context>
|
|
@@ -146,6 +148,7 @@ These 4 documents are consumed by downstream GSDD workflows:
|
|
|
146
148
|
| `plan` (future) | ARCHITECTURE + CONVENTIONS for implementation planning |
|
|
147
149
|
| `execute` (future) | CONVENTIONS for code style, ARCHITECTURE for file placement |
|
|
148
150
|
| `verify` (future) | CONCERNS for regression awareness |
|
|
151
|
+
| `/gsdd-quick` | All 4 -- bounded brownfield context for safe feature work |
|
|
149
152
|
|
|
150
153
|
**What this means for mapper output quality:**
|
|
151
154
|
|
|
@@ -230,9 +233,17 @@ Report to the user what was accomplished, then present the next step:
|
|
|
230
233
|
---
|
|
231
234
|
**Completed:** Codebase mapping — 4 documents written to `.planning/codebase/` (STACK.md, ARCHITECTURE.md, CONVENTIONS.md, CONCERNS.md).
|
|
232
235
|
|
|
233
|
-
**
|
|
234
|
-
-
|
|
235
|
-
-
|
|
236
|
+
**Brownfield routing summary:** Synthesize this directly from the 4 generated documents before recommending the next workflow.
|
|
237
|
+
- Safest next change lane — which module or surface looks cheapest and safest to modify first
|
|
238
|
+
- Highest-risk zones — areas to avoid or isolate unless the task explicitly needs them
|
|
239
|
+
- Must-know traps — convention, dependency, or architecture constraints likely to cause mistakes
|
|
240
|
+
- Recommended next workflow — choose `/gsdd-quick` for bounded brownfield work or `/gsdd-new-project` only when the user intentionally wants to widen into full lifecycle setup, and say why
|
|
241
|
+
|
|
242
|
+
Use only the 4 generated documents for this synthesis. Do NOT create a fifth persistent artifact or write an additional routing-summary file.
|
|
243
|
+
|
|
244
|
+
**Next step:** Choose based on what you need:
|
|
245
|
+
- `/gsdd-new-project` — full project initialization (spec, roadmap, phased delivery), especially when you intentionally want to widen beyond the current bounded brownfield lane
|
|
246
|
+
- `/gsdd-quick` — bounded brownfield feature work without full ceremony (bug fixes, small features, one-off tasks)
|
|
236
247
|
|
|
237
248
|
Also available:
|
|
238
249
|
- `/gsdd-map-codebase` — re-map if results need refinement
|