@pilotspace/add 1.1.0 → 1.3.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.
Files changed (61) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/GETTING-STARTED.md +187 -139
  3. package/README.md +13 -7
  4. package/bin/cli.js +96 -5
  5. package/docs/01-principles.md +3 -3
  6. package/docs/02-the-flow.md +19 -12
  7. package/docs/03-step-1-specify.md +15 -13
  8. package/docs/04-step-2-scenarios.md +2 -2
  9. package/docs/05-step-3-contract.md +3 -3
  10. package/docs/06-step-4-tests.md +10 -2
  11. package/docs/07-step-5-build.md +3 -1
  12. package/docs/08-step-6-verify.md +25 -5
  13. package/docs/09-the-loop.md +12 -6
  14. package/docs/10-setup-and-stages.md +27 -13
  15. package/docs/11-governance.md +6 -2
  16. package/docs/12-roles.md +3 -3
  17. package/docs/13-adoption.md +1 -1
  18. package/docs/14-foundation.md +15 -15
  19. package/docs/15-foundations-and-lineage.md +106 -0
  20. package/docs/README.md +4 -0
  21. package/docs/appendix-a-templates.md +3 -3
  22. package/docs/appendix-b-prompts.md +40 -5
  23. package/docs/appendix-c-glossary.md +49 -12
  24. package/docs/appendix-d-worked-example.md +2 -2
  25. package/docs/appendix-e-checklists.md +16 -4
  26. package/docs/appendix-f-requirements-matrix.md +8 -8
  27. package/docs/appendix-g-references.md +106 -0
  28. package/package.json +1 -1
  29. package/skill/add/SKILL.md +41 -38
  30. package/skill/add/adopt.md +13 -11
  31. package/skill/add/deltas.md +8 -6
  32. package/skill/add/fold.md +19 -17
  33. package/skill/add/graduate.md +74 -0
  34. package/skill/add/intake.md +22 -7
  35. package/skill/add/loop.md +59 -0
  36. package/skill/add/phases/0-ground.md +66 -0
  37. package/skill/add/phases/0-setup.md +32 -25
  38. package/skill/add/phases/1-specify.md +28 -13
  39. package/skill/add/phases/2-scenarios.md +14 -4
  40. package/skill/add/phases/3-contract.md +27 -12
  41. package/skill/add/phases/4-tests.md +15 -5
  42. package/skill/add/phases/5-build.md +33 -4
  43. package/skill/add/phases/6-verify.md +40 -2
  44. package/skill/add/phases/7-observe.md +13 -5
  45. package/skill/add/report-template.md +65 -7
  46. package/skill/add/run.md +93 -39
  47. package/skill/add/scope.md +10 -6
  48. package/skill/add/setup-review.md +13 -10
  49. package/skill/add/streams.md +88 -23
  50. package/tooling/add.py +1817 -90
  51. package/tooling/templates/CONVENTIONS.md.tmpl +1 -1
  52. package/tooling/templates/DESIGN.md.tmpl +66 -0
  53. package/tooling/templates/GLOSSARY.md.tmpl +29 -0
  54. package/tooling/templates/MILESTONE.md.tmpl +1 -0
  55. package/tooling/templates/PROJECT.md.tmpl +6 -3
  56. package/tooling/templates/TASK.md.tmpl +55 -15
  57. package/tooling/templates/catalog.sample.json +38 -0
  58. package/tooling/templates/prototype.sample.json +48 -0
  59. package/tooling/templates/tokens.sample.json +55 -0
  60. package/tooling/templates/udd-catalog.md +122 -0
  61. package/tooling/templates/udd-tokens.md +79 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,87 @@ All notable changes to the ADD method (`@pilotspace/add` on npm,
4
4
  `pilotspace-add` on PyPI) are documented here. The format follows
