@lumenflow/cli 3.13.2 → 3.15.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 (155) hide show
  1. package/dist/chunk-2D2VOCA4.js +37 -0
  2. package/dist/chunk-2D5KFYGX.js +284 -0
  3. package/dist/chunk-2GXVIN57.js +14072 -0
  4. package/dist/chunk-2MQ7HZWZ.js +26 -0
  5. package/dist/chunk-2UFQ3A3C.js +643 -0
  6. package/dist/chunk-3RG5ZIWI.js +10 -0
  7. package/dist/chunk-4N74J3UT.js +15 -0
  8. package/dist/chunk-5GTOXFYR.js +392 -0
  9. package/dist/chunk-5VY6MQMC.js +240 -0
  10. package/dist/chunk-67XVPMRY.js +1297 -0
  11. package/dist/chunk-6HO4GWJE.js +164 -0
  12. package/dist/chunk-6W5XHWYV.js +1890 -0
  13. package/dist/chunk-6X4EMYJQ.js +64 -0
  14. package/dist/chunk-6XYXI2NQ.js +772 -0
  15. package/dist/chunk-7ANSOV6Q.js +285 -0
  16. package/dist/chunk-A624LFLB.js +1380 -0
  17. package/dist/chunk-ADN5NHG4.js +126 -0
  18. package/dist/chunk-B7YJYJKG.js +33 -0
  19. package/dist/chunk-CCLHCPKG.js +210 -0
  20. package/dist/chunk-CK36VROC.js +1584 -0
  21. package/dist/chunk-D3UOFRSB.js +81 -0
  22. package/dist/chunk-DFR4DJBM.js +230 -0
  23. package/dist/chunk-DSYBDHYH.js +79 -0
  24. package/dist/chunk-DWMLTXKQ.js +1176 -0
  25. package/dist/chunk-E3REJTAJ.js +28 -0
  26. package/dist/chunk-EA3IVO64.js +633 -0
  27. package/dist/chunk-EK2AKZKD.js +55 -0
  28. package/dist/chunk-ELD7JTTT.js +343 -0
  29. package/dist/chunk-EX6TT2XI.js +195 -0
  30. package/dist/chunk-EXINSFZE.js +82 -0
  31. package/dist/chunk-EZ6ZBYBM.js +510 -0
  32. package/dist/chunk-FBKAPTJ2.js +16 -0
  33. package/dist/chunk-FVLV5RYH.js +1118 -0
  34. package/dist/chunk-GDNSBQVK.js +2485 -0
  35. package/dist/chunk-GPQHMBNN.js +278 -0
  36. package/dist/chunk-GTFJB67L.js +68 -0
  37. package/dist/chunk-HANJXVKW.js +1127 -0
  38. package/dist/chunk-HEVS5YLD.js +269 -0
  39. package/dist/chunk-HMEVZKPQ.js +9 -0
  40. package/dist/chunk-HRGSYNLM.js +3511 -0
  41. package/dist/chunk-ISZR5N4K.js +60 -0
  42. package/dist/chunk-J6SUPR2C.js +226 -0
  43. package/dist/chunk-JERYVEIZ.js +244 -0
  44. package/dist/chunk-JHHWGL2N.js +87 -0
  45. package/dist/chunk-JONWQUB5.js +775 -0
  46. package/dist/chunk-K2DIWWDM.js +1766 -0
  47. package/dist/chunk-KY4PGL5V.js +969 -0
  48. package/dist/chunk-L737LQ4C.js +1285 -0
  49. package/dist/chunk-LFTWYIB2.js +497 -0
  50. package/dist/chunk-LV47RFNJ.js +41 -0
  51. package/dist/chunk-MKSAITI7.js +15 -0
  52. package/dist/chunk-MZ7RKIX4.js +212 -0
  53. package/dist/chunk-NAP6CFSO.js +84 -0
  54. package/dist/chunk-ND6MY37M.js +16 -0
  55. package/dist/chunk-NMG736UR.js +683 -0
  56. package/dist/chunk-NRAXROED.js +32 -0
  57. package/dist/chunk-NRIZR3A7.js +690 -0
  58. package/dist/chunk-NX43BG3M.js +233 -0
  59. package/dist/chunk-O645XLSI.js +297 -0
  60. package/dist/chunk-OMJD6A3S.js +235 -0
  61. package/dist/chunk-QB6SJD4T.js +430 -0
  62. package/dist/chunk-QFSTL4J3.js +276 -0
  63. package/dist/chunk-QLGDFMFX.js +212 -0
  64. package/dist/chunk-RIAAGL2E.js +13 -0
  65. package/dist/chunk-RWO5XMZ6.js +86 -0
  66. package/dist/chunk-RXRKBBSM.js +149 -0
  67. package/dist/chunk-RZOZMML6.js +363 -0
  68. package/dist/chunk-U7I7FS7T.js +113 -0
  69. package/dist/chunk-UI42RODY.js +717 -0
  70. package/dist/chunk-UTVMVSCO.js +519 -0
  71. package/dist/chunk-V6OJGLBA.js +1746 -0
  72. package/dist/chunk-W2JHVH7D.js +152 -0
  73. package/dist/chunk-WD3Y7VQN.js +280 -0
  74. package/dist/chunk-WOCTQ5MS.js +303 -0
  75. package/dist/chunk-WZR3ZUNN.js +696 -0
  76. package/dist/chunk-XGI665H7.js +150 -0
  77. package/dist/chunk-XKY65P2T.js +304 -0
  78. package/dist/chunk-Y4CQZY65.js +57 -0
  79. package/dist/chunk-YFEXKLVE.js +194 -0
  80. package/dist/chunk-YHO3HS5X.js +287 -0
  81. package/dist/chunk-YLS7AZSX.js +738 -0
  82. package/dist/chunk-ZE473AO6.js +49 -0
  83. package/dist/chunk-ZF747T3O.js +644 -0
  84. package/dist/chunk-ZHCZHZH3.js +43 -0
  85. package/dist/chunk-ZZNZX2XY.js +87 -0
  86. package/dist/constants-7QAP3VQ4.js +23 -0
  87. package/dist/dist-IY3UUMWK.js +33 -0
  88. package/dist/docs-sync.js +60 -25
  89. package/dist/docs-sync.js.map +1 -1
  90. package/dist/gates-runners.js +43 -2
  91. package/dist/gates-runners.js.map +1 -1
  92. package/dist/init-templates.js +26 -219
  93. package/dist/init-templates.js.map +1 -1
  94. package/dist/invariants-runner-W5RGHCSU.js +27 -0
  95. package/dist/lane-lock-6J36HD5O.js +35 -0
  96. package/dist/lumenflow-upgrade.js +60 -0
  97. package/dist/lumenflow-upgrade.js.map +1 -1
  98. package/dist/mem-checkpoint-core-EANG2GVN.js +14 -0
  99. package/dist/mem-signal-core-2LZ2WYHW.js +19 -0
  100. package/dist/memory-store-OLB5FO7K.js +18 -0
  101. package/dist/plan-edit.js +19 -24
  102. package/dist/plan-edit.js.map +1 -1
  103. package/dist/plan-promote.js +15 -23
  104. package/dist/plan-promote.js.map +1 -1
  105. package/dist/plan-resolve.js +111 -0
  106. package/dist/plan-resolve.js.map +1 -0
  107. package/dist/public-manifest.js +2 -2
  108. package/dist/public-manifest.js.map +1 -1
  109. package/dist/service-6BYCOCO5.js +13 -0
  110. package/dist/spawn-policy-resolver-NTSZYQ6R.js +17 -0
  111. package/dist/spawn-task-builder-R4E2BHSW.js +22 -0
  112. package/dist/sync-templates.js +12 -0
  113. package/dist/sync-templates.js.map +1 -1
  114. package/dist/wu-brief.js +1 -1
  115. package/dist/wu-brief.js.map +1 -1
  116. package/dist/wu-claim-validation.js +9 -1
  117. package/dist/wu-claim-validation.js.map +1 -1
  118. package/dist/wu-done-policies.js +78 -33
  119. package/dist/wu-done-policies.js.map +1 -1
  120. package/dist/wu-done-pr-WLFFFEPJ.js +25 -0
  121. package/dist/wu-done-validation-3J5E36FE.js +30 -0
  122. package/dist/wu-done.js +42 -1
  123. package/dist/wu-done.js.map +1 -1
  124. package/dist/wu-duplicate-id-detector-5S7JHELK.js +232 -0
  125. package/dist/wu-edit-operations.js +7 -6
  126. package/dist/wu-edit-operations.js.map +1 -1
  127. package/dist/wu-edit.js +23 -3
  128. package/dist/wu-edit.js.map +1 -1
  129. package/dist/wu-spawn-prompt-builders.js +38 -1
  130. package/dist/wu-spawn-prompt-builders.js.map +1 -1
  131. package/dist/wu-spawn-strategy-resolver.js +30 -11
  132. package/dist/wu-spawn-strategy-resolver.js.map +1 -1
  133. package/package.json +8 -8
  134. package/packs/sidekick/.turbo/turbo-build.log +1 -1
  135. package/packs/sidekick/.turbo/turbo-typecheck.log +4 -0
  136. package/packs/sidekick/package.json +1 -1
  137. package/packs/software-delivery/.turbo/turbo-build.log +1 -1
  138. package/packs/software-delivery/.turbo/turbo-typecheck.log +4 -0
  139. package/packs/software-delivery/package.json +1 -1
  140. package/templates/core/AGENTS.md.template +19 -0
  141. package/templates/core/LUMENFLOW.md.template +13 -2
  142. package/templates/core/UPGRADING.md.template +6 -6
  143. package/templates/core/ai/onboarding/agent-invocation-guide.md.template +6 -5
  144. package/templates/core/ai/onboarding/first-15-mins.md.template +1 -1
  145. package/templates/core/ai/onboarding/first-wu-mistakes.md.template +10 -0
  146. package/templates/core/ai/onboarding/initiative-orchestration.md.template +5 -7
  147. package/templates/core/ai/onboarding/quick-ref-commands.md.template +11 -9
  148. package/templates/core/ai/onboarding/release-process.md.template +1 -1
  149. package/templates/core/ai/onboarding/starting-prompt.md.template +5 -6
  150. package/templates/core/ai/onboarding/wu-sizing-guide.md.template +11 -2
  151. package/templates/vendors/claude/.claude/skills/initiative-management/SKILL.md.template +2 -2
  152. package/templates/vendors/claude/.claude/skills/multi-agent-coordination/SKILL.md.template +2 -2
  153. package/templates/vendors/claude/.claude/skills/orchestration/SKILL.md.template +4 -4
  154. package/templates/vendors/cursor/.cursor/rules/lumenflow.md.template +9 -1
  155. package/templates/vendors/windsurf/.windsurf/rules/lumenflow.md.template +9 -1
