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
### 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)
- 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 10b-c: capitalize mémoire + sync README (avant finish)
# → STEP 11 : finish (merge / commit initial)
# → STEP 12 : propose GSD v2 si multi-session détecté
# 3. Features suivantes
/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
```
# Même départ que Pattern A, mais au STEP 12 :
# → Répondre "yes" à "Initialize GSD v2?"
# → ROADMAP.md est créé avec les milestones
# Même départ que Pattern A. GSD v2 n'est PAS bootstrappé à la création
# (init-project ne propose plus gsd) — on l'initialise À LA DEMANDE, dans un
# terminal, quand on décide de passer en multi-session.
# À chaque reprise de session (dans Claude Code) :
/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 init # si pas encore fait
/gsd init # initialise .gsd/ + ROADMAP (une fois, à la demande)
/gsd auto # mode autonome, walk away
# 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) :**
```
# STEP 12 propose GSD v2 : répondre "yes"
# Puis dans terminal :
# Pour passer en multi-session, initialise GSD à la demande dans un terminal :
gsd
/gsd init
/gsd auto
# → 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 :**
```
# Après /init-project (STEP 12 → "yes")
# Le ROADMAP.md généré contient :
# Après /init-project, on initialise GSD à la demande (plus auto-bootstrappé).
# Le ROADMAP.md généré par `gsd init` contiendra :
# Milestone 1: Boutique in-app + Stripe
# Milestone 2: PvP + matchmaking
# Milestone 3: Leaderboard + saisons
@ -510,6 +509,7 @@ Convention: snake_case Python, camelCase TypeScript."
# Dans un terminal :
cd cardforge/
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
# → research Stripe API + docs
# → plan décomposé en tâches

View File

@ -15,10 +15,10 @@ $ARGUMENTS
## PROGRESS PROTOCOL
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>
```
@ -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 +
> `.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
> ROADMAP.md post-FINISH (BLK-011) — separate.
> patched docs on the MVP feature branch so they reach the merge.
## STEP 11 — FINISH
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
```
## 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