5
5
  [Keep a Changelog](https://keepachangelog.com/); versions follow semver.
6
6
 
7
+ ## [1.3.0] — 2026-06-13
8
+
9
+ The render-ready-foundation release: a UI project now gets a lintable design
10
+ foundation the AI drafts from, a build's declared scope is enforced as a gate,
11
+ every command names who drives the next step, and the new update command
12
+ refreshes an installed project in place. All additive; no breaking changes
13
+ (SemVer MINOR).
14
+
15
+ ### Added
16
+ - **Render-ready UDD foundation** — a `DESIGN.md` prose front-door plus a JSON
17
+ foundation (3-layer design tokens · a component catalog · flat prototype
18
+ content trees) the AI drafts UI from, wired into 0-setup. `add.py check` now
19
+ lints the named set under `.add/design/`, going red with a named code on any
20
+ layer, catalog, tree, or cross-file token-resolution violation — and staying
21
+ silent when a project has no design set, so non-UI projects are unaffected.
22
+ A `udd-tokens.md` + `udd-catalog.md` pair documents the compact-DTCG dialect
23
+ and the json-render render recipe.
24
+ - **The scope gate** — a task's `§5 Scope (may touch)` declaration is frozen
25
+ into a snapshot at tests→build and enforced at the gate: an out-of-scope touch
26
+ heals the task back to BUILD for an honest redo (counting against a per-task
27
+ cap), while erased gate evidence fails closed. Scope creep can no longer ride a
28
+ green suite into a merge.
29
+ - **Engine next-step footer + the driver marker** — every completing command now
30
+ prints exactly one engine-sourced `next:` line, and names who owns it:
31
+ `[you drive]` when the AI proceeds, `[human gate]` at a decision point. The
32
+ driver marker resolves from one place (autonomy × phase), so the next step and
33
+ its owner are never ambiguous across a session.
34
+ - **The `update` command** — `npx @pilotspace/add update` (and the
35
+ `pilotspace-add update` command on PyPI) re-materializes the managed layer
36
+ (skill · tooling · docs) to the installed package version without a re-install.
37
+ It never touches your work — `state.json`, `PROJECT.md`, milestones, tasks, and
38
+ archive are preserved (state is backed up first regardless) — is idempotent via
39
+ a `.add-version` stamp, and offers `--check` to report version drift without
40
+ writing.
41
+
42
+ ### Changed
43
+ - The foundation self-improved across these milestones: closing
44
+ `udd-design-foundation` folded its OBSERVE backlog into the versioned
45
+ CONVENTIONS/PROJECT foundation (foundation-version 29), sharpening the
46
+ contract-completeness, adversarial-refute, and engine-pin conventions.
47
+
48
+ ## [1.2.0] — 2026-06-10
49
+
50
+ The decision-arc release: the method now narrates the build as one continuous
51
+ arc of decisions, and the loop reaches past a single milestone — graduating a
52
+ prototype to production, gating milestones on their own goal, and running tasks
53
+ in parallel waves. All additive; no breaking changes (SemVer MINOR).
54
+
55
+ ### Added
56
+ - **The decision arc** — every human-gate report opens by naming where you are
57
+ on the arc (intent → cases → contract → tests → build → verify → observe), and
58
+ the book + GLOSSARY describe it as the spine of the method. The one human
59
+ approval is always placed on the arc, never floating.
60
+ - **Graduation to production** — `add.py graduate` plus a graduate-guide and a
61
+ `→production` stage guard turn the mvp→production transition into an
62
+ analytics-driven, criteria-gated step instead of a label flip: a
63
+ graduation-report surfaces the evidence and a stage-goal-criteria cue tells you
64
+ when the prototype has earned the next stage.
65
+ - **Goal-gated milestones & the dynamic task loop** — an explicit project GOAL
66
+ now rides on `status`/`guide`, a milestone completes only when every success
67
+ criterion is met, and a recorded `done → phase` reopen-transition lets a closed
68
+ task legitimately re-open without losing its history.
69
+ - **verify-deepen** — the verify phase gained a deep-check rubric
70
+ (wiring · dead-code · semantic) so verification probes intent, not just a green
71
+ suite.
72
+ - **Parallel waves** — `WAVE.md`, the wave ledger that is the resume point for
73
+ parallel task execution; `status` surfaces a live wave so a multi-task wave can
74
+ pause and resume cleanly.
75
+ - **The flag-first freeze guard** — declaring a contract freeze is now
76
+ fail-closed: an `unflagged_freeze` is refused at `advance` time and flagged by
77
+ `add.py audit`, so a freeze can never be recorded without its explicit marker.
78
+ - **Foundations & Lineage chapter** — the book gained an annotated Foundations
79
+ chapter with author-year citations and a references appendix, tracing the
80
+ method's lineage.
81
+
82
+ ### Changed
83
+ - Engine prose now speaks one ubiquitous language — `add.py` output uses
84
+ consistent domain terms (scope level, decision point, retrospective, …).
85
+ - `add.py compact` keeps the active state lean by compacting heavy archive
86
+ history, with the bundled engine frozen in lockstep.
87
+
7
88
  ## [1.1.0] — 2026-06-05
8
89
 
9
90
  Production-ready enforcement: the gates are now verified by machinery distinct
@@ -8,35 +8,12 @@ You'll learn the whole loop by doing it once:
8
8
 
9
9
  > **Specify → Scenarios → Contract → Tests → Build → Verify → Observe**
10
10
 
11
- ADD is **AI-first**: you talk to the agent and it drives the method you don't
12
- hand-type the commands. The commands below are the agent's hands (and your escape
13
- hatch); the rest of this guide shows both so you can see what the agent does.
14
-
15
- ---
16
-
17
- ## The fast path — talk to the agent
18
-
19
- After installing (step 1 below), the whole on-ramp is one move:
20
-
21
- ```
22
- in Claude Code: /add
23
- you: "I want to let users transfer money between their own accounts."
24
- ```
25
-
26
- From there the agent runs the **on-ramp** for you:
27
-
28
- 1. **Orient** — it reads `add.py status` (the resume point), never re-reading your repo.
29
- 2. **Intake** — it sizes your request into versioned scope and proposes a **milestone**
30
- (goal · scope · breadth-first tasks · exit criteria). *You confirm the shape.*
31
- 3. **One-approval front** — for each task it drafts Spec + Scenarios + Contract + Tests
32
- as one bundle. *You give one approval at the frozen contract.*
33
- 4. **Self-driving run** — build→verify runs to green; a security finding always stops
34
- back to you.
35
-
36
- So a milestone-sized feature is: **describe it → confirm the milestone → approve each
37
- contract → review the result.** Everything between is the agent.
38
-
39
- > New term: **On-ramp** — the install→first-milestone path. See `docs/appendix-c-glossary.md`.
11
+ ADD is **AI-first**: you talk to the agent and it drives the method. Reading this
12
+ guide top to bottom, you will type exactly **one shell command the install**.
13
+ After that, everything happens in conversation (`/add` is how you start it, not
14
+ a terminal command): the agent's hands are the CLI, and the same CLI is your
15
+ escape hatch whenever you want to take the wheel (it's all in the appendix at
16
+ the end).
40
17
 