@@ -38,7 +38,7 @@ Use Tier 1 after `/clear` to stay lean, then load more only if needed.
38
38
  ## 2) Session Management (Start Fresh)
39
39
 
40
40
  When approaching context limits, **start a fresh agent instead of compaction**.
41
- The handoff prompt is the bridge between sessions. `wu:brief` can either generate this prompt (delegation path) or just record evidence with `--evidence-only` (self-implementation path).
41
+ The handoff prompt is the bridge between sessions. `wu:brief` always outputs full WU context AND records evidence -- there is no separate evidence-only mode.
42
42
 
43
43
  **Mandatory triggers:**
44
44
 
@@ -119,16 +119,17 @@ It does **not** by itself prove pickup or execution. Pickup/execution confirmati
119
119
 
120
120
  ---
121
121
 
122
- ## 2c) Self-Implementation Evidence-Only Flow (WU-2222)
122
+ ## 2c) Self-Implementation Flow
123
123
 
124
- Use this when you are **not** delegating and will implement the WU in the current session:
124
+ When you are **not** delegating and will implement the WU in the current session, run `wu:brief` to record evidence and then continue working:
125
125
 
126
126
  ```bash
127
- pnpm wu:brief --id WU-XXX --evidence-only
127
+ pnpm wu:brief --id WU-XXX --client <client>
128
+ # wu:brief always outputs full WU context AND records evidence.
128
129
  # Then continue implementation directly in this session (no Task spawn).
129
130
  ```
