fix(init-project): remove speculative GSD auto-bootstrap (BLK-011)

STEP 12 ran `gsd init` AFTER FINISH, creating ROADMAP.md + .gsd/ in the working
tree once the merge had already integrated committed history only — so the
artifacts stranded outside the merge/PR (BLK-011, 3rd post-FINISH artifact after
memory + docs).

Resolved by REMOVAL, not by plumbing a commit: STEP 12 speculatively bootstrapped
a heavy multi-session engine (state machine / crash recovery / cost tracking /
parallel workers) that is opt-in and rarely used. Deleting the producer means the
orphan is never created — a negative diff beats building a gsd-commit helper for an
artifact nobody commits to using.

Deliberate GSD use is untouched: initializable on-demand (`/onboard add gsd`, or
`gsd init` in a terminal), still recommended by plugin-advisor, still read by
/status. init-project is now an 11-step pipeline.

Coherence sweep (the "test" for a removal): zero dangling STEP-12 refs — header
12->11-step, the STEP 10c note, and 4 USAGE.md worked-example references all updated
to on-demand init.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C6bUdvHnajCNzgVQefZowj
This commit is contained in:
Bastien Chanot 2026-06-29 18:27:34 +02:00
parent 0f0bd7fe63
commit a131f45f00
3 changed files with 14 additions and 26 deletions

View File

@ -38,6 +38,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
- Default model / effort settings updated - Default model / effort settings updated
### Removed ### Removed
- `/init-project`: STEP 12 (speculative GSD v2 auto-bootstrap at project creation) removed — it ran `gsd init` AFTER FINISH, creating `ROADMAP.md` + `.gsd/` stranded outside the merge/PR (BLK-011), to bootstrap a multi-session engine that is opt-in and rarely used. Resolved by removal, not by plumbing a commit: GSD stays initializable on-demand (`/onboard add gsd`, or `gsd init` in a terminal), `/status` still reads `.gsd/`, and plugin-advisor still recommends it for multi-session work. init-project is now an 11-step pipeline
- `disable-model-invocation` frontmatter removed repo-wide (aligns skills with CLAUDE.md routing) - `disable-model-invocation` frontmatter removed repo-wide (aligns skills with CLAUDE.md routing)
- Caveman plugin always-on integration purged — plugin disabled + uninstalled; SessionStart/UserPromptSubmit hooks, standalone hook files, `install-plugins.sh` STEP 5.5, `update-all.sh` refresh step, `plugins.lock.json` entry, `doctor.sh` checks, and docs removed. On a subscription plan its ~75% output-token compression has no cost benefit, and the always-on hooks added friction on validation gates + client deliverables. The unrelated memory-registry terse-format convention is kept. - Caveman plugin always-on integration purged — plugin disabled + uninstalled; SessionStart/UserPromptSubmit hooks, standalone hook files, `install-plugins.sh` STEP 5.5, `update-all.sh` refresh step, `plugins.lock.json` entry, `doctor.sh` checks, and docs removed. On a subscription plan its ~75% output-token compression has no cost benefit, and the always-on hooks added friction on validation gates + client deliverables. The unrelated memory-registry terse-format convention is kept.

View File

