@pilotspace/add 1.8.0 → 1.10.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 (38) hide show
  1. package/CHANGELOG.md +109 -0
  2. package/bin/cli.js +137 -2
  3. package/docs/16-releasing.md +2 -2
  4. package/docs/17-components.md +125 -0
  5. package/docs/appendix-c-glossary.md +8 -0
  6. package/package.json +2 -2
  7. package/skill/add/SKILL.md +90 -116
  8. package/skill/add/adopt.md +13 -34
  9. package/skill/add/advisor.md +9 -10
  10. package/skill/add/compact-foundation.md +21 -34
  11. package/skill/add/components.md +54 -0
  12. package/skill/add/confidence.md +9 -25
  13. package/skill/add/deltas.md +12 -28
  14. package/skill/add/design.md +26 -32
  15. package/skill/add/fold.md +26 -51
  16. package/skill/add/graduate.md +18 -54
  17. package/skill/add/intake.md +30 -34
  18. package/skill/add/loop.md +30 -34
  19. package/skill/add/phases/0-ground.md +6 -14
  20. package/skill/add/phases/0-setup.md +30 -81
  21. package/skill/add/phases/1-specify.md +7 -22
  22. package/skill/add/phases/2-scenarios.md +1 -3
  23. package/skill/add/phases/3-contract.md +8 -22
  24. package/skill/add/phases/4-tests.md +3 -6
  25. package/skill/add/phases/5-build.md +8 -22
  26. package/skill/add/phases/6-verify.md +14 -49
  27. package/skill/add/phases/7-observe.md +1 -3
  28. package/skill/add/phases/fast-lane.md +31 -0
  29. package/skill/add/release.md +36 -90
  30. package/skill/add/report-template.md +41 -126
  31. package/skill/add/run.md +89 -159
  32. package/skill/add/scope.md +40 -89
  33. package/skill/add/setup-review.md +10 -27
  34. package/skill/add/soul.md +17 -36
  35. package/skill/add/streams.md +90 -149
  36. package/tooling/add.py +804 -14
  37. package/tooling/templates/TASK.fast.md.tmpl +72 -0
  38. package/tooling/templates/TASK.md.tmpl +1 -1
@@ -0,0 +1,72 @@
1
+ # TASK: {{title}}
2
+
3
+ slug: {{slug}} · created: {{date}} · stage: {{stage}}
4
+ autonomy: {{autonomy}}
5
+ phase: ground <!-- fast lane: ground -> specify -> contract -> tests -> build -> verify -> observe -> done -->
6
+ fast: true <!-- the fast lane: a small task, collapsed flow + minimal template. Omit --fast for full rigor. -->
7
+
8
+ > Fast lane — one small task, minimal sections, filled top-to-bottom. The trust floor still
9
+ > holds: a FROZEN §3 contract · ≥1 red test before build · a recorded §6 gate (security = HARD-STOP).
10
+ > The acceptance scenario collapses into §1 `Accept:`; OBSERVE is one optional line at the gate.
11
+
12
+ ---
13
+
14
+ ## 0 · GROUND — the real codebase
15
+
16
+ Touches (files · symbols): <path:symbol — what it is / how it is keyed>
17
+ Anchors the contract cites: <the symbols §3 will name>
18
+
19
+ ---
20
+
21
+ ## 1 · SPECIFY — the rules
22
+
23
+ Feature: <name>
24
+ Must:
25
+ - <required behavior>
26
+ Reject:
27
+ - <bad input / situation> -> "<error_code>"
28
+ Accept: <the one acceptance scenario, Given/When/Then condensed to one line — it drives the §4 test>
29
+ Assumptions: ⚠ <the one most likely wrong> — why; if wrong: <cost> (or "none material — biggest risk: X")
30
+
31
+ ---
32
+
33
+ ## 3 · CONTRACT — freeze the shape
34
+
35
+ ```
36
+ <the shape that freezes: signature / fields · success + each rejection's response>
37
+ ```
38
+
39
+ `Least-sure flag surfaced at freeze:` <[spec|contract|test] the point most likely wrong — why; if wrong: cost>
40
+ Status: DRAFT
41
+ <!-- The freeze IS the one approval. Approved -> Status: FROZEN @ vN — approved by <name>.
42
+ Changing a frozen contract = change request back to SPECIFY. -->
43
+
44
+ ---
45
+
46
+ ## 4 · TESTS — failing-first (red)
47
+
48
+ Plan: test_<accept> — assert the §1 Accept line's Then (behavior, not internals).
49
+ Tests live in: `./tests/` · MUST run red (missing implementation) before Build.
50
+
51
+ ---
52
+
53
+ ## 5 · BUILD — AI writes code
54
+
55
+ Scope (may touch): `./src/` <every file the build may write — declared before the §3 freeze>
56
+ Code lives in: `./src/` · Constraints: change no test, no contract; allow-list packages only.
57
+
58
+ ---
59
+
60
+ ## 6 · VERIFY — evidence + gate
61
+
62
+ - [ ] all tests pass · coverage held · no test or contract altered during build
63
+ - [ ] green was EARNED — no overfit / vacuous asserts / stubbed-away logic
64
+ - [ ] no exposed secrets, injection openings, or unexpected dependencies (security = HARD-STOP)
65
+
66
+ Build expectations (from §1 Accept + §3 CONTRACT): <the observable outcome a correct build must produce — confirmed by <how / where>>
67
+
68
+ ### GATE RECORD
69
+ Outcome: <PASS | RISK-ACCEPTED | HARD-STOP>
70
+ Reviewed by: <name> · date: <date>
71
+ <!-- A security finding is ALWAYS HARD-STOP. Record exactly one outcome — no silent pass.
72
+ OBSERVE (optional): one `[SPEC · open]` or competency-delta line here if the loop taught the foundation something. -->
@@ -1,7 +1,7 @@
1
1
  # TASK: {{title}}
2
2
 
3
3
  slug: {{slug}} · created: {{date}} · stage: {{stage}}
4
- autonomy: {{autonomy}} <!-- inherited from the project default (PROJECT.md); explicit level: manual < conservative < auto (visible · overridable) — lower below if a high-risk task needs it, or run `add.py autonomy set`. -->
4
+ autonomy: {{autonomy}} <!-- inherited from the project default (PROJECT.md); explicit level: manual < conservative < auto (visible · overridable) — lower below if a high-risk task needs it, or run `add.py autonomy set`. Multi-component repo (monorepo/multi-repo)? add a `component: <name>` line (declared in `.add/components.toml`) to ADD that component's root to your §5 Scope; omit for single-component projects (byte-identical default). -->
5
5
  phase: ground <!-- ground -> specify -> scenarios -> contract -> tests -> build -> verify -> observe -> done -->
6
6
  <!-- high-risk/method-defining scope? declare `risk: high` on the slug line above and lower the
7
7
  autonomy level to `manual` or `conservative` — the engine refuses an unguarded completion