130
131
 
131
- Use delegation flow (`wu:brief` or `wu:delegate`) only when handing the WU to another agent.
132
+ Use `wu:delegate` instead of `wu:brief` only when you need explicit delegation lineage recording for audit trails.
132
133
 
133
134
  ---
134
135
 
@@ -77,4 +77,4 @@ cd <project-root> && pnpm wu:done --id WU-XXX
77
77
  - Stay in the claimed worktree.
78
78
  - Run `pnpm lumenflow:commands` for public CLI discovery, then `--help` before first use.
79
79
  - Use `pnpm wu:prep` before `pnpm wu:done`; do not jump straight to `wu:done`.
80
- - If context starts getting heavy, read `./wu-sizing-guide.md` before pushing further.
80
+ - If context starts getting heavy, ask whether the WU is still one coherent outcome. If yes, checkpoint and hand off. If no, split it.
@@ -148,6 +148,16 @@ The WU says "Add user profile endpoint" but you also:
148
148
 
149
149
  Implement exactly what the acceptance criteria specify. If you discover other needed changes, create new WUs for them.
150
150
 
151
+ Do not over-correct by splitting one coherent change into tiny WUs. One endpoint plus its tests and docs is still one WU if it lands as one outcome.
152
+
153
+ Before splitting, ask:
154
+
155
+ 1. Can these parts ship independently?
156
+ 2. Can they be reviewed independently?
157
+ 3. Can they be rolled back independently?
158
+
159
+ If any answer is "no", keep one WU and use checkpoint-resume or orchestrator-worker instead.
160
+
151
161
  ---