41
18
  ---
42
19
 
@@ -49,90 +26,232 @@ contract → review the result.** Everything between is the agent.
49
26
 
50
27
  > **Windows:** use `py` wherever this guide writes `python3` (the Python launcher on
51
28
  > Windows) — e.g. `py .add\tooling\add.py status`. Both installers handle the install
52
- > step for you; only the by-hand `add.py` commands below differ.
29
+ > step for you; only the by-hand `add.py` commands in the appendix differ.
53
30
 
54
31
  ---
55
32
 
56
- ## 1 · Install
33
+ ## 1 · Install — the one command you type
57
34
 
58
35
  From your project root, pick **one** path — both produce the same install:
59
36
 
60
37
  **Option A — npm (Node.js ≥ 18):**
61
38
 
62
39
  ```bash
63
- npx @pilotspace/add init --name "My App" --stage prototype
40
+ npx @pilotspace/add init
64
41
  ```
65
42
 
66
43
  **Option B — pip (Python 3.10+):**
67
44
 
68
45
  ```bash
69
46
  pip install pilotspace-add
70
- pilotspace-add init --name "My App" --stage prototype
47
+ pilotspace-add init
71
48
  ```
72
49
 
50
+ No flags needed — the agent infers your project's name from the folder and starts
51
+ at the `prototype` stage. (Prefer to choose up front? Both installers take
52
+ `--name "My App" --stage prototype|poc|mvp|production`; the stage can also be
53
+ changed later — see the appendix.)
54
+
73
55
  Either one creates `.add/` (your runtime), drops the `add` skill into
