@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.
- package/dist/chunk-2D2VOCA4.js +37 -0
- package/dist/chunk-2D5KFYGX.js +284 -0
- package/dist/chunk-2GXVIN57.js +14072 -0
- package/dist/chunk-2MQ7HZWZ.js +26 -0
- package/dist/chunk-2UFQ3A3C.js +643 -0
- package/dist/chunk-3RG5ZIWI.js +10 -0
- package/dist/chunk-4N74J3UT.js +15 -0
- package/dist/chunk-5GTOXFYR.js +392 -0
- package/dist/chunk-5VY6MQMC.js +240 -0
- package/dist/chunk-67XVPMRY.js +1297 -0
- package/dist/chunk-6HO4GWJE.js +164 -0
- package/dist/chunk-6W5XHWYV.js +1890 -0
- package/dist/chunk-6X4EMYJQ.js +64 -0
- package/dist/chunk-6XYXI2NQ.js +772 -0
- package/dist/chunk-7ANSOV6Q.js +285 -0
- package/dist/chunk-A624LFLB.js +1380 -0
- package/dist/chunk-ADN5NHG4.js +126 -0
- package/dist/chunk-B7YJYJKG.js +33 -0
- package/dist/chunk-CCLHCPKG.js +210 -0
- package/dist/chunk-CK36VROC.js +1584 -0
- package/dist/chunk-D3UOFRSB.js +81 -0
- package/dist/chunk-DFR4DJBM.js +230 -0
- package/dist/chunk-DSYBDHYH.js +79 -0
- package/dist/chunk-DWMLTXKQ.js +1176 -0
- package/dist/chunk-E3REJTAJ.js +28 -0
- package/dist/chunk-EA3IVO64.js +633 -0
- package/dist/chunk-EK2AKZKD.js +55 -0
- package/dist/chunk-ELD7JTTT.js +343 -0
- package/dist/chunk-EX6TT2XI.js +195 -0
- package/dist/chunk-EXINSFZE.js +82 -0
- package/dist/chunk-EZ6ZBYBM.js +510 -0
- package/dist/chunk-FBKAPTJ2.js +16 -0
- package/dist/chunk-FVLV5RYH.js +1118 -0
- package/dist/chunk-GDNSBQVK.js +2485 -0
- package/dist/chunk-GPQHMBNN.js +278 -0
- package/dist/chunk-GTFJB67L.js +68 -0
- package/dist/chunk-HANJXVKW.js +1127 -0
- package/dist/chunk-HEVS5YLD.js +269 -0
- package/dist/chunk-HMEVZKPQ.js +9 -0
- package/dist/chunk-HRGSYNLM.js +3511 -0
- package/dist/chunk-ISZR5N4K.js +60 -0
- package/dist/chunk-J6SUPR2C.js +226 -0
- package/dist/chunk-JERYVEIZ.js +244 -0
- package/dist/chunk-JHHWGL2N.js +87 -0
- package/dist/chunk-JONWQUB5.js +775 -0
- package/dist/chunk-K2DIWWDM.js +1766 -0
- package/dist/chunk-KY4PGL5V.js +969 -0
- package/dist/chunk-L737LQ4C.js +1285 -0
- package/dist/chunk-LFTWYIB2.js +497 -0
- package/dist/chunk-LV47RFNJ.js +41 -0
- package/dist/chunk-MKSAITI7.js +15 -0
- package/dist/chunk-MZ7RKIX4.js +212 -0
- package/dist/chunk-NAP6CFSO.js +84 -0
- package/dist/chunk-ND6MY37M.js +16 -0
- package/dist/chunk-NMG736UR.js +683 -0
- package/dist/chunk-NRAXROED.js +32 -0
- package/dist/chunk-NRIZR3A7.js +690 -0
- package/dist/chunk-NX43BG3M.js +233 -0
- package/dist/chunk-O645XLSI.js +297 -0
- package/dist/chunk-OMJD6A3S.js +235 -0
- package/dist/chunk-QB6SJD4T.js +430 -0
- package/dist/chunk-QFSTL4J3.js +276 -0
- package/dist/chunk-QLGDFMFX.js +212 -0
- package/dist/chunk-RIAAGL2E.js +13 -0
- package/dist/chunk-RWO5XMZ6.js +86 -0
- package/dist/chunk-RXRKBBSM.js +149 -0
- package/dist/chunk-RZOZMML6.js +363 -0
- package/dist/chunk-U7I7FS7T.js +113 -0
- package/dist/chunk-UI42RODY.js +717 -0
- package/dist/chunk-UTVMVSCO.js +519 -0
- package/dist/chunk-V6OJGLBA.js +1746 -0
- package/dist/chunk-W2JHVH7D.js +152 -0
- package/dist/chunk-WD3Y7VQN.js +280 -0
- package/dist/chunk-WOCTQ5MS.js +303 -0
- package/dist/chunk-WZR3ZUNN.js +696 -0
- package/dist/chunk-XGI665H7.js +150 -0
- package/dist/chunk-XKY65P2T.js +304 -0
- package/dist/chunk-Y4CQZY65.js +57 -0
- package/dist/chunk-YFEXKLVE.js +194 -0
- package/dist/chunk-YHO3HS5X.js +287 -0
- package/dist/chunk-YLS7AZSX.js +738 -0
- package/dist/chunk-ZE473AO6.js +49 -0
- package/dist/chunk-ZF747T3O.js +644 -0
- package/dist/chunk-ZHCZHZH3.js +43 -0
- package/dist/chunk-ZZNZX2XY.js +87 -0
- package/dist/constants-7QAP3VQ4.js +23 -0
- package/dist/dist-IY3UUMWK.js +33 -0
- package/dist/docs-sync.js +60 -25
- package/dist/docs-sync.js.map +1 -1
- package/dist/gates-runners.js +43 -2
- package/dist/gates-runners.js.map +1 -1
- package/dist/init-templates.js +26 -219
- package/dist/init-templates.js.map +1 -1
- package/dist/invariants-runner-W5RGHCSU.js +27 -0
- package/dist/lane-lock-6J36HD5O.js +35 -0
- package/dist/lumenflow-upgrade.js +60 -0
- package/dist/lumenflow-upgrade.js.map +1 -1
- package/dist/mem-checkpoint-core-EANG2GVN.js +14 -0
- package/dist/mem-signal-core-2LZ2WYHW.js +19 -0
- package/dist/memory-store-OLB5FO7K.js +18 -0
- package/dist/plan-edit.js +19 -24
- package/dist/plan-edit.js.map +1 -1
- package/dist/plan-promote.js +15 -23
- package/dist/plan-promote.js.map +1 -1
- package/dist/plan-resolve.js +111 -0
- package/dist/plan-resolve.js.map +1 -0
- package/dist/public-manifest.js +2 -2
- package/dist/public-manifest.js.map +1 -1
- package/dist/service-6BYCOCO5.js +13 -0
- package/dist/spawn-policy-resolver-NTSZYQ6R.js +17 -0
- package/dist/spawn-task-builder-R4E2BHSW.js +22 -0
- package/dist/sync-templates.js +12 -0
- package/dist/sync-templates.js.map +1 -1
- package/dist/wu-brief.js +1 -1
- package/dist/wu-brief.js.map +1 -1
- package/dist/wu-claim-validation.js +9 -1
- package/dist/wu-claim-validation.js.map +1 -1
- package/dist/wu-done-policies.js +78 -33
- package/dist/wu-done-policies.js.map +1 -1
- package/dist/wu-done-pr-WLFFFEPJ.js +25 -0
- package/dist/wu-done-validation-3J5E36FE.js +30 -0
- package/dist/wu-done.js +42 -1
- package/dist/wu-done.js.map +1 -1
- package/dist/wu-duplicate-id-detector-5S7JHELK.js +232 -0
- package/dist/wu-edit-operations.js +7 -6
- package/dist/wu-edit-operations.js.map +1 -1
- package/dist/wu-edit.js +23 -3
- package/dist/wu-edit.js.map +1 -1
- package/dist/wu-spawn-prompt-builders.js +38 -1
- package/dist/wu-spawn-prompt-builders.js.map +1 -1
- package/dist/wu-spawn-strategy-resolver.js +30 -11
- package/dist/wu-spawn-strategy-resolver.js.map +1 -1
- package/package.json +8 -8
- package/packs/sidekick/.turbo/turbo-build.log +1 -1
- package/packs/sidekick/.turbo/turbo-typecheck.log +4 -0
- package/packs/sidekick/package.json +1 -1
- package/packs/software-delivery/.turbo/turbo-build.log +1 -1
- package/packs/software-delivery/.turbo/turbo-typecheck.log +4 -0
- package/packs/software-delivery/package.json +1 -1
- package/templates/core/AGENTS.md.template +19 -0
- package/templates/core/LUMENFLOW.md.template +13 -2
- package/templates/core/UPGRADING.md.template +6 -6
- package/templates/core/ai/onboarding/agent-invocation-guide.md.template +6 -5
- package/templates/core/ai/onboarding/first-15-mins.md.template +1 -1
- package/templates/core/ai/onboarding/first-wu-mistakes.md.template +10 -0
- package/templates/core/ai/onboarding/initiative-orchestration.md.template +5 -7
- package/templates/core/ai/onboarding/quick-ref-commands.md.template +11 -9
- package/templates/core/ai/onboarding/release-process.md.template +1 -1
- package/templates/core/ai/onboarding/starting-prompt.md.template +5 -6
- package/templates/core/ai/onboarding/wu-sizing-guide.md.template +11 -2
- package/templates/vendors/claude/.claude/skills/initiative-management/SKILL.md.template +2 -2
- package/templates/vendors/claude/.claude/skills/multi-agent-coordination/SKILL.md.template +2 -2
- package/templates/vendors/claude/.claude/skills/orchestration/SKILL.md.template +4 -4
- package/templates/vendors/cursor/.cursor/rules/lumenflow.md.template +9 -1
- 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`
|
|
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
|
|
122
|
+
## 2c) Self-Implementation Flow
|
|
123
123
|
|
|
124
|
-
|
|
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 --
|
|
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
|
|
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,
|
|
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 --
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
117
|
-
|
|
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 "..."`
|
|
334
|
-
| `pnpm plan:
|
|
335
|
-
| `pnpm plan:
|
|
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
|
-
| `
|
|
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 --
|
|
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
|
-
#
|
|
500
|
-
pnpm wu:brief --id WU-XXXX --
|
|
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
|
|
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
|
|
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+ |
|
|
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 --
|
|
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 --
|
|
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
|
|
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 --
|
|
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:
|
|
37
|
-
pnpm wu:brief --id WU-XXX --
|
|
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
|
|
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 --
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|