152
162
 
153
163
  ## Mistake 9: Not Reading the WU Spec
@@ -45,7 +45,7 @@ Before accepting the wave plan, sanity-check the decomposition. If several WUs s
45
45
  | Checkpoint-per-wave | `pnpm orchestrate:initiative -i INIT-XXX -c` | Large initiatives (>3 WUs or >2 waves) |
46
46
  | Continuous | `pnpm orchestrate:initiative -i INIT-XXX` | Small initiatives (<=3 WUs, 1-2 waves) |
47
47
  | Manual brief/delegate | `pnpm wu:brief --id WU-XXX --client <client>` per WU | Testing individual WUs, debugging |
48
- | Manual self-implement | `pnpm wu:brief --id WU-XXX --evidence-only` per WU | You are implementing without sub-agent |
48
+ | Manual self-implement | `pnpm wu:brief --id WU-XXX --client <client>` per WU | Self-implementation (records evidence) |
49
49
 
50
50
  Checkpoint-per-wave is recommended for most initiatives. It processes one wave at a time and writes a manifest before exiting, giving you control between waves.
51
51
 
@@ -59,18 +59,17 @@ pnpm wu:brief --id WU-100 --client claude-code
59
59
 
60
60
  # Option B: Generate prompt + record delegation lineage (for audit)
61
61
  pnpm wu:delegate --id WU-100 --parent-wu WU-050 --client claude-code
62
-
63
- # Option C: Record evidence only, then implement in current session (no spawn prompt output)
64
- pnpm wu:brief --id WU-100 --evidence-only
65
62
  ```
66
63
 
64
+ `wu:brief` always outputs full WU context AND records evidence. Use it for both delegation and self-implementation.
65
+
67
66
  **Use `wu:delegate` (not `wu:brief`) when:**
68
67
 
69
68
  - You are the orchestrator agent managing the initiative
70
69
  - You need an audit trail of who-delegated-what
71
70
  - The initiative has more than one wave
72
71
 
73
- **Use `wu:brief --evidence-only` when:**
72
+ **Use `wu:brief` for self-implementation when:**
74
73
 
75
74
  - You are not handing WU ownership to a sub-agent
76
75
  - You still need `wu:brief` evidence for `wu:done` policy
@@ -383,8 +382,7 @@ pnpm delegation:list --initiative INIT-XXX --json
383
382
  | `pnpm orchestrate:initiative -i INIT-XXX` | Execute all waves continuously |
384
383
  | `pnpm orchestrate:init-status -i INIT-XXX` | Compact progress view |
385
384
  | `pnpm orchestrate:monitor` | Detect stuck agents and zombie locks |
386
- | `pnpm wu:brief --id WU-XXX --client <client>` | Generate handoff prompt + evidence (claimed workspace/branch) |
387
- | `pnpm wu:brief --id WU-XXX --evidence-only` | Record evidence only (self-implementation path) |
385
+ | `pnpm wu:brief --id WU-XXX --client <client>` | Generate handoff prompt + record evidence |
388
386
  | `pnpm wu:delegate --id WU-XXX --parent-wu <P>` | Generate prompt + record delegation |
389
387
  | `pnpm delegation:list --initiative INIT-XXX` | View delegation tree |
390
388
  | `pnpm mem:signal "msg" --wu WU-XXX` | Broadcast coordination signal |
@@ -68,7 +68,7 @@ Run `--help` first, then run the real command with explicit flags.
68
68
  | `pnpm exec lumenflow init` | Scaffold LumenFlow in a project |
69
69
  | `pnpm exec lumenflow init --docs-structure simple` | Use simple docs structure (`docs/tasks`) |
70
70
  | `pnpm exec lumenflow init --docs-structure arc42` | Use arc42 docs structure (`{{DOCS_OPERATIONS_PATH}}`) |
71
- | `pnpm docs:sync --force` | Refresh scaffolded onboarding docs and supported vendor assets |
71
+ | `pnpm docs:sync --force` | Refresh core docs, onboarding docs, and supported vendor assets |
72
72
  | `pnpm sync:templates` | Sync repo docs into bundled templates |
73
73
  | `pnpm lumenflow:upgrade` | Upgrade LumenFlow packages |
74
74
  | `pnpm lumenflow:doctor` | Diagnose LumenFlow configuration |
@@ -106,18 +106,19 @@ commit and push atomically. Do NOT wrap them in a WU or use raw `pnpm update`/`g
106
106
  | `pnpm config:set --key <dotpath> --value <value>` | Set workspace.yaml config (Zod-validated) |
