@lumenflow/cli 3.18.1 → 3.20.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 (175) hide show
  1. package/dist/docs-sync.js +123 -6
  2. package/dist/docs-sync.js.map +1 -1
  3. package/dist/gate-co-change.js +23 -4
  4. package/dist/gate-co-change.js.map +1 -1
  5. package/dist/gates-runners.js +113 -16
  6. package/dist/gates-runners.js.map +1 -1
  7. package/dist/gates-utils.js +71 -0
  8. package/dist/gates-utils.js.map +1 -1
  9. package/dist/lumenflow-upgrade.js +1 -0
  10. package/dist/lumenflow-upgrade.js.map +1 -1
  11. package/dist/public-manifest.js +1 -1
  12. package/dist/public-manifest.js.map +1 -1
  13. package/dist/sync-templates.js +13 -0
  14. package/dist/sync-templates.js.map +1 -1
  15. package/dist/wu-block.js +10 -0
  16. package/dist/wu-block.js.map +1 -1
  17. package/dist/wu-claim-validation.js +3 -1
  18. package/dist/wu-claim-validation.js.map +1 -1
  19. package/dist/wu-claim.js +3 -1
  20. package/dist/wu-claim.js.map +1 -1
  21. package/dist/wu-done-memory-telemetry.js +5 -1
  22. package/dist/wu-done-memory-telemetry.js.map +1 -1
  23. package/dist/wu-done-ownership.js +6 -0
  24. package/dist/wu-done-ownership.js.map +1 -1
  25. package/dist/wu-edit-operations.js +4 -4
  26. package/dist/wu-edit-operations.js.map +1 -1
  27. package/dist/wu-prep.js +88 -13
  28. package/dist/wu-prep.js.map +1 -1
  29. package/dist/wu-prune.js +2 -2
  30. package/dist/wu-prune.js.map +1 -1
  31. package/dist/wu-recover.js +15 -0
  32. package/dist/wu-recover.js.map +1 -1
  33. package/dist/wu-release.js +10 -1
  34. package/dist/wu-release.js.map +1 -1
  35. package/dist/wu-spawn-prompt-builders.js +27 -2
  36. package/dist/wu-spawn-prompt-builders.js.map +1 -1
  37. package/dist/wu-state-mutation-ownership.js +136 -0
  38. package/dist/wu-state-mutation-ownership.js.map +1 -0
  39. package/dist/wu-unblock.js +10 -0
  40. package/dist/wu-unblock.js.map +1 -1
  41. package/dist/wu-verify.js +22 -17
  42. package/dist/wu-verify.js.map +1 -1
  43. package/package.json +111 -110
  44. package/packs/agent-runtime/.turbo/turbo-build.log +1 -1
  45. package/packs/agent-runtime/package.json +1 -1
  46. package/packs/sidekick/.turbo/turbo-build.log +1 -1
  47. package/packs/sidekick/README.md +118 -113
  48. package/packs/sidekick/manifest-schema.ts +15 -228
  49. package/packs/sidekick/manifest.ts +107 -7
  50. package/packs/sidekick/manifest.yaml +199 -1
  51. package/packs/sidekick/package.json +4 -1
  52. package/packs/sidekick/policy-factory.ts +38 -0
  53. package/packs/sidekick/tool-impl/channel-tools.ts +99 -0
  54. package/packs/sidekick/tool-impl/memory-tools.ts +86 -1
  55. package/packs/sidekick/tool-impl/routine-tools.ts +156 -2
  56. package/packs/sidekick/tool-impl/storage.ts +6 -5
  57. package/packs/sidekick/tool-impl/task-tools.ts +186 -4
  58. package/packs/software-delivery/.turbo/turbo-build.log +1 -1
  59. package/packs/software-delivery/package.json +1 -1
  60. package/templates/core/AGENTS.md.template +157 -32
  61. package/templates/core/LUMENFLOW.md.template +44 -29
  62. package/templates/core/_frameworks/lumenflow/wu-sizing-guide.md.template +644 -0
  63. package/templates/core/ai/onboarding/agent-invocation-guide.md.template +5 -5
  64. package/templates/core/ai/onboarding/agent-safety-card.md.template +1 -0
  65. package/templates/core/ai/onboarding/docs-generation.md.template +94 -4
  66. package/templates/core/ai/onboarding/first-15-mins.md.template +1 -1
  67. package/templates/core/ai/onboarding/first-wu-mistakes.md.template +2 -1
  68. package/templates/core/ai/onboarding/initiative-orchestration.md.template +21 -21
  69. package/templates/core/ai/onboarding/quick-ref-commands.md.template +126 -109
  70. package/templates/core/ai/onboarding/release-process.md.template +12 -12
  71. package/templates/core/ai/onboarding/starting-prompt.md.template +33 -32
  72. package/templates/vendors/claude/.claude/skills/initiative-management/SKILL.md.template +2 -2
  73. package/templates/vendors/claude/.claude/skills/multi-agent-coordination/SKILL.md.template +2 -2
  74. package/templates/vendors/claude/.claude/skills/orchestration/SKILL.md.template +3 -3
  75. package/dist/chunk-2D2VOCA4.js +0 -37
  76. package/dist/chunk-2D5KFYGX.js +0 -284
  77. package/dist/chunk-2GXVIN57.js +0 -14072
  78. package/dist/chunk-2MQ7HZWZ.js +0 -26
  79. package/dist/chunk-2UFQ3A3C.js +0 -643
  80. package/dist/chunk-3RG5ZIWI.js +0 -10
  81. package/dist/chunk-4N74J3UT.js +0 -15
  82. package/dist/chunk-5GTOXFYR.js +0 -392
  83. package/dist/chunk-5VY6MQMC.js +0 -240
  84. package/dist/chunk-67XVPMRY.js +0 -1297
  85. package/dist/chunk-6HO4GWJE.js +0 -164
  86. package/dist/chunk-6W5XHWYV.js +0 -1890
  87. package/dist/chunk-6X4EMYJQ.js +0 -64
  88. package/dist/chunk-6XYXI2NQ.js +0 -772
  89. package/dist/chunk-7ANSOV6Q.js +0 -285
  90. package/dist/chunk-A624LFLB.js +0 -1380
  91. package/dist/chunk-ADN5NHG4.js +0 -126
  92. package/dist/chunk-B7YJYJKG.js +0 -33
  93. package/dist/chunk-CCLHCPKG.js +0 -210
  94. package/dist/chunk-CK36VROC.js +0 -1584
  95. package/dist/chunk-D3UOFRSB.js +0 -81
  96. package/dist/chunk-DFR4DJBM.js +0 -230
  97. package/dist/chunk-DSYBDHYH.js +0 -79
  98. package/dist/chunk-DWMLTXKQ.js +0 -1176
  99. package/dist/chunk-E3REJTAJ.js +0 -28
  100. package/dist/chunk-EA3IVO64.js +0 -633
  101. package/dist/chunk-EK2AKZKD.js +0 -55
  102. package/dist/chunk-ELD7JTTT.js +0 -343
  103. package/dist/chunk-EX6TT2XI.js +0 -195
  104. package/dist/chunk-EXINSFZE.js +0 -82
  105. package/dist/chunk-EZ6ZBYBM.js +0 -510
  106. package/dist/chunk-FBKAPTJ2.js +0 -16
  107. package/dist/chunk-FVLV5RYH.js +0 -1118
  108. package/dist/chunk-GDNSBQVK.js +0 -2485
  109. package/dist/chunk-GPQHMBNN.js +0 -278
  110. package/dist/chunk-GTFJB67L.js +0 -68
  111. package/dist/chunk-HANJXVKW.js +0 -1127
  112. package/dist/chunk-HEVS5YLD.js +0 -269
  113. package/dist/chunk-HMEVZKPQ.js +0 -9
  114. package/dist/chunk-HRGSYNLM.js +0 -3511
  115. package/dist/chunk-ISZR5N4K.js +0 -60
  116. package/dist/chunk-J6SUPR2C.js +0 -226
  117. package/dist/chunk-JERYVEIZ.js +0 -244
  118. package/dist/chunk-JHHWGL2N.js +0 -87
  119. package/dist/chunk-JONWQUB5.js +0 -775
  120. package/dist/chunk-K2DIWWDM.js +0 -1766
  121. package/dist/chunk-KY4PGL5V.js +0 -969
  122. package/dist/chunk-L737LQ4C.js +0 -1285
  123. package/dist/chunk-LFTWYIB2.js +0 -497
  124. package/dist/chunk-LV47RFNJ.js +0 -41
  125. package/dist/chunk-MKSAITI7.js +0 -15
  126. package/dist/chunk-MZ7RKIX4.js +0 -212
  127. package/dist/chunk-NAP6CFSO.js +0 -84
  128. package/dist/chunk-ND6MY37M.js +0 -16
  129. package/dist/chunk-NMG736UR.js +0 -683
  130. package/dist/chunk-NRAXROED.js +0 -32
  131. package/dist/chunk-NRIZR3A7.js +0 -690
  132. package/dist/chunk-NX43BG3M.js +0 -233
  133. package/dist/chunk-O645XLSI.js +0 -297
  134. package/dist/chunk-OMJD6A3S.js +0 -235
  135. package/dist/chunk-QB6SJD4T.js +0 -430
  136. package/dist/chunk-QFSTL4J3.js +0 -276
  137. package/dist/chunk-QLGDFMFX.js +0 -212
  138. package/dist/chunk-RIAAGL2E.js +0 -13
  139. package/dist/chunk-RWO5XMZ6.js +0 -86
  140. package/dist/chunk-RXRKBBSM.js +0 -149
  141. package/dist/chunk-RZOZMML6.js +0 -363
  142. package/dist/chunk-U7I7FS7T.js +0 -113
  143. package/dist/chunk-UI42RODY.js +0 -717
  144. package/dist/chunk-UTVMVSCO.js +0 -519
  145. package/dist/chunk-V6OJGLBA.js +0 -1746
  146. package/dist/chunk-W2JHVH7D.js +0 -152
  147. package/dist/chunk-WD3Y7VQN.js +0 -280
  148. package/dist/chunk-WOCTQ5MS.js +0 -303
  149. package/dist/chunk-WZR3ZUNN.js +0 -696
  150. package/dist/chunk-XGI665H7.js +0 -150
  151. package/dist/chunk-XKY65P2T.js +0 -304
  152. package/dist/chunk-Y4CQZY65.js +0 -57
  153. package/dist/chunk-YFEXKLVE.js +0 -194
  154. package/dist/chunk-YHO3HS5X.js +0 -287
  155. package/dist/chunk-YLS7AZSX.js +0 -738
  156. package/dist/chunk-ZE473AO6.js +0 -49
  157. package/dist/chunk-ZF747T3O.js +0 -644
  158. package/dist/chunk-ZHCZHZH3.js +0 -43
  159. package/dist/chunk-ZZNZX2XY.js +0 -87
  160. package/dist/constants-7QAP3VQ4.js +0 -23
  161. package/dist/dist-IY3UUMWK.js +0 -33
  162. package/dist/invariants-runner-W5RGHCSU.js +0 -27
  163. package/dist/lane-lock-6J36HD5O.js +0 -35
  164. package/dist/mem-checkpoint-core-EANG2GVN.js +0 -14
  165. package/dist/mem-signal-core-2LZ2WYHW.js +0 -19
  166. package/dist/memory-store-OLB5FO7K.js +0 -18
  167. package/dist/service-6BYCOCO5.js +0 -13
  168. package/dist/spawn-policy-resolver-NTSZYQ6R.js +0 -17
  169. package/dist/spawn-task-builder-R4E2BHSW.js +0 -22
  170. package/dist/wu-done-pr-WLFFFEPJ.js +0 -25
  171. package/dist/wu-done-validation-3J5E36FE.js +0 -30
  172. package/dist/wu-duplicate-id-detector-5S7JHELK.js +0 -232
  173. package/packs/sidekick/.turbo/turbo-test.log +0 -12
  174. package/packs/sidekick/.turbo/turbo-typecheck.log +0 -4
  175. package/packs/software-delivery/.turbo/turbo-typecheck.log +0 -4
