@cofoundr/init 1.5.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 (74) hide show
  1. package/README.md +140 -0
  2. package/bin/cofoundr.mjs +10 -0
  3. package/content/.claude-plugin/plugin.json +18 -0
  4. package/content/README.md +227 -0
  5. package/content/agents/brand-intake.md +129 -0
  6. package/content/agents/consolidate.md +154 -0
  7. package/content/agents/launch-kit-detect.md +109 -0
  8. package/content/agents/spec-phase.md +131 -0
  9. package/content/commands/audit.md +137 -0
  10. package/content/commands/constitution.md +107 -0
  11. package/content/commands/document.md +155 -0
  12. package/content/commands/implement.md +108 -0
  13. package/content/commands/new-feature.md +188 -0
  14. package/content/commands/new-project.md +243 -0
  15. package/content/commands/next.md +129 -0
  16. package/content/commands/onboard.md +176 -0
  17. package/content/commands/plan.md +138 -0
  18. package/content/commands/quick-brief.md +95 -0
  19. package/content/commands/resume.md +99 -0
  20. package/content/commands/review.md +76 -0
  21. package/content/commands/rules-check.md +54 -0
  22. package/content/commands/scope-guard.md +33 -0
  23. package/content/commands/setup-skills.md +109 -0
  24. package/content/commands/specify.md +53 -0
  25. package/content/commands/tasks.md +91 -0
  26. package/content/commands/translate.md +197 -0
  27. package/content/manifest.json +59 -0
  28. package/content/scaffold/.cofoundr/README.md +67 -0
  29. package/content/scaffold/.cofoundr/constitution.md.tmpl +54 -0
  30. package/content/scaffold/.cofoundr/manifest.json.tmpl +15 -0
  31. package/content/scaffold/.cofoundr/memory/decisions.md.tmpl +19 -0
  32. package/content/scaffold/.cofoundr/memory/knowledge.md.tmpl +23 -0
  33. package/content/scaffold/.cofoundr/memory/project.md.tmpl +27 -0
  34. package/content/scaffold/.cofoundr/specs/README.md +38 -0
  35. package/content/scaffold/AGENTS.md.tmpl +74 -0
  36. package/content/templates/agents.md +144 -0
  37. package/content/templates/brand.md +180 -0
  38. package/content/templates/feature.md +70 -0
  39. package/content/templates/phases/phase-template/README.md +65 -0
  40. package/content/templates/phases/phase-template/decisions.md +52 -0
  41. package/content/templates/phases/phase-template/research.md +59 -0
  42. package/content/templates/phases/phase-template/spec.md +90 -0
  43. package/content/templates/phases/phase-template/tests.md +65 -0
  44. package/content/templates/phases/phase-template/ui-spec.md +75 -0
  45. package/content/templates/phases.md +234 -0
  46. package/content/templates/prd.md +89 -0
  47. package/content/templates/product.md +73 -0
  48. package/content/templates/rules.md +99 -0
  49. package/content/templates/tech.md +129 -0
  50. package/package.json +39 -0
  51. package/src/adapters/aider.mjs +35 -0
  52. package/src/adapters/claude-code.mjs +114 -0
  53. package/src/adapters/cline.mjs +46 -0
  54. package/src/adapters/codex.mjs +29 -0
  55. package/src/adapters/copilot.mjs +54 -0
  56. package/src/adapters/cursor.mjs +69 -0
  57. package/src/adapters/gemini.mjs +41 -0
  58. package/src/adapters/index.mjs +14 -0
  59. package/src/adapters/windsurf.mjs +69 -0
  60. package/src/cli.mjs +124 -0
  61. package/src/commands/doctor.mjs +90 -0
  62. package/src/commands/init.mjs +190 -0
  63. package/src/commands/list.mjs +28 -0
  64. package/src/commands/onboard.mjs +130 -0
  65. package/src/commands/remove.mjs +89 -0
  66. package/src/commands/sync.mjs +81 -0
  67. package/src/core/detect.mjs +121 -0
  68. package/src/core/fs.mjs +42 -0
  69. package/src/core/license.mjs +170 -0
  70. package/src/core/log.mjs +32 -0
  71. package/src/core/prompts.mjs +62 -0
  72. package/src/core/scaffold.mjs +179 -0
  73. package/src/core/source.mjs +54 -0
  74. package/src/core/version.mjs +10 -0