107
107
  | `pnpm config:get --key <dotpath>` | Read workspace.yaml config |
108
108
  | `pnpm cloud:connect` | Configure cloud control-plane access |
109
- | `pnpm docs:sync --force` | Refresh scaffolded onboarding docs after upgrade |
109
+ | `pnpm docs:sync --force` | Refresh core docs, onboarding docs, and vendor assets after upgrade |
110
110
  | `pnpm sync:templates` | Sync repo docs into bundled templates |
111
111
 
112
112
  **Key principle:** If a LumenFlow CLI command exists for the operation, use it instead of
113
113
  raw pnpm/git. These tooling commands commit directly to main via micro-worktree — no dirty
114
114
  files, no manual git, no WU ceremony. Only actual **code changes** need WUs.
115
115
 
116
- `docs:sync` refreshes the scaffolded onboarding set plus supported vendor assets. Existing
117
- tracked docs are skipped by default; use `--force` when you intentionally want the refresh.
116
+ `docs:sync` refreshes core docs (LUMENFLOW.md, AGENTS.md, constraints.md), the scaffolded
117
+ onboarding set, and supported vendor assets. Existing docs are skipped by default; use `--force`
118
+ when you intentionally want the refresh.
118
119
 
119
120
  For existing installs, upgrade packages first with `pnpm lumenflow:upgrade --latest`, then run
120
- `pnpm docs:sync --force` if you want refreshed onboarding docs and vendor assets. The improved
121
+ `pnpm docs:sync --force` if you want refreshed core docs, onboarding docs, and vendor assets. The improved
121
122
  default `wu:brief` behavior comes from the package upgrade itself. New installs get those defaults
122
123
  automatically, and `.lumenflow/templates/` remains optional unless you want custom overrides.
123
124
 
@@ -147,7 +148,6 @@ automatically, and `.lumenflow/templates/` remains optional unless you want cust
147
148
  | `pnpm wu:release --id WU-XXX` | Release orphaned WU (in_progress to ready) |
148
149
  | `pnpm wu:status --id WU-XXX` | Show WU status, location, valid commands |
149
150
  | `pnpm wu:brief --id WU-XXX --client <client>` | Generate handoff prompt + record evidence (claimed workspace/branch) |
150
- | `pnpm wu:brief --id WU-XXX --evidence-only` | Record wu:brief evidence only (self-implementation, no prompt output) |
151
151
  | `pnpm wu:brief --id WU-XXX --no-context` | Generate prompt without memory context injection |
152
152
  | `pnpm wu:delegate --id WU-XXX --parent-wu <P>` | Generate prompt, record lineage, and store brief hash attestation |
153
153
  | `pnpm wu:sandbox --id WU-XXX -- <cmd>` | Run command through hardened WU sandbox backend |
@@ -330,9 +330,11 @@ stub in `$LUMENFLOW_HOME/plans/` and automatically set the WU's `plan` field to
330
330
  | ------------------------------------------------------------------------ | ------------------------------------------------------------------- |
331
331
  | `pnpm plan:create --id INIT-XXX --title "..."` | Create a repo-native plan file in configured `directories.plansDir` |
332
332
  | `pnpm plan:create --id INIT-XXX --title "..." --from <path>` | Import external plan file into repo plansDir |