@@ -2,6 +2,8 @@
2
2
 
3
3
  **Last updated:** {{DATE}}
4
4
 
5
+ > **Works with any AI coding assistant.** This file provides instructions that work regardless of which AI tool you're using -- Claude Code, Cursor, Windsurf, Cline, Codex, Aider, or any other. Just read this file and follow the workflow.
6
+
5
7
  This project uses LumenFlow workflow. For complete documentation, see [LUMENFLOW.md](LUMENFLOW.md).
6
8
  If `LUMENFLOW.local.md` exists, read it after LUMENFLOW.md for project-specific additions.
7
9
 
@@ -26,51 +28,102 @@ For the full workflow, principles, and setup instructions, read [LUMENFLOW.md](L
26
28
 
27
29
  ---
28
30
 
29
- ## Quick Start
31
+ ## Quick Start (Local Worktree -- Default)
32
+
33
+ First-time lane setup (once per project, after plan/context is known):
34
+
35
+ ```bash
36
+ pnpm lane:setup
37
+ pnpm lane:validate
38
+ pnpm lane:lock
39
+ ```
30
40
 
31
41
  ```bash
32
42
  # 1. Claim a WU
33
43
  pnpm wu:claim --id WU-XXXX --lane <Lane>
34
44
  cd worktrees/<lane>-wu-xxxx
35
45
 
36
- # 2. Work in worktree, run gates
37
- pnpm gates
46
+ # 2. Work in worktree
38
47
 
39
- # 3. Complete (ALWAYS run this!)
40
- cd <project-root>
41
- pnpm wu:done --id WU-XXXX
48
+ # 3. Prep (runs gates in worktree)
49
+ pnpm wu:prep --id WU-XXXX
50
+ # This prints a copy-paste command for step 4
51
+
52
+ # 4. Complete (from main - copy-paste from wu:prep output)
53
+ cd <project-root> && pnpm wu:done --id WU-XXXX
42
54
  ```
43
55
 
44
- > **Complete CLI reference:** See [quick-ref-commands.md]({{QUICK_REF_LINK}})
56
+ ## Quick Start (Cloud / Branch-PR)
45
57
 
46
- ---
58
+ Cloud agents (Codex, Claude web, CI bots) that cannot use local worktrees use the **branch-pr** mode. This is a first-class lifecycle, not a workaround.
59
+
60
+ **Activation is explicit-only:** cloud mode is enabled only by `--cloud` or `LUMENFLOW_CLOUD=1`. Runtime identity env vars such as `CLAUDECODE`, `CODEX`, or `CI` do not activate cloud mode.
61
+
62
+ ```bash
63
+ # 1. Create in cloud mode (ID auto-generated; optional if WU already exists)
64
+ pnpm wu:create --lane <Lane> --title "..." ... --cloud
65
+ # Output: Created WU-XXXX
66
+
67
+ # 2. Claim in cloud mode (creates lane branch, no worktree)
68
+ pnpm wu:claim --id WU-XXXX --lane <Lane> --cloud
69
+ # Or: LUMENFLOW_CLOUD=1 pnpm wu:claim --id WU-XXXX --lane <Lane>
47
70
 
48
- ## Critical: Always wu:done
71
+ # 3. Work on the lane branch in your cloud environment
49
72
 
50
- After completing work, ALWAYS run `pnpm wu:done --id WU-XXXX` from the main checkout.
73
+ # 4. Prep (validates branch, runs gates)
74
+ pnpm wu:prep --id WU-XXXX
51
75
 
52
- This is the single most forgotten step. See [LUMENFLOW.md](LUMENFLOW.md) for details.
76
+ # 5. Complete (creates PR instead of merging to main)
77
+ pnpm wu:done --id WU-XXXX
78
+ # Output: PR created. After merge, run: pnpm wu:cleanup --id WU-XXXX
79
+
80
+ # 6. Post-merge cleanup (after PR is merged)
81
+ pnpm wu:cleanup --id WU-XXXX
82
+ ```
83
+
84
+ **Key differences from worktree mode:**
85
+
86
+ - `wu:claim --cloud` sets `claimed_mode: branch-pr` (no worktree created)
87
+ - `wu:create --cloud` writes WU specs on the active branch (no main checkout requirement)
88
+ - `wu:done` creates a PR instead of fast-forward merging to main
89
+ - `wu:cleanup` handles post-merge stamp creation and state updates
90
+ - `wu:recover` and `wu:repair` respect branch-pr claimed branches for recovery/admin fixes
91
+ - Cloud mode is never auto-enabled by runtime identity env vars (`CLAUDECODE`, `CODEX`, `CI`)
53
92
 
54
93
  ---
55
94
 
56
- ## Essential Commands
95
+ ## CLI Commands and Lifecycle Reference
96
+
97
+ For complete CLI command documentation (100+ commands), see [quick-ref-commands.md]({{QUICK_REF_LINK}}).
98
+
99
+ **Essential commands:**
57
100
 
58
- | Command | Description |
59
- | ------------------------- | ----------------------------------------------------- |
60
- | `pnpm wu:create` | Create new WU spec (ID auto-generated) |
61
- | `pnpm wu:claim` | Claim WU and create worktree (or `--cloud`) |
62
- | `pnpm wu:prep` | Run gates in worktree, prep for wu:done |
63
- | `pnpm wu:done` | Complete WU (merge or PR, stamp, cleanup) |
64
- | `pnpm wu:status` | Show WU status, location, valid commands |
101
+ | Command | Description |
102
+ | ------------------------- | ----------------------------------------------------------------------- |
103
+ | `pnpm wu:create` | Create new WU spec (ID auto-generated) |
104
+ | `pnpm wu:claim` | Claim WU and create worktree (or `--cloud`) |
105
+ | `pnpm wu:prep` | Run gates in worktree, prep for wu:done |
106
+ | `pnpm wu:done` | Complete WU (merge or PR, stamp, cleanup) |
107
+ | `pnpm wu:status` | Show WU status, location, valid commands |
65
108
  | `pnpm wu:brief` | **MANDATORY after wu:claim.** Generate handoff prompt + record evidence |
66
- | `pnpm wu:delegate` | Generate prompt + record delegation lineage |
67
- | `pnpm wu:recover` | Analyze and fix WU state inconsistencies |
68
- | `pnpm wu:escalate` | Show or resolve WU escalation status |
69
- | `pnpm wu:delete` | Delete WU spec and cleanup |
70
- | `pnpm gates` | Run all quality gates (`--docs-only` for docs) |
71
- | `pnpm lumenflow:commands` | List all public commands (primary + aliases + legacy) |
72
- | `pnpm mem:checkpoint` | Save progress checkpoint |
73
- | `pnpm mem:recover` | Generate recovery context |
109
+ | `pnpm wu:delegate` | Generate prompt + record lineage + brief hash attestation |
110
+ | `pnpm wu:recover` | Analyze and fix WU state inconsistencies |
111
+ | `pnpm wu:escalate` | Show or resolve WU escalation status |
112
+ | `pnpm wu:verify` | Verify WU completion (stamp, commit, clean tree) |
113
+ | `pnpm wu:delete` | Delete WU spec and cleanup |
114
+ | `pnpm gates` | Run all quality gates (`--docs-only` for docs) |
115
+ | `pnpm lumenflow:commands` | List all public commands (primary + aliases + legacy) |
116
+ | `pnpm lane:status` | Show lane lifecycle status and next step |
117
+ | `pnpm lane:setup` | Create/update draft lane artifacts |
118
+ | `pnpm lane:lock` | Lock lane lifecycle for delivery WUs |
119
+ | `pnpm mem:checkpoint` | Save progress checkpoint |
120
+ | `pnpm mem:recover` | Generate recovery context |
121
+
122
+ **Two-step completion (wu:prep then wu:done):**
123
+
124
+ The completion workflow is a two-step process. Run `wu:prep` from the worktree (runs gates, prints copy-paste instruction), then run `wu:done` from main (merge + cleanup). Do NOT run `wu:done` from a worktree.
125
+
126
+ For detailed troubleshooting, see [troubleshooting-wu-done.md]({{DOCS_ONBOARDING_PATH}}/troubleshooting-wu-done.md).
74
127
 
75
128
  ---
76
129
 
@@ -80,15 +133,17 @@ This is the single most forgotten step. See [LUMENFLOW.md](LUMENFLOW.md) for det
80
133
  2. **Worktree Discipline**: After `wu:claim`, work ONLY in the worktree
81
134
  3. **Gates Before Done**: Run `pnpm gates` before `wu:done`
82
135
  4. **Never Bypass Hooks**: No `--no-verify`
136
+ 5. **Vendor-Agnostic Dirty-Main Guard**: `wu:prep` and `wu:done` hard-block when main has non-allowlisted dirty files during worktree WUs (including MCP/tool-originated writes). `branch-pr` mode is exempt.
137
+
138
+ For the complete set of non-negotiable constraints (git safety, forbidden commands, skip-gates policy, and more), see [.lumenflow/constraints.md](.lumenflow/constraints.md).
83
139
 
84
140
  ---
85
141
 
86
- ## Forbidden Commands
142
+ ## Safety: Forbidden Commands and Safe Alternatives
143
+
144
+ LumenFlow enforces safety at the repository level via git wrappers and hooks. For the full list of forbidden commands and their safe `wu:` alternatives, see [.lumenflow/constraints.md](.lumenflow/constraints.md).
87
145
 
88
- - `git reset --hard`
89
- - `git push --force`
90
- - `git stash` (on main)
91
- - `--no-verify`
146
+ **Key rule:** Always use `wu:` commands for worktree and branch management -- never raw `git worktree` or `git branch -D` commands. Use `wu:recover` for state inconsistencies, `wu:release` for abandoned WUs, and `wu:prune` for stale worktrees.
92
147
 
93
148
  ---
94
149
 
@@ -99,3 +154,73 @@ This file provides universal guidance for all AI agents. Additional vendor-speci
99
154
  - **Claude Code**: See `CLAUDE.md` (if present)
100
155
  - **Cursor**: See `.cursor/rules/lumenflow.md` (if present)
101
156
  - **Windsurf**: See `.windsurf/rules/lumenflow.md` (if present)
157
+ - **Cline**: See `.clinerules` (if present)
158
+
159
+ ---
160
+
161
+ ## Workflow Summary
162
+
163
+ ### Local (Worktree Mode -- Default)
164
+
165
+ | Step | Location | Command |
166
+ | ------------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
167
+ | 1. Create WU | main | `pnpm wu:create --lane <Lane> --title "Title" --description "..." --acceptance "..." --code-paths "..." --test-paths-unit "..." --exposure backend-only` (ID auto-generated) |
168
+ | 2. Claim | main | `pnpm wu:claim --id WU-XXX --lane <Lane>` |
169
+ | 3. Brief | worktree | `cd worktrees/<lane>-wu-xxx && pnpm wu:brief --id WU-XXX --client <client>` **(mandatory — wu:done blocks without this)** |
170
+ | 4. Work | worktree | Implement changes per acceptance criteria |
171
+ | 5. Prep | worktree | `pnpm wu:prep --id WU-XXX` (runs gates) |
172
+ | 6. Complete | main | `pnpm wu:done --id WU-XXX` (copy-paste from wu:prep) |
173
+
174
+ ### Cloud (Branch-PR Mode)
175
+
176
+ | Step | Location | Command |
177
+ | ------------ | ----------- | ------------------------------------------------------------------------------------------- |
178
+ | 1. Create WU | lane branch | `pnpm wu:create --lane <Lane> --title "..." ... --cloud` (ID auto-generated) |
179
+ | 2. Claim | lane branch | `pnpm wu:claim --id WU-XXX --lane <Lane> --cloud` |
180
+ | 3. Brief | lane branch | `pnpm wu:brief --id WU-XXX --client <client>` **(mandatory — wu:done blocks without this)** |
181
+ | 4. Work | lane branch | Work on `lane/<lane>/wu-xxx` in cloud environment |
182
+ | 5. Prep | lane branch | `pnpm wu:prep --id WU-XXX` (validates branch, runs gates) |
183
+ | 6. Complete | lane branch | `pnpm wu:done --id WU-XXX` (creates PR) |
184
+ | 7. Cleanup | after merge | `pnpm wu:cleanup --id WU-XXX` (post-merge stamps) |
185
+
186
+ ---
187
+
188
+ ## Public Docs IA (Kernel + Packs)
189
+
190
+ - Kernel docs source: `apps/docs/src/content/docs/kernel/**`
191
+ - Software Delivery Pack docs source: `apps/docs/src/content/docs/packs/software-delivery/**`
192
+ - Language guides (pack-scoped): `apps/docs/src/content/docs/packs/software-delivery/languages/**`
193
+ - Docs truth YAML files:
194
+ - `apps/docs/src/data/version-policy.yaml`
195
+ - `apps/docs/src/data/language-support.yaml`
196
+ - `apps/docs/src/data/example-repos.yaml`
197
+
198
+ ---
199
+
200
+ ## Further Reading
201
+
202
+ - [LUMENFLOW.md](LUMENFLOW.md) -- Main workflow documentation (principles, setup, initiatives, skills)
203
+ - [.lumenflow/constraints.md](.lumenflow/constraints.md) -- Non-negotiable rules and forbidden commands
204
+ - [Quick Reference: Commands]({{QUICK_REF_LINK}}) -- Complete CLI reference (100+ commands)
205
+ - [Troubleshooting wu:done]({{DOCS_ONBOARDING_PATH}}/troubleshooting-wu-done.md) -- Most common completion mistakes
206
+ - [LumenFlow Agent Capsule]({{DOCS_OPERATIONS_PATH}}/_frameworks/lumenflow/lumenflow-agent-capsule.md) -- Full framework reference (lifecycle, lanes, gates, DoD)
207
+
208
+ ---
209
+
210
+ ## Context Recovery (WU-2157)
211
+
212
+ If you are resuming work or have lost context, check for recovery files:
213
+
214
+ ```bash
215
+ # Check for pending recovery
216
+ ls .lumenflow/state/recovery-pending-*.md 2>/dev/null
217
+
218
+ # Generate fresh recovery context
219
+ pnpm mem:recover --wu WU-XXX
220
+
221
+ # Or generate a full handoff prompt
222
+ pnpm wu:brief --id WU-XXX --client codex-cli
223
+ ```
224
+
225
+ Recovery files contain your last checkpoint, acceptance criteria, code paths, and changed files.
226
+ Always save checkpoints before long operations: `pnpm mem:checkpoint "progress note" --wu WU-XXX`
@@ -2,10 +2,6 @@
2
2
 
3
3
  **Last updated:** {{DATE}}
4
4
 
5
- > **This file is managed by LumenFlow.** Do not edit — it will be overwritten on upgrade.
6
- > For project-specific additions, create `LUMENFLOW.local.md` (never overwritten).
7
- > If `LUMENFLOW.local.md` exists, agents should read it after this file.
8
-
9
5
  LumenFlow is a vendor-agnostic workflow framework for AI-native software development.
10
6
 
11
7
  > **Context Safety**: When approaching context limits (80% usage, 50+ tool calls), spawn a fresh agent instead of continuing after compaction. See [wu-sizing-guide.md]({{DOCS_OPERATIONS_PATH}}/_frameworks/lumenflow/wu-sizing-guide.md).
@@ -54,6 +50,9 @@ cd worktrees/<lane>-wu-xxxx
54
50
  # 4b. Build CLI in worktree (required for gates)
55
51
  pnpm bootstrap
56
52
 
53
+ # 4c. Run wu:brief (MANDATORY — wu:done blocks without this)
54
+ pnpm wu:brief --id WU-XXXX --client <client>
55
+
57
56
  # 5. Implement in worktree
58
57
 
59
58
  # 6. Prepare (runs gates in worktree) - WU-1223 NEW
@@ -141,7 +140,7 @@ When `requireRemote: true` (default):
141
140
  ## Core Principles
142
141
 
143
142
  1. **Design-First** (feature/refactor WUs): Load `/skill design-first` before implementation. Question requirements, delete unnecessary, simplify before optimizing
144
- 2. **Fit-For-Surface Verification**: Choose the least brittle verification that gives strong confidence. Prefer TDD for runtime logic when repository policy requires it; prefer behavior-focused integration, smoke, visual, or manual verification for UI, content, and presentation work.
143
+ 2. **Fit-For-Surface Verification**: Choose the least brittle verification that gives strong confidence. Prefer TDD for runtime logic when repository policy requires it; prefer behavior-focused integration, smoke, visual, or manual verification for UI, content, and presentation work. Never assert inline styles, CSS values, exact copy, or DOM shape in E2E/integration tests.
145
144
  3. **Library-First**: Search existing libraries before custom code
146
145
  4. **DRY/SOLID/KISS/YAGNI**: No magic numbers, no hardcoded strings
147
146
  5. **Worktree Discipline**: After `wu:claim`, work ONLY in the worktree
@@ -221,6 +220,22 @@ lumenflow init --merge # Safe merge into existing files
221
220
 
222
221
  The `--merge` flag uses bounded markers (`LUMENFLOW:START`/`END`) to safely insert or update LumenFlow config in existing files without overwriting user content.
223
222
 
223
+ ### File Ownership Model
224
+
225
+ | File | Owner | On Upgrade | User Overrides |
226
+ | ------------------------------ | ------------------------- | --------------------------------------------------------------- | ------------------------ |
227
+ | `LUMENFLOW.md` | LumenFlow (fully managed) | Force-synced from template | Use `LUMENFLOW.local.md` |
228
+ | `.lumenflow/constraints.md` | LumenFlow (fully managed) | Force-synced from template | — |
229
+ | `AGENTS.md` | Shared (merge-block) | Content between `LUMENFLOW:START`/`END` updated; rest preserved | Edit outside markers |
230
+ | `CLAUDE.md` | Shared (merge-block) | Content between markers updated; rest preserved | Edit outside markers |
231
+ | `.cursor/rules/lumenflow.md` | Shared (merge-block) | Content between markers updated; rest preserved | Edit outside markers |
232
+ | `.windsurf/rules/lumenflow.md` | Shared (merge-block) | Content between markers updated; rest preserved | Edit outside markers |
233
+ | `LUMENFLOW.local.md` | User (never touched) | Skipped entirely | Full ownership |
234
+ | `.lumenflow/templates/` | User (never touched) | Skipped entirely | Full ownership |
235
+
236
+ > For project-specific workflow additions, create `LUMENFLOW.local.md` (never overwritten).
237
+ > If `LUMENFLOW.local.md` exists, agents should read it after this file.
238
+
224
239
  ---
225
240
 
226
241
  ## Worktree Discipline (IMMUTABLE LAW)
@@ -254,31 +269,31 @@ For the full worktree lifecycle (parallel execution, bootstrap, isolation guaran
254
269
 
255
270
  > **Complete CLI reference (100+ commands):** See [quick-ref-commands.md]({{QUICK_REF_LINK}}). Always run `<command> --help` for the authoritative option list.
256
271
 
257
- | Command | Description |
258
- | ------------------------- | --------------------------------------------------------- |
259
- | `pnpm wu:create` | Create new WU spec |
260
- | `pnpm wu:claim` | Claim WU, update canonical state, create worktree |
261
- | `pnpm wu:prep` | Run gates in worktree, prep for wu:done |
262
- | `pnpm wu:done` | Complete WU (merge, stamp, cleanup) |
263
- | `pnpm wu:status` | Show WU status, location, and valid commands |
264
- | `pnpm wu:recover` | Analyze and fix WU state inconsistencies |
265
- | `pnpm wu:block` | Block WU (transitions to blocked, frees lane) |
266
- | `pnpm wu:unblock` | Unblock WU (transitions to in_progress) |
267
- | `pnpm wu:release` | Release orphaned WU (in_progress to ready for reclaim) |
272
+ | Command | Description |
273
+ | ------------------------- | ----------------------------------------------------------------------- |
274
+ | `pnpm wu:create` | Create new WU spec |
275
+ | `pnpm wu:claim` | Claim WU, update canonical state, create worktree |
276
+ | `pnpm wu:prep` | Run gates in worktree, prep for wu:done |
277
+ | `pnpm wu:done` | Complete WU (merge, stamp, cleanup) |
278
+ | `pnpm wu:status` | Show WU status, location, and valid commands |
279
+ | `pnpm wu:recover` | Analyze and fix WU state inconsistencies |
280
+ | `pnpm wu:block` | Block WU (transitions to blocked, frees lane) |
281
+ | `pnpm wu:unblock` | Unblock WU (transitions to in_progress) |
282
+ | `pnpm wu:release` | Release orphaned WU (in_progress to ready for reclaim) |
268
283
  | `pnpm wu:brief` | **MANDATORY after wu:claim.** Generate handoff prompt + record evidence |
269
- | `pnpm wu:delegate` | Generate prompt + record lineage + brief hash attestation |
270
- | `pnpm wu:escalate` | Show or resolve WU escalation status |
271
- | `pnpm wu:verify` | Verify WU completion (stamp, commit, clean tree) |
272
- | `pnpm wu:delete` | Delete WU spec and cleanup |
273
- | `pnpm gates` | Run quality gates (`--docs-only` for docs WUs) |
274
- | `pnpm lumenflow:commands` | List all public commands (primary + alias + legacy) |
275
- | `pnpm docs:generate` | Regenerate CLI/config reference docs from source |
276
- | `pnpm docs:validate` | Verify generated docs are up-to-date |
277
- | `pnpm lane:status` | Show lane lifecycle status + next step |
278
- | `pnpm lane:setup` | Create/update draft lane artifacts |
279
- | `pnpm lane:validate` | Validate lane artifacts before lock |
280
- | `pnpm lane:lock` | Lock lane lifecycle for delivery WUs |
281
- | `pnpm mem:checkpoint` | Save memory checkpoint |
284
+ | `pnpm wu:delegate` | Generate prompt + record lineage + brief hash attestation |
285
+ | `pnpm wu:escalate` | Show or resolve WU escalation status |
286
+ | `pnpm wu:verify` | Verify WU completion (stamp, commit, clean tree) |
287
+ | `pnpm wu:delete` | Delete WU spec and cleanup |
288
+ | `pnpm gates` | Run quality gates (`--docs-only` for docs WUs) |
289
+ | `pnpm lumenflow:commands` | List all public commands (primary + alias + legacy) |
290
+ | `pnpm docs:generate` | Regenerate CLI/config reference docs from source |
291
+ | `pnpm docs:validate` | Verify generated docs are up-to-date |
292
+ | `pnpm lane:status` | Show lane lifecycle status + next step |
293
+ | `pnpm lane:setup` | Create/update draft lane artifacts |
294
+ | `pnpm lane:validate` | Validate lane artifacts before lock |
295
+ | `pnpm lane:lock` | Lock lane lifecycle for delivery WUs |
296
+ | `pnpm mem:checkpoint` | Save memory checkpoint |
282
297
 
283
298
  Commands include **context-aware validation** that checks location, WU status, and git state. When validation fails, commands provide copy-paste ready fix commands. Configure in `workspace.yaml` under `software_delivery.experimental.context_validation`.
284
299
  The Starlight CLI reference page is intentionally curated to primary commands; use `pnpm lumenflow:commands` for complete discovery.