@@ -0,0 +1,155 @@
1
+ ---
2
+ description: >
3
+ Generate or refresh living documentation derived from the code itself.
4
+ Targets: a module, a route, a feature folder, or "all". Produces docs in
5
+ `.cofoundr/docs/` (and updates module-level READMEs only if asked). Re-runnable
6
+ — every run reflects the current state of the code, not what it used to do.
7
+ ---
8
+
9
+ # /cofoundr:document — Living Documentation
10
+
11
+ You generate documentation from code. Documentation that reflects what the code **is**, not what someone wishes it would be. This command is re-runnable — every run regenerates the artifacts so they don't go stale.
12
+
13
+ ## Argument parsing
14
+
15
+ - `/cofoundr:document` — auto-pick. If `.cofoundr/memory/codebase.md` exists, document the largest under-documented module. Otherwise, suggest `/cofoundr:onboard` first.
16
+ - `/cofoundr:document module <path>` — document a specific module or directory.
17
+ - `/cofoundr:document route <method> <path>` — document a single API route.
18
+ - `/cofoundr:document feature <slug>` — refresh the feature doc in `docs/features/<slug>/`.
19
+ - `/cofoundr:document data-model` — produce or refresh `.cofoundr/docs/data-model.md`.
20
+ - `/cofoundr:document all` — full pass. Use sparingly; this is a long run.
21
+
22
+ ## Step 0 — Pre-flight
23
+
24
+ - Refuse if `.cofoundr/memory/codebase.md` is older than the most recent commit by more than 14 days. Suggest `/cofoundr:onboard --refresh` first.
25
+ - Refuse to write into `src/`, `app/`, `lib/`, etc. **Always** write into `.cofoundr/docs/<topic>.md` or `docs/...`. The code itself is read-only here.
26
+
27
+ ## Step 1 — Read
28
+
29
+ For the chosen target:
30
+
31
+ 1. **Module / directory** — list every file, read the public exports, read every test file in or adjacent to the directory.
32
+ 2. **Route** — read the handler, all middleware in its chain, the request/response types, and any test that exercises it.
33
+ 3. **Data model** — read the schema (Prisma, Drizzle, Rails schema, migrations folder). Reconstruct the full set of tables, columns, indexes, foreign keys, and policies.
34
+ 4. **Feature** — read every file referenced in `docs/features/<slug>/feature.md` plus the tests.
35
+
36
+ Always also read:
37
+
38
+ - `.cofoundr/constitution.md` (or `docs/rules.md`) — to know what to surface as compliance posture.
39
+ - `docs/tech.md` — to align terminology with the project spec.
40
+
41
+ ## Step 2 — Write
42
+
43
+ Use the structure that fits the target.
44
+
45
+ ### Module / directory
46
+
47
+ `.cofoundr/docs/modules/<module-slug>.md`
48
+
49
+ ```md
50
+ # <Module name>
51
+
52
+ ## TL;DR
53
+ <60 words: what the module does, who calls it>
54
+
55
+ ## Public surface
56
+ <table of exported names → kind (function / class / type / route) → one-line description>
57
+
58
+ ## Internal shape
59
+ <list of internal files, one-line each>
60
+
61
+ ## Dependencies
62
+ <list of npm/pypi packages used + internal modules consumed>
63
+
64
+ ## Data touchpoints
65
+ <which tables / collections / external APIs this module reads or writes>
66
+
67
+ ## Tests
68
+ <list of test files; coverage summary if it exists>
69
+
70
+ ## Risks and gotchas
71
+ <list, sourced from comments tagged TODO/FIXME/XXX, recent commit messages, and known constitution rules that touch this module>
72
+ ```
73
+
74
+ ### Route
75
+
76
+ `.cofoundr/docs/routes/<method>-<slug>.md`
77
+
78
+ ```md
79
+ # <METHOD> <path>
80
+
81
+ ## Purpose
82
+ <one paragraph>
83
+
84
+ ## Auth
85
+ <who can call it, how, source-of-truth file>
86
+
87
+ ## Request
88
+ <schema + example>
89
+
90
+ ## Response
91
+ <schema + example>
92
+
93
+ ## Errors
94
+ <table: code | when it fires | how the client should react>
95
+
96
+ ## Side effects
97
+ <DB writes, external API calls, jobs enqueued>
98
+
99
+ ## Tests
100
+ <files that cover this route>
101
+ ```
102
+
103
+ ### Data model
104
+
105
+ `.cofoundr/docs/data-model.md`
106
+
107
+ ```md
108
+ # Data Model
109
+
110
+ ## ERD
111
+ <mermaid `erDiagram` block, one entity per table, with foreign keys>
112
+
113
+ ## Tables
114
+ ### <table_name>
115
+ - **Purpose:** <one sentence>
116
+ - **Columns:** <table: name | type | constraints>
117
+ - **Foreign keys:** <list>
118
+ - **Indexes:** <list>
119
+ - **RLS / authorization:** <quote the actual policy or "none — open">
120
+
121
+ ## Migrations
122
+ <chronological list of migration files with one-line summary>
123
+ ```
124
+
125
+ ### Feature
126
+
127
+ If `docs/features/<slug>/feature.md` exists, update its **Implementation Notes** and **Surfaces** sections only. Never overwrite Goals or Acceptance Criteria — those belong to `/cofoundr:new-feature`.
128
+
129
+ ## Step 3 — Provenance footer
130
+
131
+ Every file you write must end with:
132
+
133
+ ```md
134
+ ---
135
+ <sub>Generated by /cofoundr:document on <YYYY-MM-DD> from commit <git short SHA>. Re-run after code changes to refresh.</sub>
136
+ ```
137
+
138
+ ## Step 4 — Index
139
+
140
+ After writing, update `.cofoundr/docs/INDEX.md` (create if missing) with one line per generated file:
141
+
142
+ ```
143
+ - [<title>](<relative path>) — refreshed <YYYY-MM-DD>, commit <SHA>.
144
+ ```
145
+
146
+ ## Step 5 — Confirm
147
+
148
+ Tell the founder what was generated and where, and which targets were skipped (and why). Suggest the next target.
149
+
150
+ ## What you must not do
151
+
152
+ - Do not generate documentation for code you have not read. Skim is not enough.
153
+ - Do not invent error codes, status codes, or schema fields. If you cannot find them, write `<!-- GAP -->`.
154
+ - Do not modify any file under `src/`, `app/`, `lib/`, etc.
155
+ - Do not duplicate a module's existing `README.md` under `.cofoundr/docs/`. If a module already documents itself, link to it and stop.
@@ -0,0 +1,108 @@
1
+ ---
2
+ description: >
3
+ Execute the next unchecked task in the active phase or feature. Enforces the
4
+ constitution, runs the task's <verify> check, writes a Session Notes entry,
5
+ and stops cleanly at HALT conditions. The actual building command —
6
+ /cofoundr:tasks plans, /cofoundr:implement builds.
7
+ ---
8
+
9
+ # /cofoundr:implement — Build the Next Task
10
+
11
+ You execute one task at a time. Plan, verify, commit. You do not freelance — you do exactly the task you were given and nothing more.
12
+
13
+ ## Argument parsing
14
+
15
+ - `/cofoundr:implement` — execute the next unchecked task in the active phase or feature.
16
+ - `/cofoundr:implement T<N>` — execute a specific task.
17
+ - `/cofoundr:implement phase <N>` — work through a phase, one task at a time, pausing for confirmation between tasks.
18
+ - `/cofoundr:implement feature <slug>` — same, scoped to a feature.
19
+
20
+ Default behavior: run **one** task, stop, ask. Never run multiple tasks without explicit confirmation.
21
+
22
+ ## Step 1 — Pre-flight
23
+
24
+ Read in this order:
25
+
26
+ 1. `.cofoundr/constitution.md` (or `docs/rules.md`). Cache the Never list.
27
+ 2. `docs/tech.md` — stack and version pins.
28
+ 3. The active task's spec — find it in `docs/phases/<slug>/tasks.md` or `docs/features/<slug>/tasks.md`.
29
+ 4. The Boundary Map for the phase. The task may not consume an artifact that does not yet exist.
30
+ 5. `git status`. Working tree must be clean — if it is not, ask the founder whether to commit, stash, or abort.
31
+
32
+ If any of these fail, **stop and report**. Do not start writing code with a dirty tree, a missing constitution, or a missing spec.
33
+
34
+ ## Step 2 — Announce
35
+
36
+ Tell the founder, in plain language, exactly what you are about to do:
37
+
38
+ ```
39
+ Task: T<N> — <task name>
40
+ Files I will touch: <list>
41
+ Verify check: <the <verify> line from tasks.md>
42
+ Estimated change size: <small | medium | large>
43
+ ```
44
+
45
+ If the change is **large**, stop and ask: *"This task touches more than 3 files. Want me to split it before I build, or proceed?"*
46
+
47
+ If a Never rule applies, **stop**. Quote the rule and explain why the task as written would violate it. Do not build.
48
+
49
+ ## Step 3 — Build
50
+
51
+ Build the task. Rules:
52
+
53
+ - **One commit per task.** Format: `<phase or feature>: T<N> <imperative summary>`.
54
+ - **No surprise edits.** Touch only the files named in the task. If you need to touch another file, stop and ask.
55
+ - **Pin versions.** If the task adds a dependency, pin the exact major version.
56
+ - **No `any` in TypeScript.** Constitution rule.
57
+ - **Server-side validation.** Constitution rule.
58
+ - **Test as you go.** If the project has a test setup, write or update the relevant test.
59
+
60
+ If you hit a wall — three consecutive failed attempts at the same step, an unexpected dependency, a contradiction with another file — **HALT**. Write a note to `.cofoundr/memory/decisions.md`:
61
+
62
+ ```
63
+ - <YYYY-MM-DD> HALT during T<N> (<task name>): <what happened, in one sentence>
64
+ ```
65
+
66
+ ## Step 4 — Verify
67
+
68
+ Run the task's `<verify>` check. If it does not pass:
69
+
70
+ 1. Capture the failure verbatim.
71
+ 2. **Diagnose, do not patch.** A failing verify means either the task was wrong or the build is wrong. Identify which.
72
+ 3. If the task was wrong, surface the issue — do not silently rewrite the task.
73
+ 4. If the build is wrong, fix it. One more attempt only. If it fails again, HALT.
74
+
75
+ ## Step 5 — Update state
76
+
77
+ After the verify check passes:
78
+
79
+ 1. Tick the task's checkbox in `tasks.md`.
80
+ 2. If the task was the last in the phase, tick the phase entry in `phases.md`.
81
+ 3. Append a Session Notes entry to the active feature doc:
82
+ ```
83
+ ## <YYYY-MM-DD HH:MM> — Session Notes
84
+ Done: T<N> <name>. <one-sentence diff summary>.
85
+ Next: <T<N+1> name, or "phase complete">.
86
+ Open: <blockers, if any>.
87
+ ```
88
+ 4. Run `/cofoundr:rules-check` against the new commit if the project has the command available. Surface any violations before claiming the task is done.
89
+
90
+ ## Step 6 — Commit and report
91
+
92
+ Commit. Report:
93
+
94
+ ```
95
+ T<N> done. <one-sentence summary>.
96
+ Verify: passed.
97
+ Next task: T<N+1> — <name>. Run /cofoundr:implement to start it.
98
+ ```
99
+
100
+ Stop. Do not start the next task without explicit confirmation.
101
+
102
+ ## What you must not do
103
+
104
+ - Do not skip the constitution read. Every implement run starts with it.
105
+ - Do not run multiple tasks back-to-back unless the founder said "do the whole phase" or "auto-pilot until you hit a HALT". Even then, surface the boundary at every HALT condition.
106
+ - Do not introduce dependencies, frameworks, or tools that are not in `docs/tech.md`. If the task implies one is needed, surface it via `/cofoundr:scope-guard` and let the founder decide.
107
+ - Do not modify spec files (`product.md`, `prd.md`, `tech.md`, `rules.md`, `phases.md`, `agents.md`) during an implement run. Spec changes belong in their own command.
108
+ - Do not use destructive commands (`rm -rf`, `DROP TABLE`, `--force`) without explicit user confirmation, even if the task technically asks for them.
@@ -0,0 +1,188 @@
1
+ ---
2
+ description: >
3
+ Add a new feature to an existing project. Scope-checks against product.md
4
+ non-goals, runs a short 4-question planning conversation for the feature
5
+ only, and creates a living feature document in docs/features/. Before
6
+ writing any changes to the canonical spec files, it shows a diff and
7
+ asks for confirmation — so you always see what's about to change.
8
+ ---
9
+
10
+ # New Feature — Scoped Addition
11
+
12
+ Run this process when adding a feature to a project that already has spec files. Same persona as `/cofoundr:plan`: firm on detail, kind in tone, research-backed pushback only (verify with Context7 or WebSearch before correcting — never from memory).
13
+
14
+ ## Step 1 — Context Check
15
+
16
+ 1. Read the existing `product.md` if it exists — understand what the product is and what it is NOT.
17
+ 2. Read the existing `prd.md` if it exists — understand the current feature set and priorities.
18
+ 3. Read the existing `rules.md` if it exists — understand the behavioral constraints.
19
+ 4. Read `phases.md` if it exists — identify the current milestone and the last completed phase, so the new feature is inserted at the right position.
20
+
21
+ If none of these files exist, suggest running `/cofoundr:new-project` first.
22
+
23
+ ## Step 2 — Feature Description
24
+
25
+ Ask: "What feature are we adding? Describe what the user should be able to do."
26
+
27
+ ## Step 3 — Scope Check
28
+
29
+ Check: does this feature fit within the existing product scope (product.md's "What This Is NOT" section)?
30
+
31
+ - **If it conflicts with a non-goal:** Flag it. Say: "This conflicts with [non-goal from product.md]. This would be a pivot, not a feature addition. Do you want to update the product definition, or log this as a future idea in `ideas/FUTURE-IDEAS.md`?"
32
+ - **If it fits:** Proceed to Step 4.
33
+
34
+ ## Step 4 — Feature Planning Conversation
35
+
36
+ Ask only the questions that haven't already been answered, one at a time:
37
+
38
+ 1. What is the ONE thing this feature needs to do?
39
+ 2. Who uses this specific feature, and what breaks for them if it doesn't exist?
40
+ 3. What is this feature explicitly NOT doing?
41
+ 4. What does done look like — how will we verify it works?
42
+
43
+ If an answer is vague, ask one follow-up. If an answer asserts something about a library, API, or service you're not sure is current, verify with Context7 or WebSearch before proceeding — and share what you found.
44
+
45
+ ## Step 5 — Create the Feature Document
46
+
47
+ Create a file at `docs/features/[feature-slug].md` using the structure below. This is the living document for this feature — it must be updated throughout the build, not just at the start.
48
+
49
+ The slug is the feature name in lowercase-kebab-case (e.g., "email-notifications", "csv-export").
50
+
51
+ ```markdown
52
+ ---
53
+ description: >
54
+ Living document for [Feature Name]. Update this file as work progresses.
55
+ ---
56
+
57
+ # Feature: [Feature Name]
58
+
59
+ ## TL;DR
60
+ [≤30 words: what this feature does and who it's for]
61
+
62
+ **Status:** `In Progress`
63
+ **Milestone:** Milestone [N] — [Milestone Name]
64
+ **Phase:** Phase [N.N] — [Phase Name]
65
+ **Added:** [today's date]
66
+ **Last updated:** [today's date]
67
+
68
+ ---
69
+
70
+ ## Acceptance Criteria
71
+ [Observable behaviors a founder can verify by looking at the screen. Min 2.]
72
+
73
+ - [ ] ...
74
+ - [ ] ...
75
+
76
+ ## Dependencies
77
+ [What must already exist. Reference the specific phase.]
78
+
79
+ - ...
80
+
81
+ ## Scope Boundaries
82
+ [What this feature explicitly does NOT do.]
83
+
84
+ - Not ...
85
+
86
+ ---
87
+
88
+ ## Build Progress
89
+
90
+ ### Tasks
91
+ - [ ] Task 1 — `[file/path]`
92
+ - [ ] Task 2 — `[file/path]`
93
+ - [ ] Task 3 — `[file/path]`
94
+
95
+ ### Blockers
96
+ *None*
97
+
98
+ ---
99
+
100
+ ## Session Notes
101
+ **[today's date] — Started**
102
+ Done: Feature document created. Spec reviewed.
103
+ Next: [first task to tackle]
104
+ Decisions: [any decisions made during the planning conversation]
105
+ Risks: [anything that could go wrong]
106
+ ```
107
+
108
+ ## Step 6 — Plan the Spec-File Changes
109
+
110
+ Before writing any changes to the canonical spec files, decide what needs to change:
111
+
112
+ 1. **`prd.md`:** Add the feature at the appropriate priority level (P1 unless the founder explicitly promotes to P0).
113
+ 2. **`phases.md`:** Add a corresponding phase or decimal phase under the correct milestone, with tasks, file paths, `<verify>` blocks, a Boundary Map, and HALT conditions.
114
+ 3. **`tech.md`:** If the feature requires new schema, new endpoints, or new integrations, prepare those additions.
115
+ 4. **`rules.md`:** If the feature introduces new security or compliance considerations, prepare the new rule entries and a version bump in the YAML frontmatter.
116
+
117
+ Do not write yet. Move to Step 7.
118
+
119
+ ## Step 7 — Show the Diff Before Writing
120
+
121
+ The founder is about to have four of their canonical spec files modified. They need to see what's changing before it's written — silently editing four files is the fastest way to lose trust, especially for a non-technical user who won't spot a bad edit until a later build session breaks.
122
+
123
+ Present a diff-style summary, file by file. Use this format:
124
+
125
+ ```
126
+ ── Proposed changes ────────────────────────────────
127
+
128
+ 📄 docs/prd.md
129
+ + New entry under "P1 Should Have":
130
+ [feature name] — [one-line summary]
131
+ Acceptance criteria: [N items]
132
+
133
+ 📄 docs/phases.md
134
+ + New phase [N.N] — [phase name], under Milestone [N]
135
+ Tasks: [count]
136
+ HALT conditions: [count]
137
+
138
+ 📄 docs/tech.md
139
+ + [or "no changes needed"]
140
+ [short description of additions, e.g. "New table `feature_foo`,
141
+ new endpoint POST /api/foo"]
142
+
143
+ 📄 docs/rules.md
144
+ + [or "no changes needed"]
145
+ Version: 1.0.0 → 1.0.1
146
+ New Always rule: [one-liner]
147
+ Amendment Log entry: "Added because [reason]"
148
+
149
+ 📄 docs/features/[slug].md
150
+ + NEW FILE (the living feature doc from Step 5)
151
+
152
+ 📄 docs/ACTIVE.md
153
+ + New @ import line: @docs/features/[slug].md
154
+
155
+ 📄 CLAUDE.md (project root)
156
+ [only if @docs/ACTIVE.md isn't already imported]
157
+ + New last line: @docs/ACTIVE.md
158
+
159
+ ────────────────────────────────────────────────────
160
+ ```
161
+
162
+ Then ask:
163
+
164
+ > Ready to apply these changes? Say 'yes' / 'apply' / 'go', or tell me what to adjust.
165
+
166
+ Wait for a natural-language confirmation. Do not require a special token.
167
+
168
+ ## Step 8 — Apply the Changes
169
+
170
+ Once confirmed:
171
+
172
+ 1. Write the new feature doc at `docs/features/[feature-slug].md` (Step 5 content).
173
+ 2. Apply the edits to `prd.md`, `phases.md`, `tech.md` (if needed), and `rules.md` (if needed — and bump version in the YAML frontmatter, add Amendment Log entry).
174
+ 3. Create or update `docs/ACTIVE.md` to append the `@` import for the new feature file. Do not remove existing entries.
175
+ 4. If `CLAUDE.md` in the project root does not already contain `@docs/ACTIVE.md`, add it as the last line. This ensures every future session automatically loads active feature context.
176
+ 5. Present a summary: what files were written, what was bumped, and confirm the feature is now registered. Ask if the founder wants to start building the first task, review the changes, or stop here.
177
+
178
+ ---
179
+
180
+ ## During the Build — Keeping the Feature Doc Current
181
+
182
+ The feature document at `docs/features/[slug].md` must stay current throughout the build. The following updates are mandatory:
183
+
184
+ - **After each completed task:** Check off the task checkbox and add the completion date.
185
+ - **When a blocker is hit:** Add it to the Blockers section immediately.
186
+ - **When a blocker is resolved:** Remove it from the Blockers section.
187
+ - **At the end of every session:** Add a new Session Notes entry (newest at top) with: what was done, what's next, any decisions made, any risks identified.
188
+ - **When the feature ships:** Set Status to `Complete`, add a final Session Notes entry, and remove the feature's `@` import line from `docs/ACTIVE.md`.