333
- | `pnpm plan:edit --id INIT-XXX --section Goal --content "..."` | Edit a section in a plan file |
334
- | `pnpm plan:link --id INIT-XXX --plan lumenflow://plans/INIT-XXX-plan.md` | Link plan URI to initiative or WU |
335
- | `pnpm plan:promote --id INIT-XXX` | Promote plan status to approved |
333
+ | `pnpm plan:edit --id INIT-XXX --section Goal --content "..."` | Edit plan section (auto-resolves file from initiative metadata) |
334
+ | `pnpm plan:edit --id WU-XXX --file my-plan.md --section Goal --content "..."` | Edit plan by explicit filename |
335
+ | `pnpm plan:link --id INIT-XXX --plan lumenflow://plans/INIT-XXX-plan.md` | Link plan URI to initiative or WU |
336
+ | `pnpm plan:promote --id INIT-XXX` | Promote plan to approved (auto-resolves from initiative metadata) |
337
+ | `pnpm plan:promote --id WU-XXX --file my-plan.md` | Promote plan by explicit filename |
336
338
  | `pnpm initiative:plan --initiative INIT-XXX --plan <path>` | Link plan to initiative (auto-imports external files into repo) |
337
339
  | `pnpm initiative:plan --initiative INIT-XXX --create` | Create blank plan template and link to initiative |
338
340
  | `pnpm initiative:plan --initiative INIT-XXX --create --plan <path>` | Import external plan content into new template and link |
@@ -350,7 +350,7 @@ rm packages/@lumenflow/packs/software-delivery/lumenflow-packs-software-delivery
350
350
  | `web` | registry.lumenflow.dev | Pack registry + web app |
351
351
  | `docs` | lumenflow.dev | Starlight documentation |
352
352
  | `lumenflow-dev` | lumenflow-dev.vercel.app | Monorepo preview |
353
- | `lumenflow-cloud` | cloud.lumenflow.dev | Control plane |
353
+ | `cloud` | cloud.lumenflow.dev | Control plane |
354
354
 
355
355
  ### Troubleshooting Pack Publishing
356
356
 
@@ -488,7 +488,7 @@ Use `wu:brief` to create parallel sub-agent handoff prompts for complex WUs. Use
488
488
  ### Choose the Correct Flow
489
489
 
490
490
  - **Delegating to a sub-agent:** Run `wu:brief` (or `wu:delegate` for lineage), then pass the generated prompt to Task tool.
491
- - **Implementing in current session:** Run `wu:brief --evidence-only` to satisfy evidence policy, then do the WU yourself (no spawn prompt output).
491
+ - **Implementing in current session:** Run `wu:brief --client <client>` to record evidence, then do the WU yourself. `wu:brief` always outputs full context AND records evidence.
492
492
 
493
493
  ### How to Use wu:brief / wu:delegate
494
494
 
@@ -496,8 +496,8 @@ Use `wu:brief` to create parallel sub-agent handoff prompts for complex WUs. Use
496
496
  # Generate a handoff prompt + evidence (no lineage side effect)
497
497
  pnpm wu:brief --id WU-XXXX --client <client-type>
498
498
 
499
- # Record required evidence without generating handoff prompt output (self-implementation)
500
- pnpm wu:brief --id WU-XXXX --evidence-only
499
+ # Self-implementation: wu:brief always outputs full context AND records evidence
500
+ pnpm wu:brief --id WU-XXXX --client <client>
501
501
 
502
502
  # Generate + record explicit delegation lineage
503
503
  pnpm wu:delegate --id WU-XXXX --parent-wu WU-YYYY --client <client-type>
@@ -520,7 +520,7 @@ extra project commands, or client-specific overrides.
520
520
 
521
521
  - New installs get the current defaults automatically.
522
522
  - Existing installs get the runtime defaults after `pnpm lumenflow:upgrade --latest`.
523
- - Run `pnpm docs:sync --force` when you also want refreshed scaffolded onboarding docs and
523
+ - Run `pnpm docs:sync --force` when you also want refreshed core docs, onboarding docs, and
524
524
  supported vendor assets.
525
525
 
526
526
  Default profiles:
@@ -556,8 +556,7 @@ Domain-specific commands must come from local configuration, not core framework
556
556
  | `pnpm wu:claim --id WU-XXX --lane "Lane"` | Claim WU and create worktree (default) | Start working (local) |
557
557
  | `pnpm wu:claim --id WU-XXX --lane "L" --cloud` | Claim WU in branch-pr mode (no worktree) | Start working (cloud) |
558
558
  | `pnpm wu:edit --id WU-XXX --field value` | Edit WU spec fields | Update notes/desc |