74
- `.claude/skills/add/`, and bundles the book into `.add/docs/`. Pick the stage that
75
- matches your intent `prototype`, `poc`, `mvp`, or `production`. You can change it
76
- later with `python3 .add/tooling/add.py stage mvp`.
56
+ `.claude/skills/add/`, and bundles the book into `.add/docs/`. It deliberately
57
+ does **not** initialise the project that's the agent's first move, so nothing
58
+ gets decided without you in the loop.
59
+
60
+ **When the install finishes: open Claude Code and type `/add`.** That's the
61
+ handoff — from here on it's conversation, not terminal commands.
77
62
 
78
63
  > Why stages exist: the steps never change, only how *deeply* you run them.
79
64
  > See `.add/docs/10-setup-and-stages.md`.
80
65
 
66
+ ### Updating to a newer ADD — no re-install
67
+
68
+ When a new ADD version ships, refresh a project in two steps: bump the package
69
+ (your package manager), then re-materialize it into the project with `update`:
70
+
71
+ ```bash
72
+ # npm — one shot (npx fetches latest, then re-materializes into this project):
73
+ npx @pilotspace/add@latest update
74
+
75
+ # pip — one shot via pipx (the npx analog: fetch latest + run):
76
+ pipx run pilotspace-add update
77
+
78
+ # …or plain pip, in two steps:
79
+ pip install -U pilotspace-add && pilotspace-add update
80
+ ```
81
+
82
+ `update` clean-replaces the managed layer (`skill` · `.add/tooling` · `.add/docs`)
83
+ and **never touches your work** — `state.json`, `PROJECT.md`, milestones, tasks and
84
+ archive are left exactly as they were (it backs `state.json` up first regardless). It
85
+ is idempotent (same version twice is a no-op) and writes a `.add/.add-version` stamp.
86
+ Run `… update --check` to see whether a project is behind the installed package.
87
+
81
88
  ---
82
89
 
