baldart 3.22.0 → 3.22.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/CHANGELOG.md CHANGED
@@ -5,6 +5,24 @@ All notable changes to BALDART will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.22.1] - 2026-05-27
9
+
10
+ Rimosso il gate `AskUserQuestion` di conferma merge introdotto in v3.22.0 Step 7 — era friction inutile contro il "seamless" che è il punto della release. Quando l'utente lancia `/prd` ha già implicitamente accettato la pipeline completa (discovery → design → cards → commit → merge in develop). Chiedere "Procedo con merge?" a fine sessione equivale a chiedere "sei sicuro di voler completare quello che mi hai chiesto di fare?".
11
+
12
+ ### Changed — `/prd` Step 7 merge è ora full-seamless
13
+
14
+ - **[framework/.claude/skills/prd/references/validation-phase.md](framework/.claude/skills/prd/references/validation-phase.md)**: Step 7 point 9 non è più un `AskUserQuestion` ma una nota che chiarisce il razionale del no-confirmation flow + escape hatch user-initiated ("non mergiare" / "lascia il worktree" honora l'override e ferma dopo il commit).
15
+ - **[framework/.claude/skills/prd/SKILL.md](framework/.claude/skills/prd/SKILL.md)** HARD RULE 17 lifecycle: la descrizione di Step 7 cita "Seamless by default, no confirmation gate" + l'escape hatch.
16
+ - **[framework/.claude/skills/prd/references/discovery-phase.md](framework/.claude/skills/prd/references/discovery-phase.md)**: il messaggio di kickoff visibile all'utente promette esplicitamente "commit + merge automatico in develop + cleanup worktree, seamless" — niente più sorprese a fine sessione.
17
+
18
+ ### Why PATCH and not MINOR
19
+
20
+ Rimozione di un comportamento (gate di conferma) introdotto solo 0 minuti fa nella stessa giornata. Nessuna nuova capability, nessun breaking change per consumer: il gate non era una feature documentata né attesa dagli utenti pre-v3.22.0, era una sovra-cautela introdotta da me contro la richiesta esplicita ("seamless"). La decision tree di MAINTAINING.md classifica "bugfix di behaviour non desiderato senza breaking change" come PATCH.
21
+
22
+ ### Why no schema-change propagation
23
+
24
+ Modifica puramente comportamentale dentro un singolo step di una singola skill. Zero chiavi nuove, zero modifiche CLI, zero hook.
25
+
8
26
  ## [3.22.0] - 2026-05-27
9
27
 
10
28
  Le sessioni `/prd` ora vivono in un **docs worktree** dedicato, esattamente come fa `/new` per le card di codice. Il problema risolto: con 5-10 sessioni Claude in parallelo, ogni PRD inquinava il main checkout con `docs/prd/<slug>/PRD.md`, lo state file, le card YAML, l'eventuale `design.html`, e gli update a `ssot-registry.md` / `project-status.md`. `git status` diventava un campo minato, le sessioni `/new` rischiavano di stashare/committare file PRD non loro, e la review manuale era pressoché impossibile. Soluzione: estendere `worktree-manager` con una **modalità docs lean** (no `npm install`, no porta, no `.env` copy, no build verify, no lint/tsc gates) e integrarla nel ciclo di vita del PRD — creazione automatica al kickoff, merge automatico (previa conferma utente) al termine, cleanup seamless.
package/VERSION CHANGED
@@ -1 +1 @@
1
- 3.22.0
1
+ 3.22.1
@@ -133,10 +133,13 @@ message. You ask questions, wait for answers, and iterate.
133
133
  `/prd-add`, scan `.worktrees/registry.json` for entries with
134
134
  `kind: "docs"` matching the slug; if found, `cd` into that worktree
135
135
  before scanning for state files. See [discovery-phase.md](references/discovery-phase.md) § Step 0.
136
- - **Step 7 (Commit)** — commit happens inside the worktree, then the skill
137
- asks the user for explicit confirmation before invoking `worktree-manager`
138
- programmatic `mw-docs`, which rebases onto `origin/develop` and lands the
139
- PRD via the configured `git.merge_strategy`. See [validation-phase.md](references/validation-phase.md) § Step 7.
136
+ - **Step 7 (Commit & Merge)** — commit happens inside the worktree, then
137
+ `worktree-manager` programmatic `mw-docs` is invoked immediately to
138
+ rebase onto `origin/develop` and land the PRD via the configured
139
+ `git.merge_strategy`. Seamless by default, no confirmation gate (the
140
+ user opted into the full pipeline when they ran `/prd`). If the user
141
+ explicitly says "non mergiare" / "lascia il worktree", honor the
142
+ override and stop after the commit. See [validation-phase.md](references/validation-phase.md) § Step 7.
140
143
 
141
144
  **Path resolution rule (CRITICAL — read carefully).** Claude Code's
142
145
  `Write` / `Edit` / `Read` tools require ABSOLUTE paths and **do NOT
@@ -116,7 +116,8 @@ Descrizione: <user's description>
116
116
  Contesto: <one-line summary from context-primer>
117
117
 
118
118
  Tutti i file del PRD vivono nel worktree — il main repo resta pulito.
119
- Al termine eseguirò un merge automatico in develop (previa tua conferma).
119
+ Al termine commit + merge automatico in develop + cleanup worktree, seamless.
120
+ (Se in qualunque momento mi dici "non mergiare", mi fermo dopo il commit.)
120
121
 
121
122
  Ora comincio la fase di **Discovery** — ti faro delle domande per capire bene
122
123
  la feature prima di scrivere qualsiasi documento.
@@ -109,27 +109,25 @@ created by Step 1 (HARD RULE 17). `$WORKTREE_PATH` is set in the state file.
109
109
 
110
110
  ### Merge into develop (worktree-manager mw-docs)
111
111
 
112
- 9. **Ask the user for explicit confirmation** before merging the merge
113
- touches `origin/develop` and is hard to reverse. Use `AskUserQuestion`:
114
-
115
- ```
116
- PRD pronto per il merge in `develop`.
117
-
118
- Strategia merge: <pr | local-push> (da git.merge_strategy)
119
- Worktree: <relative-worktree-path>
120
- Branch: prd/<slug>
121
- File: <N> file (PRD.md, design.html, N card YAML, ...)
122
-
123
- Procedo con merge automatico e cleanup del worktree?
124
- ```
125
-
126
- Options:
127
- - **Sì, merge e cleanup** (default).
128
- - **No, lascia il worktree** — l'utente vuole fare review manuale o test
129
- prima del merge. STOP. La sessione finisce qui; il worktree resta su disco
130
- pronto per un futuro `/mw` manuale o `worktree-manager mw-docs`.
131
-
132
- 10. **On confirmation: invoke `worktree-manager` programmatic mw-docs**:
112
+ 9. **Invoke `worktree-manager` programmatic mw-docs immediately** — no
113
+ confirmation prompt. The user opted into the full PRD pipeline when they
114
+ ran `/prd`; chiedere conferma a fine sessione è friction inutile e rompe
115
+ il "seamless" che è il punto della v3.22.0.
116
+
117
+ The merge is recoverable: if something goes wrong post-merge the user can
118
+ `git revert` on develop just like any other commit. The hard-to-reverse
119
+ operations (`git push`, branch deletion) happen inside `mw-docs` which
120
+ has its own failure handling (rebase abort, push rejection, gh CLI error)
121
+ none of which silently corrupts state.
122
+
123
+ **Escape hatch.** If the user explicitly says "non mergiare" or "lascia il
124
+ worktree" at any point during Step 7 (e.g. they want to review the PRD
125
+ manually before it lands on develop), respect that and STOP after the
126
+ commit — the worktree stays on disk, ready for a future manual `/mw` or
127
+ `worktree-manager mw-docs`. This is a user-initiated override, not a
128
+ default gate.
129
+
130
+ 10. **Invoke `worktree-manager` programmatic mw-docs**:
133
131
 
134
132
  ```
135
133
  Skill: worktree-manager
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "baldart",
3
- "version": "3.22.0",
3
+ "version": "3.22.1",
4
4
  "description": "Claude Agent Framework - Reusable framework for coordinating AI agents and humans in software projects",
5
5
  "bin": {
6
6
  "baldart": "./bin/baldart.js"