559
- | `pnpm wu:brief --id WU-XXX --client X` | Generate handoff prompt + evidence | Complex WUs |
560
- | `pnpm wu:brief --id WU-XXX --evidence-only` | Record evidence only (no prompt output) | Self-implementation path |
559
+ | `pnpm wu:brief --id WU-XXX --client <client>` | Generate handoff prompt + record evidence | Delegation or self-impl |
561
560
  | `pnpm wu:delegate --id WU-XXX --parent-wu P` | Generate prompt + record delegation | Auditable delegation flows |
562
561
  | `pnpm wu:prep --id WU-XXX` | Run gates in claimed workspace, prep completion | Before wu:done |
563
562
  | `pnpm wu:done --id WU-XXX` | Complete WU (merge or PR, cleanup) | After gates pass |
@@ -12,11 +12,14 @@ Bias toward **one coherent outcome = one WU**.
12
12
 
13
13
  Do not split a WU just because it has multiple implementation steps, tests, or docs, or because it may need another session. Split only when the work is no longer one coherent deliverable.
14
14
 
15
+ Before splitting, ask: **Can these parts ship, review, and roll back independently?** If no, keep one WU and choose a better execution strategy.
16
+
15
17
  Keep one WU when:
16
18
 
17
19
  - The acceptance criteria describe one user-visible or operator-visible outcome
18
20
  - One agent can still complete it with `single-session`, `checkpoint-resume`, or `orchestrator-worker`
19
21
  - The touched files support the same change, even if there are several of them
22
+ - Code, tests, and docs all support the same change
20
23
 
21
24
  Split when:
22
25
 
@@ -25,6 +28,12 @@ Split when:
25
28
  - Risk isolation matters, such as tracer-bullet, feature-flag, or adapter-first rollout
26
29
  - The work keeps widening and no longer has a clean stopping point
27
30
 
31
+ Anti-patterns that should usually stay one WU:
32
+
33
+ - One API endpoint split into backend, tests, and docs WUs
34
+ - One shippable feature split into backend and frontend WUs even though neither stands alone
35
+ - One refactor split into "step 1", "step 2", and "cleanup" WUs with no independent ship point
36
+
28
37
  ---
29
38
 
30
39
  ## Baseline Heuristics
@@ -33,8 +42,8 @@ Split when:
33
42
  | ---------- | ----- | ---------- | ------------------------------------------------------- |
34
43
  | Simple | <20 | <50 | Single session |
35
44
  | Medium | 20-50 | 50-100 | Checkpoint and resume |
36
- | Complex | 50+ | 100+ | Orchestrate or split only if the WU is non-atomic |
37
- | Oversized | 100+ | 200+ | Split before implementation unless an exception applies |
45
+ | Complex | 50+ | 100+ | Orchestrate or checkpoint first; split only if the WU is non-atomic |
46
+ | Oversized | 100+ | 200+ | Re-check cohesion; split only if no exception applies and the work cannot land coherently |
38
47
 
39
48
  These are guardrails for session strategy, not a license to multiply WUs that still belong together.
40
49
 
@@ -135,12 +135,12 @@ pnpm wu:delegate --id WU-1502 --parent-wu WU-1500 # Prompt + lineage recording
135
135
  pnpm wu:delegate --id WU-1503 --parent-wu WU-1500
136
136
 
137
137
  # For WUs implemented in current session:
138
- pnpm wu:brief --id WU-1504 --evidence-only # Evidence only, no prompt output
138
+ pnpm wu:brief --id WU-1504 --client <client> # Full context + evidence (self-implementation)
139
139
  ```
140
140
 
141
141
  ### Orchestration Pattern
142
142
 
143
- 1. **Choose execution path per WU**: delegation (`wu:brief`/`wu:delegate`) or self-implementation (`wu:brief --evidence-only`)
143
+ 1. **Choose execution path per WU**: delegation (`wu:brief`/`wu:delegate`) or self-implementation (`wu:brief --client <client>`)
144
144
  2. **Spawn only delegated WUs**: Use Task tool with `run_in_background: true`
145
145
  3. **Monitor delegated progress**: Use `pnpm mem:inbox --since 30m` (NOT TaskOutput - causes context explosion)
146
146
  4. **Synthesise**: Combine results from sub-agents and self-implemented WUs
@@ -35,10 +35,10 @@ pnpm wu:brief --id WU-XXX --client claude-code # Generate prompt only
35
35
  pnpm wu:delegate --id WU-XXX --parent-wu WU-YYY # Generate prompt + record lineage
36
36
  ```
37
37
 