@ -195,7 +195,6 @@ Hotfix/quick fix → tout OFF sauf superpowers
# → STEP 8-10 : implémentation TDD + review # → STEP 8-10 : implémentation TDD + review
# → STEP 10b-c: capitalize mémoire + sync README (avant finish) # → STEP 10b-c: capitalize mémoire + sync README (avant finish)
# → STEP 11 : finish (merge / commit initial) # → STEP 11 : finish (merge / commit initial)
# → STEP 12 : propose GSD v2 si multi-session détecté
# 3. Features suivantes # 3. Features suivantes
/ship-feature "description de la feature" /ship-feature "description de la feature"
@ -204,16 +203,16 @@ Hotfix/quick fix → tout OFF sauf superpowers
### Pattern B — Projet long (multi-session, plusieurs jours) · ~1500-2500t/session CC ### Pattern B — Projet long (multi-session, plusieurs jours) · ~1500-2500t/session CC
``` ```
# Même départ que Pattern A, mais au STEP 12 : # Même départ que Pattern A. GSD v2 n'est PAS bootstrappé à la création
# → Répondre "yes" à "Initialize GSD v2?" # (init-project ne propose plus gsd) — on l'initialise À LA DEMANDE, dans un
# → ROADMAP.md est créé avec les milestones # terminal, quand on décide de passer en multi-session.
# À chaque reprise de session (dans Claude Code) : # À chaque reprise de session (dans Claude Code) :
/status # snapshot : plugins + git + milestone GSD en cours /status # snapshot : plugins + git + milestone GSD en cours
# Ensuite dans un terminal (depuis le dossier projet) : # Dans un terminal (depuis le dossier projet) :
gsd # démarrer une session gsd # démarrer une session
/gsd init # si pas encore fait /gsd init # initialise .gsd/ + ROADMAP (une fois, à la demande)
/gsd auto # mode autonome, walk away /gsd auto # mode autonome, walk away
# Pour suivre : # Pour suivre :
@ -400,9 +399,9 @@ Verify : npx expo export --platform web --output-dir /tmp/expo-check --clear
**Si le projet devient long (plusieurs features sur semaines) :** **Si le projet devient long (plusieurs features sur semaines) :**
``` ```
# STEP 12 propose GSD v2 : répondre "yes" # Pour passer en multi-session, initialise GSD à la demande dans un terminal :
# Puis dans terminal :
gsd gsd
/gsd init
/gsd auto /gsd auto
# → GSD gère deck-building, sharing backend, etc. milestone par milestone # → GSD gère deck-building, sharing backend, etc. milestone par milestone
``` ```
@ -501,8 +500,8 @@ Convention: snake_case Python, camelCase TypeScript."
**Workflow long avec GSD v2 :** **Workflow long avec GSD v2 :**
``` ```
# Après /init-project (STEP 12 → "yes") # Après /init-project, on initialise GSD à la demande (plus auto-bootstrappé).
# Le ROADMAP.md généré contient : # Le ROADMAP.md généré par `gsd init` contiendra :
# Milestone 1: Boutique in-app + Stripe # Milestone 1: Boutique in-app + Stripe
# Milestone 2: PvP + matchmaking # Milestone 2: PvP + matchmaking
# Milestone 3: Leaderboard + saisons # Milestone 3: Leaderboard + saisons
@ -510,6 +509,7 @@ Convention: snake_case Python, camelCase TypeScript."
# Dans un terminal : # Dans un terminal :
cd cardforge/ cd cardforge/
gsd # démarre session GSD gsd # démarre session GSD
/gsd init # crée .gsd/ + ROADMAP (à la demande — plus auto à l'init)
/gsd auto # GSD travaille sur Milestone 1 de façon autonome /gsd auto # GSD travaille sur Milestone 1 de façon autonome
# → research Stripe API + docs # → research Stripe API + docs
# → plan décomposé en tâches # → plan décomposé en tâches

View File

@ -15,10 +15,10 @@ $ARGUMENTS
## PROGRESS PROTOCOL ## PROGRESS PROTOCOL
Every STEP must announce itself with a header BEFORE its work block, so the Every STEP must announce itself with a header BEFORE its work block, so the
user always sees where they are in the 12-step pipeline: user always sees where they are in the 11-step pipeline:
``` ```
━━━ STEP <N>/12<TITLE> ━━━ (~<estimated minutes>) ━━━ STEP <N>/11<TITLE> ━━━ (~<estimated minutes>)
why: <one sentence what's at risk if this step is skipped> why: <one sentence what's at risk if this step is skipped>
``` ```
@ -248,8 +248,7 @@ patched. Report per its rc table — rc 4 = a LOUD upstream BDR-022 anomaly, not
> **Scaffold commit owner = STEP 5f `gitflow init`** (root commit embeds scaffold + README + > **Scaffold commit owner = STEP 5f `gitflow init`** (root commit embeds scaffold + README +
> `.gitignore` socle + hook, tree clean — BLK-010 closed). This doc-sync commit lands the > `.gitignore` socle + hook, tree clean — BLK-010 closed). This doc-sync commit lands the
> patched docs on the MVP feature branch so they reach the merge. GSD STEP 12 still creates > patched docs on the MVP feature branch so they reach the merge.
> ROADMAP.md post-FINISH (BLK-011) — separate.
## STEP 11 — FINISH ## STEP 11 — FINISH
Tests pass, build clean, no placeholders. Integrate the MVP feature into develop Tests pass, build clean, no placeholders. Integrate the MVP feature into develop
@ -258,18 +257,6 @@ Tests pass, build clean, no placeholders. Integrate the MVP feature into develop
bash "$HOME/.claude/lib/gitflow.sh" finish # feature/mvp → develop bash "$HOME/.claude/lib/gitflow.sh" finish # feature/mvp → develop
``` ```
## STEP 12 — GSD v2 INIT (optional)
If `multi-session` signal was detected in STEP 0 OR the project has >3 planned milestones:
Ask: "Initialize GSD v2 for multi-session management? (yes / skip)"
- `yes`
1. First check: `command -v gsd` — if not found:
Print: "⚠️ GSD v2 not installed. Run `npm install -g gsd-pi` then re-run `/onboard add gsd` or `/ship-feature` to initialize later."
Do NOT attempt `gsd init`. Skip to RULES.
2. If `gsd` is in PATH: run `gsd init` in the project directory to create `.gsd/` and `ROADMAP.md`.
Populate ROADMAP.md with milestones from BRIEF (v1 features + any beyond-v1 items).
Print: "✅ GSD v2 initialized — run `gsd` in terminal then `/gsd auto` to work autonomously."
- `skip` → print: "GSD v2 skipped — use `/ship-feature` for individual features."
--- ---
## RULES ## RULES