83
- ## 2 · Orientthe command you'll use most
90
+ ## 2 · Your first feature talk to the agent
91
+
92
+ In Claude Code, the whole onboarding is one move:
93
+
94
+ ```
95
+ in Claude Code: /add
96
+ you: "I want to let users transfer money between their own accounts."
97
+ ```
98
+
99
+ From there the agent runs the **onboarding** for you:
100
+
101
+ 1. **Orient** — it reads the project state (the resume point), never re-reading
102
+ your repo. On a fresh install it initialises the project itself and drafts
103
+ the foundation for your sign-off (the **baseline approval** — the one signature the
104
+ installer's closing message points at).
105
+ 2. **Intake** — it sizes your request into versioned scope and proposes a **milestone**
106
+ (goal · scope · breadth-first tasks · exit criteria). *You confirm the shape.*
107
+ 3. **Specification bundle** — for each task it drafts Spec + Scenarios + Contract + Tests
108
+ as one bundle, led by its lowest-confidence points. *You give one approval at the
109
+ frozen contract.*
110
+ 4. **Self-driving run** — build→verify runs to green; a security finding always stops
111
+ back to you.
112
+
113
+ So a milestone-sized feature is: **describe it → confirm the milestone → approve each
114
+ contract → review the result.** Everything between is the agent. For the
115
+ transfer-money feature above, that's four short conversations — and zero typed
116
+ commands.
117
+
118
+ > New term: **Onboarding** — the install→first-milestone path. See `.add/docs/appendix-c-glossary.md`.
119
+
120
+ ---
121
+
122
+ ## 3 · What just happened (and your override)
123
+
124
+ Behind the conversation, the agent drove the CLI: it read the resume point, sized
125
+ the milestone, froze the contract you approved, ran the tests red, built to green,
126
+ and recorded the gate. The state lives on disk, not in the chat window.
127
+
128
+ If you ever want to see that state yourself — or take over entirely — the same
129
+ CLI is yours:
84
130
 
85
131
  ```bash
86
132
  python3 .add/tooling/add.py status
87
133
  ```
88
134
 
89
- `add.py status` is your home base. It reads `.add/state.json` and tells you the
90
- project stage, the active task, and which phase you're in. **Start every session
91
- with it** that's how ADD resumes work without re-reading your whole repo.
135
+ `add.py status` is the resume point: project stage, active task, current phase.
136
+ And `add.py guide` tells you what the current phase needs its `guide :` line
137
+ names the exact phase-guide file to read (`.claude/skills/add/phases/…` plain
138
+ markdown), which is how **any** agent — Claude, Cursor, Copilot, Codex — follows
139
+ ADD through the CLI alone.
92
140
 
93
141
  > Tip: shorten typing with an alias — `alias add="python3 .add/tooling/add.py"` —
94
- > then you can run `add status`, `add advance`, etc. The rest of this guide writes
95
- > the full `python3 .add/tooling/add.py ...` form so copy-paste always works.
142
+ > then you can run `add status`, `add guide`, etc. These are override and resume
143
+ > surfaces, not steps you owe the method: the appendix walks the full by-hand path
144
+ > whenever you want the wheel.
145
+
146
+ ---
147
+
148
+ ## Resume next session
96
149
 
97
- And when you're mid-task and unsure what the current phase needs, ask:
150
+ Close your laptop, come back tomorrow, type `/add` again the agent reorients
151
+ itself from disk and continues exactly where you left off. No context rot.
152
+
153
+ The same resume point is yours directly:
98
154
 
99
155
  ```bash
100
- python3 .add/tooling/add.py guide
156
+ python3 .add/tooling/add.py status
101
157
  ```
102
158
 
103
- `status` tells you *where* you are; `guide` tells you *what to do next* — the active
104
- task's phase, the one concrete next action, the chapter to read, and the exact command
105
- to run once that phase is done. Its `guide :` line names the phase-guide file to
106
- read for the current phase (`.claude/skills/add/phases/…` — plain markdown), which is
107
- how **any** agent — Claude, Cursor, Copilot, Codex — follows ADD through the CLI alone.
108
-
109
159
  ---
110
160
 
111
- ## 3 · Start your first feature
161
+ ## Self-check
162
+
163
+ Confirm your project is internally consistent at any time:
112
164
 
113
165
  ```bash
114
- python3 .add/tooling/add.py new-task transfer --title "Transfer money between my accounts"
166
+ python3 .add/tooling/add.py check
115
167
  ```
116
168
 
117
- This scaffolds `.add/tasks/transfer/TASK.md` **one file holding all seven phase
118
- sections** plus empty `tests/` and `src/` folders, and makes it the active task
119
- at phase `specify`.
169
+ It verifies state is valid, every task has its TASK.md, and markers match. Exit
170
+ code 0 means healthy handy as a CI gate.
171
+
172
+ ---
173
+
174
+ ## Enforce the decision points in CI
175
+
176
+ `add.py audit` re-verifies every recorded human gate on your board — a named
177
+ human at each contract freeze, exactly one gate outcome per done task, a human
178
+ reviewer wherever the security line carries a note. It exits non-zero naming
179
+ the task and the finding, which makes it a CI gate: enforcement runs on a
180
+ machine the agent does not control, so the agent can never stamp its own work
181
+ green (*never self-gate*).
182
+
183
+ Drop this workflow into `.github/workflows/seam-audit.yml`:
184
+
185
+ ```yaml
186
+ name: seam-audit
187
+
188
+ on:
189
+ push:
190
+ branches: [main]
191
+ pull_request:
192
+
193
+ permissions:
194
+ contents: read
195
+
196
+ jobs:
197
+ seam-audit:
198
+ name: Decision-point audit (recorded human gates)
199
+ runs-on: ubuntu-latest
200
+ steps:
201
+ - uses: actions/checkout@v4
202
+
203
+ - uses: actions/setup-python@v5
204
+ with:
205
+ python-version: '3.12'
120
206
 
121
- Open `.add/tasks/transfer/TASK.md` in your editor. You'll fill it top to bottom.
207
+ - name: Audit recorded decision points
208
+ run: python3 .add/tooling/add.py audit
209
+ ```
210
+
211
+ The command is the same one you can run locally — the installer already placed
212
+ `add.py` at `.add/tooling/add.py`, and the audit is read-only (it never edits
213
+ your board). A red `seam-audit` job means a decision record is malformed or a
214
+ security note was left to the auto-gate; fix the record (or escalate the gate
215
+ to a human), never the auditor.
122
216
 
123
217
  ---
124
218
 
125
219
  ## Under the hood — the seven phases by hand (escape hatch)
126
220
 
127
- Everything above is what the agent drives for you through the one-approval front. This
128
- section is the **escape hatch**: the same seven phases run by hand, so you can see what
221
+ Everything above is what the agent drives for you through the one-approval flow. This
222
+ appendix is the **escape hatch**: the same seven phases run by hand, so you can see what
129
223
  each one produces and step in manually whenever you want to. You never *have* to type
130
224
  these — they are the agent's hands, and yours when you take the wheel.
131
225
 
132
226
  The rhythm is always: **fill the section → run `python3 .add/tooling/add.py advance`.**
133
227
  The tool keeps the `phase:` marker at the top of TASK.md in sync.
134
228
 
135
- ### Phase 1Specify (`docs/03-step-1-specify.md`)
229
+ ### Before the phases initialise and scaffold
230
+
231
+ Starting cold? Install first as in §1 (`npx @pilotspace/add init`). Then
232
+ initialise once and scaffold the task yourself (the agent normally does both):
233
+
234
+ ```bash
235
+ python3 .add/tooling/add.py init
236
+ python3 .add/tooling/add.py new-task transfer --title "Transfer money between my accounts"
237
+ ```
238
+
239
+ > **Note:** the installer's closing hint shows `init --await-lock` — that form
240
+ > arms the baseline-approval gate so a *human* signs the AI-drafted foundation before
241
+ > any build. Plain `init` skips that gate, which is fine here: by hand, the
242
+ > human IS the one driving every step.
243
+
244
+ This scaffolds `.add/tasks/transfer/TASK.md` — **one file holding all seven phase
245
+ sections** — plus empty `tests/` and `src/` folders, and makes it the active task
246
+ at phase `specify`. Open it in your editor; you'll fill it top to bottom.
247
+
248
+ You can also change the project's depth at any time:
249
+
250
+ ```bash
251
+ python3 .add/tooling/add.py stage mvp
252
+ ```
253
+
254
+ ### Phase 1 — Specify (`.add/docs/03-step-1-specify.md`)
136
255
 
137
256
  Write the rules in **§1**. State what it *must* do, what it must *reject* (each
138
257
  with a named error code), and what's true after success:
@@ -156,7 +275,7 @@ Confirm every assumption (no FX, no daily limit in v1). Then:
156
275
  python3 .add/tooling/add.py advance
157
276
  ```
158
277
 
159
- ### Phase 2 — Scenarios (`docs/04-step-2-scenarios.md`)
278
+ ### Phase 2 — Scenarios (`.add/docs/04-step-2-scenarios.md`)
160
279
 
161
280
  In **§2**, turn each rule into a Given/When/Then. For every rejection, assert what
162
281
  must stay **unchanged**:
@@ -171,7 +290,7 @@ Scenario: insufficient funds
171
290
 
172
291
  Then `python3 .add/tooling/add.py advance`.
173
292
 
174
- ### Phase 3 — Contract (`docs/05-step-3-contract.md`)
293
+ ### Phase 3 — Contract (`.add/docs/05-step-3-contract.md`)
175
294
 
176
295
  In **§3**, fix the external shape and **freeze** it (`Status: FROZEN @ v1`):
177
296
 
@@ -182,21 +301,21 @@ POST /transfers body: { fromAccountId, toAccountId, amount }
182
301
  403 -> { error: "forbidden" }
183
302
  ```
184
303
 
185
- A frozen contract is the seam that makes the AI build safe. Then advance.
304
+ A frozen contract is the decision point that makes the AI build safe. Then advance.
186
305
 
187
- ### Phase 4 — Tests, red first (`docs/06-step-4-tests.md`)
306
+ ### Phase 4 — Tests, red first (`.add/docs/06-step-4-tests.md`)
188
307
 
189
308
  Write one test per scenario into `.add/tasks/transfer/tests/`, then **run them and
190
309
  confirm they FAIL** — there's no code yet. A test that passes now is testing
191
310
  nothing. This is red/green TDD: red before green. Then advance.
192
311
 
193
- ### Phase 5 — Build (`docs/07-step-5-build.md`)
312
+ ### Phase 5 — Build (`.add/docs/07-step-5-build.md`)
194
313
 
195
314
  Now let the AI write code into `.add/tasks/transfer/src/` until **every test
196
315
  passes** — without changing any test or the frozen contract. Honor the safety rule
197
316
  (here: debit + credit in one atomic transaction). Then advance.
198
317
 
199
- ### Phase 6 — Verify (`docs/08-step-6-verify.md`)
318
+ ### Phase 6 — Verify (`.add/docs/08-step-6-verify.md`)
200
319
 
201
320
  In **§6**, confirm the evidence (all green, nothing weakened) and check what tests
202
321
  miss: concurrency, security, architecture. Record the gate — and close the task:
@@ -208,91 +327,20 @@ python3 .add/tooling/add.py gate PASS
208
327
  `gate PASS` marks the task `done`. (Use `gate HARD-STOP` to send it back to Build,
209
328
  or `gate RISK-ACCEPTED` for a signed, non-security waiver.)
210
329
 
211
- ### Phase 7 — Observe (`docs/09-the-loop.md`)
330
+ ### Phase 7 — Observe (`.add/docs/09-the-loop.md`)
212
331
 
213
332
  In **§7**, note what to watch in production and the next spec delta. Every learning
214
333
  becomes the next `new-task`. The flow is a loop, not a finish line.
215
334
 
216
335
  ---
217
336
 
218
- ## 5 · Self-check
219
-
220
- Confirm your project is internally consistent at any time:
221
-
222
- ```bash
223
- python3 .add/tooling/add.py check
224
- ```
225
-
226
- It verifies state is valid, every task has its TASK.md, and markers match. Exit
227
- code 0 means healthy — handy as a CI gate.
228
-
229
- ---
230
-
231
- ## Enforce the seams in CI
232
-
233
- `add.py audit` re-verifies every recorded human gate on your board — a named
234
- human at each contract freeze, exactly one gate outcome per done task, a human
235
- reviewer wherever the security line carries a note. It exits non-zero naming
236
- the task and the finding, which makes it a CI gate: enforcement runs on a
237
- machine the agent does not control, so the agent can never stamp its own work
238
- green (*never self-gate*).
239
-
240
- Drop this workflow into `.github/workflows/seam-audit.yml`:
241
-
242
- ```yaml
243
- name: seam-audit
244
-
245
- on:
246
- push:
247
- branches: [main]
248
- pull_request:
249
-
250
- permissions:
251
- contents: read
252
-
253
- jobs:
254
- seam-audit:
255
- name: Seam audit (recorded human gates)
256
- runs-on: ubuntu-latest
257
- steps:
258
- - uses: actions/checkout@v4
259
-
260
- - uses: actions/setup-python@v5
261
- with:
262
- python-version: '3.12'
263
-
264
- - name: Audit recorded human seams
265
- run: python3 .add/tooling/add.py audit
266
- ```
267
-
268
- The command is the same one you can run locally — the installer already placed
269
- `add.py` at `.add/tooling/add.py`, and the audit is read-only (it never edits
270
- your board). A red `seam-audit` job means a seam record is malformed or a
271
- security note was left to the auto-gate; fix the record (or escalate the gate
272
- to a human), never the auditor.
273
-
274
- ---
275
-
276
- ## 6 · Resume next session
277
-
278
- Close your laptop, come back tomorrow, run:
279
-
280
- ```bash
281
- python3 .add/tooling/add.py status
282
- ```
283
-
284
- It tells you exactly where you left off and what to do next. No context rot — the
285
- state lives on disk, not in a chat window.
286
-
287
- ---
288
-
289
- ## 7 · Where to read more
337
+ ## Where to read more
290
338
 
291
339
  You just ran the method; now read *why* it's shaped this way:
292
340
 
293
341
  - The shift & principles — `.add/docs/00-introduction.md`, `.add/docs/01-principles.md`
294
342
  - The flow end to end — `.add/docs/02-the-flow.md`
295
- - Each step in depth — `.add/docs/03..09`
343
+ - Each step in depth — `.add/docs/03-step-1-specify.md` through `.add/docs/09-the-loop.md`
296
344
  - Operating it on a team — `.add/docs/11-governance.md`, `.add/docs/12-roles.md`
297
345
  - A fully worked example — `.add/docs/appendix-d-worked-example.md`
298
346
 
package/README.md CHANGED
@@ -34,15 +34,18 @@ Pick your ecosystem — both install the same skill, tooling, and book:
34
34
 
35
35
  ```bash
36
36
  # Node / npm
37
- npx @pilotspace/add init --name "My App" --stage prototype
37
+ npx @pilotspace/add init
38
38
  ```
39
39
 
40
40
  ```bash
41
41
  # Python / pip
42
42
  pip install pilotspace-add
43
- pilotspace-add init --name "My App" --stage prototype
43
+ pilotspace-add init
44
44
  ```
45
45
 
46
+ No flags needed — the project name is inferred from your folder and the stage
47
+ defaults to `prototype` (pass `--name "My App" --stage mvp` to choose up front).
48
+
46
49
  **New here?** Follow the [10-minute Quickstart](./GETTING-STARTED.md) — it walks
47
50
  your first feature end to end.
48
51
 
@@ -52,9 +55,12 @@ This installs:
52
55
  |------|------|
53
56
  | `.claude/skills/add/` | the `add` skill Claude loads (thin router + per-phase guides) |
54
57
  | `.add/tooling/add.py` | scaffolder + state tracker (Python, stdlib only) |
55
- | `.add/docs/` | the AIDD book — the trust layer |
56
- | `.add/state.json` | where the project is |
57
- | `.add/CONVENTIONS.md`, `GLOSSARY.md`, `MODEL_REGISTRY.md`, `dependencies.allowlist` | survivor-layer files |
58
+ | `.add/docs/` | the AIDD book — the method rationale |
59
+
60
+ Project state (`.add/state.json`) and the living-documentation files (`CONVENTIONS.md`,
61
+ `GLOSSARY.md`, `MODEL_REGISTRY.md`, `dependencies.allowlist`) are *not* created
62
+ here — the installer drops files only; initialisation is the agent's first move
63
+ when you run `/add`.
58
64
 
59
65
  ## Use it
60
66
 
@@ -64,7 +70,7 @@ ADD is AI-first: you talk to the agent; it drives the method. In Claude Code, ru
64
70
  > `/add` — *"I want to let users transfer money between their own accounts."*
65
71
 
66
72
  The agent orients from `state.json`, **sizes your request into a milestone** (you
67
- confirm the shape), then drafts each feature's **one-approval front** — Spec +
73
+ confirm the shape), then drafts each feature's **specification bundle** — Spec +
68
74
  Scenarios + Contract + Tests as one bundle — and you give **one approval at the
69
75
  frozen contract**. A self-driving build→verify run takes it to green; security
70
76
  findings always stop back to you.
@@ -80,7 +86,7 @@ python3 .add/tooling/add.py status # where am I? (resume point)
80
86
  1. **Direction before speed** — no Build until spec, scenarios, contract, and *red*
81
87
  tests exist.
82
88
  2. **Trust evidence, not inspection** — a feature is trusted because its tests pass
83
- and the blind spots (concurrency, security, architecture) were checked.
89
+ and the non-functional risks (concurrency, security, architecture) were checked.
84
90
  3. **Never weaken a test or edit a frozen contract** to make the build pass.
85
91
  4. **No silent skips** — every Verify records `PASS`, `RISK-ACCEPTED`, or
86
92
  `HARD-STOP`. Security findings are always `HARD-STOP`.