gsd-antigravity-kit 2.0.0 → 2.1.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/.agent/skills/gsd/SKILL.md +26 -4
- package/.agent/skills/gsd/VERSION +1 -1
- package/.agent/skills/gsd/assets/templates/AI-SPEC.md +246 -0
- package/.agent/skills/gsd/assets/templates/DEBUG.md +7 -2
- package/.agent/skills/gsd/assets/templates/config.json +56 -48
- package/.agent/skills/gsd/assets/templates/research.md +40 -0
- package/.agent/skills/gsd/assets/templates/spec.md +307 -0
- package/.agent/skills/gsd/assets/templates/state.md +8 -0
- package/.agent/skills/gsd/bin/gsd-tools.cjs +212 -11
- package/.agent/skills/gsd/bin/help-manifest.json +8 -2
- package/.agent/skills/gsd/bin/hooks/gsd-check-update-worker.js +108 -0
- package/.agent/skills/gsd/bin/hooks/gsd-check-update.js +14 -89
- package/.agent/skills/gsd/bin/hooks/gsd-context-monitor.js +34 -5
- package/.agent/skills/gsd/bin/hooks/gsd-phase-boundary.sh +1 -0
- package/.agent/skills/gsd/bin/hooks/gsd-prompt-guard.js +1 -1
- package/.agent/skills/gsd/bin/hooks/gsd-read-guard.js +6 -1
- package/.agent/skills/gsd/bin/hooks/gsd-session-state.sh +1 -0
- package/.agent/skills/gsd/bin/hooks/gsd-statusline.js +150 -16
- package/.agent/skills/gsd/bin/hooks/gsd-validate-commit.sh +1 -0
- package/.agent/skills/gsd/bin/hooks/gsd-workflow-guard.js +1 -1
- package/.agent/skills/gsd/bin/lib/audit.cjs +757 -0
- package/.agent/skills/gsd/bin/lib/commands.cjs +17 -7
- package/.agent/skills/gsd/bin/lib/config.cjs +66 -20
- package/.agent/skills/gsd/bin/lib/core.cjs +212 -12
- package/.agent/skills/gsd/bin/lib/frontmatter.cjs +6 -8
- package/.agent/skills/gsd/bin/lib/graphify.cjs +494 -0
- package/.agent/skills/gsd/bin/lib/gsd2-import.cjs +511 -0
- package/.agent/skills/gsd/bin/lib/init.cjs +371 -18
- package/.agent/skills/gsd/bin/lib/intel.cjs +9 -30
- package/.agent/skills/gsd/bin/lib/milestone.cjs +18 -17
- package/.agent/skills/gsd/bin/lib/model-profiles.cjs +1 -0
- package/.agent/skills/gsd/bin/lib/phase.cjs +225 -98
- package/.agent/skills/gsd/bin/lib/profile-output.cjs +17 -5
- package/.agent/skills/gsd/bin/lib/roadmap.cjs +12 -5
- package/.agent/skills/gsd/bin/lib/state.cjs +394 -129
- package/.agent/skills/gsd/bin/lib/template.cjs +8 -4
- package/.agent/skills/gsd/bin/lib/uat.cjs +2 -1
- package/.agent/skills/gsd/bin/lib/verify.cjs +111 -42
- package/.agent/skills/gsd/migration_report.md +2 -2
- package/.agent/skills/gsd/references/agents/gsd-advisor-researcher.md +23 -0
- package/.agent/skills/gsd/references/agents/gsd-ai-researcher.md +133 -0
- package/.agent/skills/gsd/references/agents/gsd-code-fixer.md +11 -10
- package/.agent/skills/gsd/references/agents/gsd-code-reviewer.md +2 -2
- package/.agent/skills/gsd/references/agents/gsd-codebase-mapper.md +13 -2
- package/.agent/skills/gsd/references/agents/gsd-debug-session-manager.md +314 -0
- package/.agent/skills/gsd/references/agents/gsd-debugger.md +147 -76
- package/.agent/skills/gsd/references/agents/gsd-doc-verifier.md +1 -1
- package/.agent/skills/gsd/references/agents/gsd-doc-writer.md +615 -602
- package/.agent/skills/gsd/references/agents/gsd-domain-researcher.md +153 -0
- package/.agent/skills/gsd/references/agents/gsd-eval-auditor.md +175 -0
- package/.agent/skills/gsd/references/agents/gsd-eval-planner.md +154 -0
- package/.agent/skills/gsd/references/agents/gsd-executor.md +108 -38
- package/.agent/skills/gsd/references/agents/gsd-framework-selector.md +160 -0
- package/.agent/skills/gsd/references/agents/gsd-integration-checker.md +454 -443
- package/.agent/skills/gsd/references/agents/gsd-intel-updater.md +40 -20
- package/.agent/skills/gsd/references/agents/gsd-nyquist-auditor.md +187 -176
- package/.agent/skills/gsd/references/agents/gsd-pattern-mapper.md +335 -0
- package/.agent/skills/gsd/references/agents/gsd-phase-researcher.md +112 -13
- package/.agent/skills/gsd/references/agents/gsd-plan-checker.md +104 -10
- package/.agent/skills/gsd/references/agents/gsd-planner.md +125 -167
- package/.agent/skills/gsd/references/agents/gsd-project-researcher.md +25 -2
- package/.agent/skills/gsd/references/agents/gsd-research-synthesizer.md +3 -3
- package/.agent/skills/gsd/references/agents/gsd-roadmapper.md +12 -1
- package/.agent/skills/gsd/references/agents/gsd-security-auditor.md +139 -128
- package/.agent/skills/gsd/references/agents/gsd-ui-auditor.md +3 -3
- package/.agent/skills/gsd/references/agents/gsd-ui-checker.md +11 -2
- package/.agent/skills/gsd/references/agents/gsd-ui-researcher.md +27 -4
- package/.agent/skills/gsd/references/agents/gsd-verifier.md +13 -19
- package/.agent/skills/gsd/references/commands/atomic/add-todo.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/check-todos.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/cleanup.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/do.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/help.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/join-discord.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/note.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/session-report.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/ship.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/stats.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/thread.md +141 -41
- package/.agent/skills/gsd/references/commands/atomic/undo.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/add-backlog.md +15 -12
- package/.agent/skills/gsd/references/commands/milestone/audit-milestone.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/complete-milestone.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/milestone-summary.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/new-milestone.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/plan-milestone-gaps.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/plant-seed.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/review-backlog.md +4 -4
- package/.agent/skills/gsd/references/commands/misc/ai-integration-phase.md +38 -0
- package/.agent/skills/gsd/references/commands/misc/audit-fix.md +2 -2
- package/.agent/skills/gsd/references/commands/misc/audit-uat.md +2 -2
- package/.agent/skills/gsd/references/commands/misc/eval-review.md +34 -0
- package/.agent/skills/gsd/references/commands/misc/extract_learnings.md +24 -0
- package/.agent/skills/gsd/references/commands/misc/from-gsd2.md +49 -0
- package/.agent/skills/gsd/references/commands/misc/graphify.md +203 -0
- package/.agent/skills/gsd/references/commands/misc/inbox.md +40 -0
- package/.agent/skills/gsd/references/commands/misc/next.md +5 -3
- package/.agent/skills/gsd/references/commands/misc/progress.md +4 -3
- package/.agent/skills/gsd/references/commands/misc/sketch-wrap-up.md +33 -0
- package/.agent/skills/gsd/references/commands/misc/sketch.md +47 -0
- package/.agent/skills/gsd/references/commands/misc/spec-phase.md +64 -0
- package/.agent/skills/gsd/references/commands/misc/spike-wrap-up.md +33 -0
- package/.agent/skills/gsd/references/commands/misc/spike.md +43 -0
- package/.agent/skills/gsd/references/commands/misc/verify-work.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/add-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/add-tests.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/discuss-phase.md +5 -5
- package/.agent/skills/gsd/references/commands/phase/execute-phase.md +4 -4
- package/.agent/skills/gsd/references/commands/phase/insert-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/list-phase-assumptions.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/plan-phase.md +3 -3
- package/.agent/skills/gsd/references/commands/phase/remove-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/research-phase.md +5 -5
- package/.agent/skills/gsd/references/commands/phase/secure-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/ui-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/ui-review.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/validate-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/workstreams.md +9 -9
- package/.agent/skills/gsd/references/commands/project/analyze-dependencies.md +2 -2
- package/.agent/skills/gsd/references/commands/project/explore.md +2 -2
- package/.agent/skills/gsd/references/commands/project/import.md +2 -2
- package/.agent/skills/gsd/references/commands/project/intel.md +10 -10
- package/.agent/skills/gsd/references/commands/project/list-workspaces.md +2 -2
- package/.agent/skills/gsd/references/commands/project/map-codebase.md +2 -2
- package/.agent/skills/gsd/references/commands/project/new-project.md +2 -2
- package/.agent/skills/gsd/references/commands/project/new-workspace.md +2 -2
- package/.agent/skills/gsd/references/commands/project/remove-workspace.md +2 -2
- package/.agent/skills/gsd/references/commands/project/scan.md +2 -2
- package/.agent/skills/gsd/references/commands/system/autonomous.md +4 -3
- package/.agent/skills/gsd/references/commands/system/code-review-fix.md +3 -3
- package/.agent/skills/gsd/references/commands/system/code-review.md +3 -3
- package/.agent/skills/gsd/references/commands/system/debug.md +177 -100
- package/.agent/skills/gsd/references/commands/system/docs-update.md +2 -2
- package/.agent/skills/gsd/references/commands/system/fast.md +2 -2
- package/.agent/skills/gsd/references/commands/system/forensics.md +2 -2
- package/.agent/skills/gsd/references/commands/system/gsd-tools.md +153 -6
- package/.agent/skills/gsd/references/commands/system/health.md +2 -2
- package/.agent/skills/gsd/references/commands/system/manager.md +3 -3
- package/.agent/skills/gsd/references/commands/system/pause-work.md +2 -2
- package/.agent/skills/gsd/references/commands/system/pr-branch.md +2 -2
- package/.agent/skills/gsd/references/commands/system/profile-user.md +2 -2
- package/.agent/skills/gsd/references/commands/system/quick.md +127 -3
- package/.agent/skills/gsd/references/commands/system/reapply-patches.md +45 -6
- package/.agent/skills/gsd/references/commands/system/resume-work.md +2 -2
- package/.agent/skills/gsd/references/commands/system/review.md +6 -4
- package/.agent/skills/gsd/references/commands/system/set-profile.md +3 -3
- package/.agent/skills/gsd/references/commands/system/settings.md +2 -2
- package/.agent/skills/gsd/references/commands/system/update.md +2 -2
- package/.agent/skills/gsd/references/docs/ai-evals.md +156 -0
- package/.agent/skills/gsd/references/docs/ai-frameworks.md +186 -0
- package/.agent/skills/gsd/references/docs/artifact-types.md +18 -0
- package/.agent/skills/gsd/references/docs/autonomous-smart-discuss.md +277 -0
- package/.agent/skills/gsd/references/docs/checkpoints.md +30 -0
- package/.agent/skills/gsd/references/docs/common-bug-patterns.md +49 -49
- package/.agent/skills/gsd/references/docs/continuation-format.md +11 -7
- package/.agent/skills/gsd/references/docs/debugger-philosophy.md +76 -0
- package/.agent/skills/gsd/references/docs/decimal-phase-calculation.md +64 -64
- package/.agent/skills/gsd/references/docs/executor-examples.md +110 -0
- package/.agent/skills/gsd/references/docs/git-integration.md +4 -4
- package/.agent/skills/gsd/references/docs/git-planning-commit.md +40 -38
- package/.agent/skills/gsd/references/docs/ios-scaffold.md +123 -0
- package/.agent/skills/gsd/references/docs/mandatory-initial-read.md +2 -0
- package/.agent/skills/gsd/references/docs/phase-argument-parsing.md +61 -61
- package/.agent/skills/gsd/references/docs/planner-antipatterns.md +89 -0
- package/.agent/skills/gsd/references/docs/planner-revision.md +87 -87
- package/.agent/skills/gsd/references/docs/planner-source-audit.md +73 -0
- package/.agent/skills/gsd/references/docs/planning-config.md +33 -8
- package/.agent/skills/gsd/references/docs/project-skills-discovery.md +19 -0
- package/.agent/skills/gsd/references/docs/sketch-interactivity.md +41 -0
- package/.agent/skills/gsd/references/docs/sketch-theme-system.md +94 -0
- package/.agent/skills/gsd/references/docs/sketch-tooling.md +45 -0
- package/.agent/skills/gsd/references/docs/sketch-variant-patterns.md +81 -0
- package/.agent/skills/gsd/references/docs/tdd.md +67 -0
- package/.agent/skills/gsd/references/docs/universal-anti-patterns.md +5 -0
- package/.agent/skills/gsd/references/docs/workstream-flag.md +11 -11
- package/.agent/skills/gsd/references/mapping.md +1 -1
- package/.agent/skills/gsd/references/workflows/add-phase.md +112 -112
- package/.agent/skills/gsd/references/workflows/add-tests.md +6 -3
- package/.agent/skills/gsd/references/workflows/add-todo.md +5 -3
- package/.agent/skills/gsd/references/workflows/ai-integration-phase.md +284 -0
- package/.agent/skills/gsd/references/workflows/audit-fix.md +157 -157
- package/.agent/skills/gsd/references/workflows/audit-milestone.md +340 -340
- package/.agent/skills/gsd/references/workflows/audit-uat.md +109 -109
- package/.agent/skills/gsd/references/workflows/autonomous.md +20 -288
- package/.agent/skills/gsd/references/workflows/check-todos.md +4 -2
- package/.agent/skills/gsd/references/workflows/cleanup.md +3 -1
- package/.agent/skills/gsd/references/workflows/code-review-fix.md +497 -497
- package/.agent/skills/gsd/references/workflows/code-review.md +515 -515
- package/.agent/skills/gsd/references/workflows/complete-milestone.md +97 -24
- package/.agent/skills/gsd/references/workflows/diagnose-issues.md +238 -238
- package/.agent/skills/gsd/references/workflows/discovery-phase.md +2 -0
- package/.agent/skills/gsd/references/workflows/discuss-phase-assumptions.md +11 -11
- package/.agent/skills/gsd/references/workflows/discuss-phase.md +143 -19
- package/.agent/skills/gsd/references/workflows/do.md +8 -2
- package/.agent/skills/gsd/references/workflows/docs-update.md +5 -3
- package/.agent/skills/gsd/references/workflows/eval-review.md +155 -0
- package/.agent/skills/gsd/references/workflows/execute-phase.md +338 -54
- package/.agent/skills/gsd/references/workflows/execute-plan.md +80 -104
- package/.agent/skills/gsd/references/workflows/explore.md +3 -1
- package/.agent/skills/gsd/references/workflows/extract_learnings.md +232 -0
- package/.agent/skills/gsd/references/workflows/forensics.md +3 -3
- package/.agent/skills/gsd/references/workflows/health.md +2 -2
- package/.agent/skills/gsd/references/workflows/help.md +59 -1
- package/.agent/skills/gsd/references/workflows/import.md +3 -1
- package/.agent/skills/gsd/references/workflows/inbox.md +387 -384
- package/.agent/skills/gsd/references/workflows/insert-phase.md +130 -130
- package/.agent/skills/gsd/references/workflows/list-workspaces.md +56 -56
- package/.agent/skills/gsd/references/workflows/manager.md +5 -3
- package/.agent/skills/gsd/references/workflows/map-codebase.md +19 -5
- package/.agent/skills/gsd/references/workflows/milestone-summary.md +6 -6
- package/.agent/skills/gsd/references/workflows/new-milestone.md +63 -9
- package/.agent/skills/gsd/references/workflows/new-project.md +126 -22
- package/.agent/skills/gsd/references/workflows/new-workspace.md +6 -4
- package/.agent/skills/gsd/references/workflows/next.md +220 -153
- package/.agent/skills/gsd/references/workflows/note.md +2 -0
- package/.agent/skills/gsd/references/workflows/pause-work.md +11 -7
- package/.agent/skills/gsd/references/workflows/plan-milestone-gaps.md +273 -273
- package/.agent/skills/gsd/references/workflows/plan-phase.md +281 -62
- package/.agent/skills/gsd/references/workflows/plant-seed.md +4 -1
- package/.agent/skills/gsd/references/workflows/pr-branch.md +41 -13
- package/.agent/skills/gsd/references/workflows/profile-user.md +15 -13
- package/.agent/skills/gsd/references/workflows/progress.md +133 -21
- package/.agent/skills/gsd/references/workflows/quick.md +67 -27
- package/.agent/skills/gsd/references/workflows/remove-phase.md +155 -155
- package/.agent/skills/gsd/references/workflows/remove-workspace.md +4 -2
- package/.agent/skills/gsd/references/workflows/research-phase.md +3 -3
- package/.agent/skills/gsd/references/workflows/resume-project.md +3 -3
- package/.agent/skills/gsd/references/workflows/review.md +71 -8
- package/.agent/skills/gsd/references/workflows/scan.md +102 -102
- package/.agent/skills/gsd/references/workflows/secure-phase.md +7 -5
- package/.agent/skills/gsd/references/workflows/settings.md +24 -7
- package/.agent/skills/gsd/references/workflows/ship.md +71 -6
- package/.agent/skills/gsd/references/workflows/sketch-wrap-up.md +283 -0
- package/.agent/skills/gsd/references/workflows/sketch.md +263 -0
- package/.agent/skills/gsd/references/workflows/spec-phase.md +262 -0
- package/.agent/skills/gsd/references/workflows/spike-wrap-up.md +273 -0
- package/.agent/skills/gsd/references/workflows/spike.md +270 -0
- package/.agent/skills/gsd/references/workflows/stats.md +60 -60
- package/.agent/skills/gsd/references/workflows/transition.md +671 -671
- package/.agent/skills/gsd/references/workflows/ui-phase.md +33 -12
- package/.agent/skills/gsd/references/workflows/ui-review.md +6 -4
- package/.agent/skills/gsd/references/workflows/undo.md +3 -1
- package/.agent/skills/gsd/references/workflows/update.md +113 -2
- package/.agent/skills/gsd/references/workflows/validate-phase.md +7 -5
- package/.agent/skills/gsd/references/workflows/verify-phase.md +93 -10
- package/.agent/skills/gsd/references/workflows/verify-work.md +50 -10
- package/.agent/skills/gsd-converter/references/mapping.md +1 -1
- package/.agent/skills/gsd-converter/scripts/convert.py +36 -17
- package/.agent/skills/gsd-converter/scripts/regression_test.py +68 -33
- package/README.md +3 -2
- package/package.json +4 -2
- package/.agent/skills/release-manager/SKILL.md +0 -162
- package/.agent/skills/release-manager/bin/LICENSE +0 -21
- package/.agent/skills/release-manager/bin/gh.exe +0 -0
- package/.agent/skills/release-manager/references/update_kb_from_fixes.md +0 -29
- package/.agent/skills/release-manager/scripts/release.ps1 +0 -222
- package/.agent/skills/selectpaste-update/SKILL.md +0 -46
- package/.agent/skills/selectpaste-update/scripts/sync-commands.py +0 -317
|
@@ -36,8 +36,13 @@ Parse `$ARGUMENTS` for:
|
|
|
36
36
|
- `--research` flag → store `$RESEARCH_MODE=true`
|
|
37
37
|
- Remaining text → use as `$DESCRIPTION` if non-empty
|
|
38
38
|
|
|
39
|
+
After parsing, normalize: if `$DISCUSS_MODE` and `$RESEARCH_MODE` and `$VALIDATE_MODE` are all true, set `$FULL_MODE=true`. This ensures `--discuss --research --validate` is treated identically to `--full`.
|
|
40
|
+
|
|
39
41
|
If `$DESCRIPTION` is empty after parsing, prompt user interactively:
|
|
40
42
|
|
|
43
|
+
|
|
44
|
+
**Text mode (`workflow.text_mode: true` in config or `--text` flag):** Set `TEXT_MODE=true` if `--text` is present in `$ARGUMENTS` OR `text_mode` from init JSON is `true`. When TEXT_MODE is active, replace every `AskUserQuestion` call with a plain-text numbered list and ask the user to type their choice number. This is required for non-Antigravity runtimes (OpenAI Codex, Gemini CLI, etc.) where `AskUserQuestion` is not available.
|
|
45
|
+
|
|
41
46
|
```
|
|
42
47
|
AskUserQuestion(
|
|
43
48
|
header: "Quick Task",
|
|
@@ -61,15 +66,6 @@ If `$FULL_MODE` (all phases enabled — `--full` or all granular flags):
|
|
|
61
66
|
◆ Discussion + research + plan checking + verification enabled
|
|
62
67
|
```
|
|
63
68
|
|
|
64
|
-
If `$DISCUSS_MODE` and `$RESEARCH_MODE` and `$VALIDATE_MODE` (no `$FULL_MODE` — composed granularly):
|
|
65
|
-
```
|
|
66
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
67
|
-
GSD ► QUICK TASK (DISCUSS + RESEARCH + VALIDATE)
|
|
68
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
69
|
-
|
|
70
|
-
◆ Discussion + research + plan checking + verification enabled
|
|
71
|
-
```
|
|
72
|
-
|
|
73
69
|
If `$DISCUSS_MODE` and `$VALIDATE_MODE` (no research):
|
|
74
70
|
```
|
|
75
71
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
@@ -129,18 +125,40 @@ If `$VALIDATE_MODE` only:
|
|
|
129
125
|
**Step 2: Initialize**
|
|
130
126
|
|
|
131
127
|
```bash
|
|
132
|
-
|
|
128
|
+
if ! command -v gsd-sdk &>/dev/null; then
|
|
129
|
+
echo "⚠ gsd-sdk not found in PATH — /gsd-quick requires it."
|
|
130
|
+
echo ""
|
|
131
|
+
echo "Install the GSD SDK:"
|
|
132
|
+
echo " npm install -g @gsd-build/sdk"
|
|
133
|
+
echo ""
|
|
134
|
+
echo "Or update GSD to get the latest packages:"
|
|
135
|
+
echo " /gsd-update"
|
|
136
|
+
exit 1
|
|
137
|
+
fi
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
INIT=$(gsd-sdk query init.quick "$DESCRIPTION")
|
|
133
142
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
143
|
+
AGENT_SKILLS_PLANNER=$(gsd-sdk query agent-skills gsd-planner 2>/dev/null)
|
|
144
|
+
AGENT_SKILLS_EXECUTOR=$(gsd-sdk query agent-skills gsd-executor 2>/dev/null)
|
|
145
|
+
AGENT_SKILLS_CHECKER=$(gsd-sdk query agent-skills gsd-checker 2>/dev/null)
|
|
146
|
+
AGENT_SKILLS_VERIFIER=$(gsd-sdk query agent-skills gsd-verifier 2>/dev/null)
|
|
138
147
|
```
|
|
139
148
|
|
|
140
149
|
Parse JSON for: `planner_model`, `executor_model`, `checker_model`, `verifier_model`, `commit_docs`, `branch_name`, `quick_id`, `slug`, `date`, `timestamp`, `quick_dir`, `task_dir`, `roadmap_exists`, `planning_exists`.
|
|
141
150
|
|
|
142
151
|
```bash
|
|
143
|
-
|
|
152
|
+
USE_WORKTREES=$(gsd-sdk query config-get workflow.use_worktrees 2>/dev/null || echo "true")
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
If the project uses git submodules, worktree isolation is skipped:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
if [ -f .gitmodules ]; then
|
|
159
|
+
echo "[worktree] Submodule project detected (.gitmodules exists) — falling back to sequential execution"
|
|
160
|
+
USE_WORKTREES=false
|
|
161
|
+
fi
|
|
144
162
|
```
|
|
145
163
|
|
|
146
164
|
**If `roadmap_exists` is false:** Error — Quick mode requires an active project with ROADMAP.md. Run `/gsd-new-project` first.
|
|
@@ -567,8 +585,10 @@ ${USE_WORKTREES !== "false" ? `
|
|
|
567
585
|
<worktree_branch_check>
|
|
568
586
|
FIRST ACTION before any other work: verify this worktree branch is based on the correct commit.
|
|
569
587
|
Run: git merge-base HEAD ${EXPECTED_BASE}
|
|
570
|
-
If the result differs from ${EXPECTED_BASE},
|
|
571
|
-
|
|
588
|
+
If the result differs from ${EXPECTED_BASE}, hard-reset to the correct base (safe — runs before any agent work):
|
|
589
|
+
git reset --hard ${EXPECTED_BASE}
|
|
590
|
+
Then verify: if [ "$(git rev-parse HEAD)" != "${EXPECTED_BASE}" ]; then echo "ERROR: Could not correct worktree base"; exit 1; fi
|
|
591
|
+
This corrects a known issue where EnterWorktree creates branches from main instead of the feature branch HEAD (affects all platforms).
|
|
572
592
|
</worktree_branch_check>
|
|
573
593
|
` : ''}
|
|
574
594
|
|
|
@@ -608,16 +628,27 @@ After executor returns:
|
|
|
608
628
|
# Backup STATE.md and ROADMAP.md before merge (main always wins)
|
|
609
629
|
STATE_BACKUP=$(mktemp)
|
|
610
630
|
ROADMAP_BACKUP=$(mktemp)
|
|
611
|
-
|
|
612
|
-
|
|
631
|
+
[ -f .planning/STATE.md ] && cp .planning/STATE.md "$STATE_BACKUP" || true
|
|
632
|
+
[ -f .planning/ROADMAP.md ] && cp .planning/ROADMAP.md "$ROADMAP_BACKUP" || true
|
|
613
633
|
|
|
614
634
|
# Snapshot files on main to detect resurrections
|
|
615
635
|
PRE_MERGE_FILES=$(git ls-files .planning/)
|
|
616
636
|
|
|
617
|
-
|
|
618
|
-
|
|
637
|
+
# Pre-merge deletion guard: block merges that delete tracked .planning/ files
|
|
638
|
+
DELETIONS=$(git diff --diff-filter=D --name-only HEAD..."$WT_BRANCH" 2>/dev/null || true)
|
|
639
|
+
if [ -n "$DELETIONS" ]; then
|
|
640
|
+
echo "BLOCKED: Worktree branch $WT_BRANCH contains file deletions: $DELETIONS"
|
|
641
|
+
echo "Review these deletions before merging. If intentional, remove this guard and re-run."
|
|
619
642
|
rm -f "$STATE_BACKUP" "$ROADMAP_BACKUP"
|
|
620
643
|
continue
|
|
644
|
+
fi
|
|
645
|
+
|
|
646
|
+
git merge "$WT_BRANCH" --no-ff --no-edit -m "chore: merge quick task worktree ($WT_BRANCH)" 2>&1 || {
|
|
647
|
+
echo "⚠ Merge conflict from worktree $WT_BRANCH — resolve manually"
|
|
648
|
+
echo " STATE.md backup: $STATE_BACKUP"
|
|
649
|
+
echo " ROADMAP.md backup: $ROADMAP_BACKUP"
|
|
650
|
+
echo " Restore with: cp \$STATE_BACKUP .planning/STATE.md && cp \$ROADMAP_BACKUP .planning/ROADMAP.md"
|
|
651
|
+
break
|
|
621
652
|
}
|
|
622
653
|
|
|
623
654
|
# Restore orchestrator-owned files
|
|
@@ -625,7 +656,7 @@ After executor returns:
|
|
|
625
656
|
if [ -s "$ROADMAP_BACKUP" ]; then cp "$ROADMAP_BACKUP" .planning/ROADMAP.md; fi
|
|
626
657
|
rm -f "$STATE_BACKUP" "$ROADMAP_BACKUP"
|
|
627
658
|
|
|
628
|
-
# Remove files deleted on main but re-added by worktree
|
|
659
|
+
# Remove files deleted on main but re-added by worktree (--no-ff guarantees a merge commit so HEAD~1 is reliable)
|
|
629
660
|
DELETED_FILES=$(git diff --diff-filter=A --name-only HEAD~1 -- .planning/ 2>/dev/null || true)
|
|
630
661
|
for RESURRECTED in $DELETED_FILES; do
|
|
631
662
|
if ! echo "$PRE_MERGE_FILES" | grep -qxF "$RESURRECTED"; then
|
|
@@ -635,13 +666,22 @@ After executor returns:
|
|
|
635
666
|
|
|
636
667
|
if ! git diff --quiet .planning/STATE.md .planning/ROADMAP.md 2>/dev/null || \
|
|
637
668
|
[ -n "$DELETED_FILES" ]; then
|
|
638
|
-
|
|
669
|
+
COMMIT_DOCS=$(gsd-sdk query config-get commit_docs 2>/dev/null || echo "true")
|
|
639
670
|
if [ "$COMMIT_DOCS" != "false" ]; then
|
|
640
671
|
git add .planning/STATE.md .planning/ROADMAP.md 2>/dev/null || true
|
|
641
672
|
git commit --amend --no-edit 2>/dev/null || true
|
|
642
673
|
fi
|
|
643
674
|
fi
|
|
644
675
|
|
|
676
|
+
# Safety net: rescue uncommitted SUMMARY.md before worktree removal (#2296, mirrors #2070)
|
|
677
|
+
UNCOMMITTED_SUMMARY=$(git -C "$WT" ls-files --modified --others --exclude-standard -- "*SUMMARY.md" 2>/dev/null || true)
|
|
678
|
+
if [ -n "$UNCOMMITTED_SUMMARY" ]; then
|
|
679
|
+
echo "⚠ SUMMARY.md was not committed by executor — committing now to prevent data loss"
|
|
680
|
+
git -C "$WT" add -- "*SUMMARY.md" 2>/dev/null || true
|
|
681
|
+
git -C "$WT" commit --no-verify -m "docs(recovery): rescue uncommitted SUMMARY.md before worktree removal (#2070)" 2>/dev/null || true
|
|
682
|
+
git merge "$WT_BRANCH" --no-edit -m "chore: merge rescued SUMMARY.md from executor worktree ($WT_BRANCH)" 2>/dev/null || true
|
|
683
|
+
fi
|
|
684
|
+
|
|
645
685
|
git worktree remove "$WT" --force 2>/dev/null || true
|
|
646
686
|
git branch -D "$WT_BRANCH" 2>/dev/null || true
|
|
647
687
|
fi
|
|
@@ -666,7 +706,7 @@ Skip this step entirely if `$FULL_MODE` is false.
|
|
|
666
706
|
|
|
667
707
|
**Config gate:**
|
|
668
708
|
```bash
|
|
669
|
-
|
|
709
|
+
CODE_REVIEW_ENABLED=$(gsd-sdk query config-get workflow.code_review 2>/dev/null || echo "true")
|
|
670
710
|
```
|
|
671
711
|
If `"false"`, skip with message "Code review skipped (workflow.code_review=false)".
|
|
672
712
|
|
|
@@ -813,7 +853,7 @@ Use Edit tool to make these changes atomically
|
|
|
813
853
|
|
|
814
854
|
**Step 8: Final commit and completion**
|
|
815
855
|
|
|
816
|
-
Stage and commit quick task artifacts. This step MUST always run — even if the executor already committed some files (e.g. when running without worktree isolation). The `gsd-
|
|
856
|
+
Stage and commit quick task artifacts. This step MUST always run — even if the executor already committed some files (e.g. when running without worktree isolation). The `gsd-sdk query commit` command (or legacy `gsd-tools.cjs` commit) handles already-committed files gracefully.
|
|
817
857
|
|
|
818
858
|
Build file list:
|
|
819
859
|
- `${QUICK_DIR}/${quick_id}-PLAN.md`
|
|
@@ -827,14 +867,14 @@ Build file list:
|
|
|
827
867
|
# Explicitly stage all artifacts before commit — PLAN.md may be untracked
|
|
828
868
|
# if the executor ran without worktree isolation and committed docs early
|
|
829
869
|
# Filter .planning/ files from staging if commit_docs is disabled (#1783)
|
|
830
|
-
|
|
870
|
+
COMMIT_DOCS=$(gsd-sdk query config-get commit_docs 2>/dev/null || echo "true")
|
|
831
871
|
if [ "$COMMIT_DOCS" = "false" ]; then
|
|
832
872
|
file_list_filtered=$(echo "${file_list}" | tr ' ' '\n' | grep -v '^\.planning/' | tr '\n' ' ')
|
|
833
873
|
git add ${file_list_filtered} 2>/dev/null
|
|
834
874
|
else
|
|
835
875
|
git add ${file_list} 2>/dev/null
|
|
836
876
|
fi
|
|
837
|
-
|
|
877
|
+
gsd-sdk query commit "docs(quick-${quick_id}): ${DESCRIPTION}" ${file_list}
|
|
838
878
|
```
|
|
839
879
|
|
|
840
880
|
Get final commit hash:
|
|
@@ -1,155 +1,155 @@
|
|
|
1
|
-
<purpose>
|
|
2
|
-
Remove an unstarted future phase from the project roadmap, delete its directory, renumber all subsequent phases to maintain a clean linear sequence, and commit the change. The git commit serves as the historical record of removal.
|
|
3
|
-
</purpose>
|
|
4
|
-
|
|
5
|
-
<required_reading>
|
|
6
|
-
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
-
</required_reading>
|
|
8
|
-
|
|
9
|
-
<process>
|
|
10
|
-
|
|
11
|
-
<step name="parse_arguments">
|
|
12
|
-
Parse the command arguments:
|
|
13
|
-
- Argument is the phase number to remove (integer or decimal)
|
|
14
|
-
- Example: `/gsd-remove-phase 17` → phase = 17
|
|
15
|
-
- Example: `/gsd-remove-phase 16.1` → phase = 16.1
|
|
16
|
-
|
|
17
|
-
If no argument provided:
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
ERROR: Phase number required
|
|
21
|
-
Usage: /gsd-remove-phase <phase-number>
|
|
22
|
-
Example: /gsd-remove-phase 17
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Exit.
|
|
26
|
-
</step>
|
|
27
|
-
|
|
28
|
-
<step name="init_context">
|
|
29
|
-
Load phase operation context:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
|
|
33
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Extract: `phase_found`, `phase_dir`, `phase_number`, `commit_docs`, `roadmap_exists`.
|
|
37
|
-
|
|
38
|
-
Also read STATE.md and ROADMAP.md content for parsing current position.
|
|
39
|
-
</step>
|
|
40
|
-
|
|
41
|
-
<step name="validate_future_phase">
|
|
42
|
-
Verify the phase is a future phase (not started):
|
|
43
|
-
|
|
44
|
-
1. Compare target phase to current phase from STATE.md
|
|
45
|
-
2. Target must be > current phase number
|
|
46
|
-
|
|
47
|
-
If target <= current phase:
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
ERROR: Cannot remove Phase {target}
|
|
51
|
-
|
|
52
|
-
Only future phases can be removed:
|
|
53
|
-
- Current phase: {current}
|
|
54
|
-
- Phase {target} is current or completed
|
|
55
|
-
|
|
56
|
-
To abandon current work, use /gsd-pause-work instead.
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Exit.
|
|
60
|
-
</step>
|
|
61
|
-
|
|
62
|
-
<step name="confirm_removal">
|
|
63
|
-
Present removal summary and confirm:
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
Removing Phase {target}: {Name}
|
|
67
|
-
|
|
68
|
-
This will:
|
|
69
|
-
- Delete: .planning/phases/{target}-{slug}/
|
|
70
|
-
- Renumber all subsequent phases
|
|
71
|
-
- Update: ROADMAP.md, STATE.md
|
|
72
|
-
|
|
73
|
-
Proceed? (y/n)
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
Wait for confirmation.
|
|
77
|
-
</step>
|
|
78
|
-
|
|
79
|
-
<step name="execute_removal">
|
|
80
|
-
**Delegate the entire removal operation to gsd-
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
If the phase has executed plans (SUMMARY.md files),
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
The CLI handles:
|
|
93
|
-
- Deleting the phase directory
|
|
94
|
-
- Renumbering all subsequent directories (in reverse order to avoid conflicts)
|
|
95
|
-
- Renaming all files inside renumbered directories (PLAN.md, SUMMARY.md, etc.)
|
|
96
|
-
- Updating ROADMAP.md (removing section, renumbering all phase references, updating dependencies)
|
|
97
|
-
- Updating STATE.md (decrementing phase count)
|
|
98
|
-
|
|
99
|
-
Extract from result: `removed`, `directory_deleted`, `renamed_directories`, `renamed_files`, `roadmap_updated`, `state_updated`.
|
|
100
|
-
</step>
|
|
101
|
-
|
|
102
|
-
<step name="commit">
|
|
103
|
-
Stage and commit the removal:
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
The commit message preserves the historical record of what was removed.
|
|
110
|
-
</step>
|
|
111
|
-
|
|
112
|
-
<step name="completion">
|
|
113
|
-
Present completion summary:
|
|
114
|
-
|
|
115
|
-
```
|
|
116
|
-
Phase {target} ({original-name}) removed.
|
|
117
|
-
|
|
118
|
-
Changes:
|
|
119
|
-
- Deleted: .planning/phases/{target}-{slug}/
|
|
120
|
-
- Renumbered: {N} directories and {M} files
|
|
121
|
-
- Updated: ROADMAP.md, STATE.md
|
|
122
|
-
- Committed: chore: remove phase {target} ({original-name})
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## What's Next
|
|
127
|
-
|
|
128
|
-
Would you like to:
|
|
129
|
-
- `/gsd-progress` — see updated roadmap status
|
|
130
|
-
- Continue with current phase
|
|
131
|
-
- Review roadmap
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
```
|
|
135
|
-
</step>
|
|
136
|
-
|
|
137
|
-
</process>
|
|
138
|
-
|
|
139
|
-
<anti_patterns>
|
|
140
|
-
|
|
141
|
-
- Don't remove completed phases (have SUMMARY.md files) without --force
|
|
142
|
-
- Don't remove current or past phases
|
|
143
|
-
- Don't manually renumber — use `gsd-
|
|
144
|
-
- Don't add "removed phase" notes to STATE.md — git commit is the record
|
|
145
|
-
- Don't modify completed phase directories
|
|
146
|
-
</anti_patterns>
|
|
147
|
-
|
|
148
|
-
<success_criteria>
|
|
149
|
-
Phase removal is complete when:
|
|
150
|
-
|
|
151
|
-
- [ ] Target phase validated as future/unstarted
|
|
152
|
-
- [ ] `gsd-
|
|
153
|
-
- [ ] Changes committed with descriptive message
|
|
154
|
-
- [ ] User informed of changes
|
|
155
|
-
</success_criteria>
|
|
1
|
+
<purpose>
|
|
2
|
+
Remove an unstarted future phase from the project roadmap, delete its directory, renumber all subsequent phases to maintain a clean linear sequence, and commit the change. The git commit serves as the historical record of removal.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<required_reading>
|
|
6
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
|
|
11
|
+
<step name="parse_arguments">
|
|
12
|
+
Parse the command arguments:
|
|
13
|
+
- Argument is the phase number to remove (integer or decimal)
|
|
14
|
+
- Example: `/gsd-remove-phase 17` → phase = 17
|
|
15
|
+
- Example: `/gsd-remove-phase 16.1` → phase = 16.1
|
|
16
|
+
|
|
17
|
+
If no argument provided:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
ERROR: Phase number required
|
|
21
|
+
Usage: /gsd-remove-phase <phase-number>
|
|
22
|
+
Example: /gsd-remove-phase 17
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Exit.
|
|
26
|
+
</step>
|
|
27
|
+
|
|
28
|
+
<step name="init_context">
|
|
29
|
+
Load phase operation context:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
INIT=$(gsd-sdk query init.phase-op "${target}")
|
|
33
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Extract: `phase_found`, `phase_dir`, `phase_number`, `commit_docs`, `roadmap_exists`.
|
|
37
|
+
|
|
38
|
+
Also read STATE.md and ROADMAP.md content for parsing current position.
|
|
39
|
+
</step>
|
|
40
|
+
|
|
41
|
+
<step name="validate_future_phase">
|
|
42
|
+
Verify the phase is a future phase (not started):
|
|
43
|
+
|
|
44
|
+
1. Compare target phase to current phase from STATE.md
|
|
45
|
+
2. Target must be > current phase number
|
|
46
|
+
|
|
47
|
+
If target <= current phase:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
ERROR: Cannot remove Phase {target}
|
|
51
|
+
|
|
52
|
+
Only future phases can be removed:
|
|
53
|
+
- Current phase: {current}
|
|
54
|
+
- Phase {target} is current or completed
|
|
55
|
+
|
|
56
|
+
To abandon current work, use /gsd-pause-work instead.
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Exit.
|
|
60
|
+
</step>
|
|
61
|
+
|
|
62
|
+
<step name="confirm_removal">
|
|
63
|
+
Present removal summary and confirm:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Removing Phase {target}: {Name}
|
|
67
|
+
|
|
68
|
+
This will:
|
|
69
|
+
- Delete: .planning/phases/{target}-{slug}/
|
|
70
|
+
- Renumber all subsequent phases
|
|
71
|
+
- Update: ROADMAP.md, STATE.md
|
|
72
|
+
|
|
73
|
+
Proceed? (y/n)
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Wait for confirmation.
|
|
77
|
+
</step>
|
|
78
|
+
|
|
79
|
+
<step name="execute_removal">
|
|
80
|
+
**Delegate the entire removal operation to `gsd-sdk query phase.remove`:**
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
RESULT=$(gsd-sdk query phase.remove "${target}")
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
If the phase has executed plans (SUMMARY.md files), the CLI will error. Use `--force` only if the user confirms:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
RESULT=$(gsd-sdk query phase.remove "${target}" --force)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
The CLI handles:
|
|
93
|
+
- Deleting the phase directory
|
|
94
|
+
- Renumbering all subsequent directories (in reverse order to avoid conflicts)
|
|
95
|
+
- Renaming all files inside renumbered directories (PLAN.md, SUMMARY.md, etc.)
|
|
96
|
+
- Updating ROADMAP.md (removing section, renumbering all phase references, updating dependencies)
|
|
97
|
+
- Updating STATE.md (decrementing phase count)
|
|
98
|
+
|
|
99
|
+
Extract from result: `removed`, `directory_deleted`, `renamed_directories`, `renamed_files`, `roadmap_updated`, `state_updated`.
|
|
100
|
+
</step>
|
|
101
|
+
|
|
102
|
+
<step name="commit">
|
|
103
|
+
Stage and commit the removal:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
gsd-sdk query commit "chore: remove phase {target} ({original-phase-name})" .planning/
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
The commit message preserves the historical record of what was removed.
|
|
110
|
+
</step>
|
|
111
|
+
|
|
112
|
+
<step name="completion">
|
|
113
|
+
Present completion summary:
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
Phase {target} ({original-name}) removed.
|
|
117
|
+
|
|
118
|
+
Changes:
|
|
119
|
+
- Deleted: .planning/phases/{target}-{slug}/
|
|
120
|
+
- Renumbered: {N} directories and {M} files
|
|
121
|
+
- Updated: ROADMAP.md, STATE.md
|
|
122
|
+
- Committed: chore: remove phase {target} ({original-name})
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## What's Next
|
|
127
|
+
|
|
128
|
+
Would you like to:
|
|
129
|
+
- `/gsd-progress` — see updated roadmap status
|
|
130
|
+
- Continue with current phase
|
|
131
|
+
- Review roadmap
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
```
|
|
135
|
+
</step>
|
|
136
|
+
|
|
137
|
+
</process>
|
|
138
|
+
|
|
139
|
+
<anti_patterns>
|
|
140
|
+
|
|
141
|
+
- Don't remove completed phases (have SUMMARY.md files) without --force
|
|
142
|
+
- Don't remove current or past phases
|
|
143
|
+
- Don't manually renumber — use `gsd-sdk query phase.remove` which handles all renumbering
|
|
144
|
+
- Don't add "removed phase" notes to STATE.md — git commit is the record
|
|
145
|
+
- Don't modify completed phase directories
|
|
146
|
+
</anti_patterns>
|
|
147
|
+
|
|
148
|
+
<success_criteria>
|
|
149
|
+
Phase removal is complete when:
|
|
150
|
+
|
|
151
|
+
- [ ] Target phase validated as future/unstarted
|
|
152
|
+
- [ ] `gsd-sdk query phase.remove` executed successfully
|
|
153
|
+
- [ ] Changes committed with descriptive message
|
|
154
|
+
- [ ] User informed of changes
|
|
155
|
+
</success_criteria>
|
|
@@ -13,7 +13,7 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
13
13
|
Extract workspace name from $ARGUMENTS.
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
|
|
16
|
+
INIT=$(gsd-sdk query init.remove-workspace "$WORKSPACE_NAME")
|
|
17
17
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
18
18
|
```
|
|
19
19
|
|
|
@@ -23,6 +23,8 @@ Parse JSON for: `workspace_name`, `workspace_path`, `has_manifest`, `strategy`,
|
|
|
23
23
|
|
|
24
24
|
First run `/gsd-list-workspaces` to show available workspaces, then ask:
|
|
25
25
|
|
|
26
|
+
|
|
27
|
+
**Text mode (`workflow.text_mode: true` in config or `--text` flag):** Set `TEXT_MODE=true` if `--text` is present in `$ARGUMENTS` OR `text_mode` from init JSON is `true`. When TEXT_MODE is active, replace every `AskUserQuestion` call with a plain-text numbered list and ask the user to type their choice number. This is required for non-Antigravity runtimes (OpenAI Codex, Gemini CLI, etc.) where `AskUserQuestion` is not available.
|
|
26
28
|
Use AskUserQuestion:
|
|
27
29
|
- header: "Remove Workspace"
|
|
28
30
|
- question: "Which workspace do you want to remove?"
|
|
@@ -41,7 +43,7 @@ Cannot remove workspace "$WORKSPACE_NAME" — the following repos have uncommitt
|
|
|
41
43
|
- repo2
|
|
42
44
|
|
|
43
45
|
Commit or stash changes in these repos before removing the workspace:
|
|
44
|
-
cd $WORKSPACE_PATH/repo1
|
|
46
|
+
cd "$WORKSPACE_PATH/repo1"
|
|
45
47
|
git stash # or git commit
|
|
46
48
|
```
|
|
47
49
|
|
|
@@ -23,7 +23,7 @@ Resolve model for:
|
|
|
23
23
|
@references/docs/phase-argument-parsing.md
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
|
|
26
|
+
PHASE_INFO=$(gsd-sdk query roadmap.get-phase "${PHASE}")
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
If `found` is false: Error and exit.
|
|
@@ -39,10 +39,10 @@ If exists: Offer update/view/skip options.
|
|
|
39
39
|
## Step 3: Gather Phase Context
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
|
|
42
|
+
INIT=$(gsd-sdk query init.phase-op "${PHASE}")
|
|
43
43
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
44
44
|
# Extract: phase_dir, padded_phase, phase_number, state_path, requirements_path, context_path
|
|
45
|
-
|
|
45
|
+
AGENT_SKILLS_RESEARCHER=$(gsd-sdk query agent-skills gsd-researcher 2>/dev/null)
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
## Step 4: Spawn Researcher
|
|
@@ -20,7 +20,7 @@ Instantly restore full project context so "Where were we?" has an immediate, com
|
|
|
20
20
|
Load all context in one call:
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
|
|
23
|
+
INIT=$(gsd-sdk query init.resume)
|
|
24
24
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
25
25
|
```
|
|
26
26
|
|
|
@@ -231,7 +231,7 @@ Based on user selection, route to appropriate workflow:
|
|
|
231
231
|
```
|
|
232
232
|
---
|
|
233
233
|
|
|
234
|
-
## ▶ Next Up
|
|
234
|
+
## ▶ Next Up — [${PROJECT_CODE}] ${PROJECT_TITLE}
|
|
235
235
|
|
|
236
236
|
**{phase}-{plan}: [Plan Name]** — [objective from PLAN.md]
|
|
237
237
|
|
|
@@ -245,7 +245,7 @@ Based on user selection, route to appropriate workflow:
|
|
|
245
245
|
```
|
|
246
246
|
---
|
|
247
247
|
|
|
248
|
-
## ▶ Next Up
|
|
248
|
+
## ▶ Next Up — [${PROJECT_CODE}] ${PROJECT_TITLE}
|
|
249
249
|
|
|
250
250
|
**Phase [N]: [Name]** — [Goal from ROADMAP.md]
|
|
251
251
|
|