38
- **Use wu:brief --evidence-only** when you are implementing the WU yourself:
38
+ **Use wu:brief** when you are implementing the WU yourself (it always outputs full context AND records evidence):
39
39
 
40
40
  ```bash
41
- pnpm wu:brief --id WU-XXX --evidence-only # Record required evidence, no prompt output
41
+ pnpm wu:brief --id WU-XXX --client <client> # Full context + evidence recording
42
42
  ```
43
43
 
44
44
  **DON'T use wu:brief/wu:delegate** for helper agents (code-reviewer, test-engineer) on YOUR WU.
@@ -33,8 +33,8 @@ pnpm wu:brief --id WU-XXX --client claude-code
33
33
  # ✅ CORRECT: Use wu:delegate for lineage-tracked delegation
34
34
  pnpm wu:delegate --id WU-XXX --parent-wu WU-YYY
35
35
 
36
- # ✅ CORRECT: Use evidence-only when implementing the WU yourself
37
- pnpm wu:brief --id WU-XXX --evidence-only
36
+ # ✅ CORRECT: wu:brief always outputs full context AND records evidence
37
+ pnpm wu:brief --id WU-XXX --client <client>
38
38
  ```
39
39
 
40
40
  **❌ NEVER do this:**
@@ -46,7 +46,7 @@ pnpm wu:brief --id WU-XXX --evidence-only
46
46
  **Why this matters:**
47
47
 
48
48
  1. `wu:brief` generates prompts with context loading preamble, TDD directives, and constraints block
49
- 2. `wu:brief --evidence-only` satisfies `wu:done` evidence policy when you are not delegating
49
+ 2. `wu:brief` always records evidence AND outputs full context (no separate evidence-only mode)
50
50
  3. Sub-agents need `wu:claim` (inside generated prompts) to create proper lane locks and event tracking
51
51
  4. Direct Task spawns bypass all safety mechanisms, coordination signals, and spawn registry tracking
52
52
 
@@ -223,7 +223,7 @@ pnpm wu:brief --id WU-XXX
223
223
  Starting WU?
224
224
  ├── Delegating to sub-agent?
225
225
  │ ├── Yes: pnpm wu:brief --id WU-XXX --client <client> (or wu:delegate for lineage)
226
- │ └── No: pnpm wu:brief --id WU-XXX --evidence-only, then implement directly
226
+ │ └── No: pnpm wu:brief --id WU-XXX --client <client>, then implement directly
227
227
  └── If delegated, review generated prompt with agent recommendations
228
228
 
229
229
  Initiative with multiple WUs?
@@ -1,6 +1,14 @@
1
1
  # Cursor LumenFlow Rules
2
2
 
3
- This project uses LumenFlow workflow. See [LUMENFLOW.md](../../LUMENFLOW.md) for complete documentation.
3
+ **Read first:** [AGENTS.md](../../AGENTS.md) for universal startup rules, then [LUMENFLOW.md](../../LUMENFLOW.md) for the canonical workflow, commands, and safety rules.
4
+
5
+ This file contains Cursor-specific overrides only. Do not duplicate workflow rules from LUMENFLOW.md here.
6
+
7
+ ## Command Discovery (MANDATORY)
8
+
9
+ 1. Run `pnpm lumenflow:commands` to discover all available commands
10
+ 2. Run `<command> --help` before first use of any command — do not guess flags or subcommands
11
+ 3. **Never truncate** CLI output (`| head`, `| tail`, `| head -n`) — read the full output
4
12
 
5
13
  ## Critical Rules
6
14
 
@@ -1,6 +1,14 @@
1
1
  # Windsurf LumenFlow Rules
2
2
 
3
- This project uses LumenFlow workflow. See [LUMENFLOW.md](../../LUMENFLOW.md) for complete documentation.
3
+ **Read first:** [AGENTS.md](../../AGENTS.md) for universal startup rules, then [LUMENFLOW.md](../../LUMENFLOW.md) for the canonical workflow, commands, and safety rules.
4
+
5
+ This file contains Windsurf-specific overrides only. Do not duplicate workflow rules from LUMENFLOW.md here.
6
+
7
+ ## Command Discovery (MANDATORY)
8
+
9
+ 1. Run `pnpm lumenflow:commands` to discover all available commands
10
+ 2. Run `<command> --help` before first use of any command — do not guess flags or subcommands
11
+ 3. **Never truncate** CLI output (`| head`, `| tail`, `| head -n`) — read the full output
4
12
 
5
13
  ## Critical Rules
6
14