@lumenflow/cli 5.7.18 → 5.7.21
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/README.md +63 -61
- package/dist/agent-runtime-enrollment-events.js +1 -1
- package/dist/agent-runtime-enrollment-events.js.map +1 -1
- package/dist/cost-summary.js +160 -3
- package/dist/cost-summary.js.map +1 -1
- package/dist/events-validate-core.js +169 -0
- package/dist/events-validate-core.js.map +1 -0
- package/dist/events-validate.js +48 -0
- package/dist/events-validate.js.map +1 -0
- package/dist/orchestrate-pre-phase-audit.js +83 -0
- package/dist/orchestrate-pre-phase-audit.js.map +1 -0
- package/dist/public-manifest.js +18 -2
- package/dist/public-manifest.js.map +1 -1
- package/dist/wu-claim-branch.js +2 -2
- package/dist/wu-claim-branch.js.map +1 -1
- package/dist/wu-claim-worktree.js +1 -1
- package/dist/wu-claim-worktree.js.map +1 -1
- package/dist/wu-claim.js +1 -1
- package/dist/wu-claim.js.map +1 -1
- package/dist/wu-create-orchestration-advisory.js +32 -0
- package/dist/wu-create-orchestration-advisory.js.map +1 -0
- package/dist/wu-create.js +24 -3
- package/dist/wu-create.js.map +1 -1
- package/dist/wu-proto.js +72 -6
- package/dist/wu-proto.js.map +1 -1
- package/dist/wu-spawn-strategy-resolver.js +74 -3
- package/dist/wu-spawn-strategy-resolver.js.map +1 -1
- package/package.json +13 -11
- package/packs/agent-runtime/package.json +1 -1
- package/packs/sidekick/package.json +1 -1
- package/packs/software-delivery/package.json +1 -1
- package/templates/core/AGENTS.md.template +4 -4
- package/templates/core/LUMENFLOW.md.template +5 -5
- package/templates/core/ai/onboarding/agent-invocation-guide.md.template +10 -4
- package/templates/core/ai/onboarding/quick-ref-commands.md.template +6 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lumenflow/cli",
|
|
3
|
-
"version": "5.7.
|
|
3
|
+
"version": "5.7.21",
|
|
4
4
|
"description": "Command-line interface for LumenFlow workflow framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lumenflow",
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"cost-summary": "./dist/cost-summary.js",
|
|
46
46
|
"db-journal-recover": "./dist/db-journal-recover.js",
|
|
47
47
|
"delegation-list": "./dist/delegation-list.js",
|
|
48
|
+
"events-validate": "./dist/events-validate.js",
|
|
48
49
|
"file-delete": "./dist/file-delete.js",
|
|
49
50
|
"file-edit": "./dist/file-edit.js",
|
|
50
51
|
"file-read": "./dist/file-read.js",
|
|
@@ -120,6 +121,7 @@
|
|
|
120
121
|
"orchestrate-init-status": "./dist/orchestrate-init-status.js",
|
|
121
122
|
"orchestrate-initiative": "./dist/orchestrate-initiative.js",
|
|
122
123
|
"orchestrate-monitor": "./dist/orchestrate-monitor.js",
|
|
124
|
+
"orchestrate-pre-phase-audit": "./dist/orchestrate-pre-phase-audit.js",
|
|
123
125
|
"pack-author": "./dist/pack-author.js",
|
|
124
126
|
"pack-hash": "./dist/pack-hash.js",
|
|
125
127
|
"pack-install": "./dist/pack-install.js",
|
|
@@ -201,16 +203,16 @@
|
|
|
201
203
|
"xstate": "^5.28.0",
|
|
202
204
|
"yaml": "^2.8.2",
|
|
203
205
|
"zod": "^4.3.6",
|
|
204
|
-
"@lumenflow/
|
|
205
|
-
"@lumenflow/
|
|
206
|
-
"@lumenflow/
|
|
207
|
-
"@lumenflow/
|
|
208
|
-
"@lumenflow/
|
|
209
|
-
"@lumenflow/
|
|
210
|
-
"@lumenflow/
|
|
211
|
-
"@lumenflow/
|
|
212
|
-
"@lumenflow/packs-
|
|
213
|
-
"@lumenflow/
|
|
206
|
+
"@lumenflow/initiatives": "5.7.21",
|
|
207
|
+
"@lumenflow/host": "^5.7.21",
|
|
208
|
+
"@lumenflow/agent": "5.7.21",
|
|
209
|
+
"@lumenflow/memory": "5.7.21",
|
|
210
|
+
"@lumenflow/kernel": "5.7.21",
|
|
211
|
+
"@lumenflow/metrics": "5.7.21",
|
|
212
|
+
"@lumenflow/packs-agent-runtime": "^5.7.21",
|
|
213
|
+
"@lumenflow/control-plane-sdk": "5.7.21",
|
|
214
|
+
"@lumenflow/packs-software-delivery": "^5.7.21",
|
|
215
|
+
"@lumenflow/core": "5.7.21"
|
|
214
216
|
},
|
|
215
217
|
"devDependencies": {
|
|
216
218
|
"@vitest/coverage-v8": "^4.0.18",
|
|
@@ -45,7 +45,7 @@ pnpm lane:lock
|
|
|
45
45
|
pnpm wu:claim --id WU-XXXX --lane <Lane>
|
|
46
46
|
cd worktrees/<lane>-wu-xxxx
|
|
47
47
|
|
|
48
|
-
# 2. Record handoff evidence (MANDATORY — wu:done blocks without this)
|
|
48
|
+
# 2. Record canonical handoff evidence (MANDATORY — wu:done blocks without this)
|
|
49
49
|
pnpm wu:brief --id WU-XXXX --client <client>
|
|
50
50
|
|
|
51
51
|
# 3. Engage disciplines (see below)
|
|
@@ -71,7 +71,7 @@ cd <project-root> && pnpm wu:done --id WU-XXXX
|
|
|
71
71
|
|
|
72
72
|
Step 2 above is not optional:
|
|
73
73
|
|
|
74
|
-
- `wu:brief` records checkpoint evidence
|
|
74
|
+
- `wu:brief` is the singular canonical handoff source of truth after `wu:claim`; it records checkpoint evidence, and `wu:done` **blocks** without it for feature/bug WUs.
|
|
75
75
|
- `wu:brief` also auto-loads shared memory and coordination signals into the generated prompt (WU-1240, WU-2607) — read the `## Memory Context` section in the brief output before coding. Manual `mem:context`/`mem:inbox` calls are still available as ad-hoc lookups mid-WU.
|
|
76
76
|
- Load relevant skills (`design-first`, `tdd-workflow`, `frontend-design`, `worktree-discipline`, `lumenflow-gates`) via your vendor's skill primitive. Claude Code, Codex, Cursor, and Windsurf all support `SKILL.md`-based skills (with minor invocation differences); Aider uses `CONVENTIONS.md`; Cline uses `.clinerules`. See [LUMENFLOW.md "Skills & Agents"](LUMENFLOW.md#skills--agents) for the invocation table, and your per-vendor rules file for specifics.
|
|
77
77
|
|
|
@@ -381,7 +381,7 @@ A skill named in prose does nothing — load it through the vendor's invocation
|
|
|
381
381
|
| ------------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
382
382
|
| 1. Create WU | main | `pnpm wu:create --lane <Lane> --title "Title" --description "..." --acceptance "..." --code-paths "..." --test-paths-unit "..." --exposure backend-only` (ID auto-generated) |
|
|
383
383
|
| 2. Claim | main | `pnpm wu:claim --id WU-XXX --lane <Lane>` |
|
|
384
|
-
| 3. Brief | worktree | `cd worktrees/<lane>-wu-xxx && pnpm wu:brief --id WU-XXX --client <client>` **(mandatory — wu:done blocks without this)**
|
|
384
|
+
| 3. Brief | worktree | `cd worktrees/<lane>-wu-xxx && pnpm wu:brief --id WU-XXX --client <client>` **(canonical handoff; mandatory — wu:done blocks without this)** |
|
|
385
385
|
| 4. Work | worktree | Implement changes per acceptance criteria |
|
|
386
386
|
| 5. Prep | worktree | `pnpm wu:prep --id WU-XXX` (runs gates) |
|
|
387
387
|
| 6. Complete | main | `pnpm wu:done --id WU-XXX` (copy-paste from wu:prep) |
|
|
@@ -392,7 +392,7 @@ A skill named in prose does nothing — load it through the vendor's invocation
|
|
|
392
392
|
| ------------ | ----------- | ------------------------------------------------------------------------------------------- |
|
|
393
393
|
| 1. Create WU | lane branch | `pnpm wu:create --lane <Lane> --title "..." ... --cloud` (ID auto-generated) |
|
|
394
394
|
| 2. Claim | lane branch | `pnpm wu:claim --id WU-XXX --lane <Lane> --cloud` |
|
|
395
|
-
| 3. Brief | lane branch | `pnpm wu:brief --id WU-XXX --client <client>` **(mandatory — wu:done blocks without this)** |
|
|
395
|
+
| 3. Brief | lane branch | `pnpm wu:brief --id WU-XXX --client <client>` **(canonical handoff; mandatory — wu:done blocks without this)** |
|
|
396
396
|
| 4. Work | lane branch | Work on `lane/<lane>/wu-xxx` in cloud environment |
|
|
397
397
|
| 5. Prep | lane branch | `pnpm wu:prep --id WU-XXX` (validates branch, runs gates) |
|
|
398
398
|
| 6. Complete | lane branch | `pnpm wu:done --id WU-XXX` (creates PR) |
|
|
@@ -50,7 +50,7 @@ cd worktrees/<lane>-wu-xxxx
|
|
|
50
50
|
# 4b. Build CLI in worktree (required for gates)
|
|
51
51
|
pnpm bootstrap
|
|
52
52
|
|
|
53
|
-
# 4c. Run wu:brief (MANDATORY — wu:done blocks without this)
|
|
53
|
+
# 4c. Run wu:brief (canonical handoff; MANDATORY — wu:done blocks without this)
|
|
54
54
|
pnpm wu:brief --id WU-XXXX --client <client>
|
|
55
55
|
|
|
56
56
|
# 5. Implement in worktree
|
|
@@ -238,7 +238,7 @@ If a fact would help a different vendor working the same repo, it belongs in sha
|
|
|
238
238
|
|
|
239
239
|
### Before you code (auto-loaded by wu:brief)
|
|
240
240
|
|
|
241
|
-
`wu:brief` auto-loads the read-side of the memory contract into the generated prompt under a `## Memory Context` section (WU-1240, WU-2607). It includes WU-scoped discoveries, summaries, project profile, and coordination signals from peer agents since `wu:claim`. Read that section before writing code — skipping it means working blind to what peer agents already found.
|
|
241
|
+
`wu:brief` is the singular canonical handoff source of truth after `wu:claim`. It auto-loads the read-side of the memory contract into the generated prompt under a `## Memory Context` section (WU-1240, WU-2607). It includes WU-scoped discoveries, summaries, project profile, and coordination signals from peer agents since `wu:claim`. Read that section before writing code — skipping it means working blind to what peer agents already found.
|
|
242
242
|
|
|
243
243
|
For ad-hoc lookups mid-WU (rarely needed; the brief is normally sufficient):
|
|
244
244
|
|
|
@@ -556,7 +556,7 @@ For the full worktree lifecycle (parallel execution, bootstrap, isolation guaran
|
|
|
556
556
|
| `pnpm wu:unblock` | Unblock WU (transitions to in_progress) |
|
|
557
557
|
| `pnpm wu:release` | Release orphaned WU (in_progress to ready) AND reset lane branch (WU-2941) |
|
|
558
558
|
| `pnpm wu:status` | Show WU status, location, and valid commands |
|
|
559
|
-
| `pnpm wu:brief` | **MANDATORY after wu:claim.** Generate handoff prompt + record evidence
|
|
559
|
+
| `pnpm wu:brief` | **MANDATORY after wu:claim.** Generate canonical handoff prompt + record evidence |
|
|
560
560
|
| `pnpm wu:delegate` | Generate prompt + record lineage + brief hash attestation |
|
|
561
561
|
| `pnpm wu:validate` | Validate WU spec completeness and schema |
|
|
562
562
|
| `pnpm wu:recover` | Analyze and fix WU state inconsistencies |
|
|
@@ -968,7 +968,7 @@ is required for `pnpm db:reset` and similar workflows. Non-blocking informationa
|
|
|
968
968
|
| `pnpm flow:report` | Generate flow metrics report |
|
|
969
969
|
| `pnpm flow:bottlenecks` | Identify flow bottlenecks |
|
|
970
970
|
| `pnpm metrics:snapshot` | Capture metrics snapshot |
|
|
971
|
-
| `pnpm cost:summary` | Summarize local cost telemetry
|
|
971
|
+
| `pnpm cost:summary` | Summarize local cost telemetry; use `--brief` for local wu:brief token metrics |
|
|
972
972
|
| `pnpm strict:progress` | Report strict TypeScript backlog and guard regressions |
|
|
973
973
|
|
|
974
974
|
### State Management
|
|
@@ -1096,7 +1096,7 @@ Recommended framework roster (vendor-neutral aliases):
|
|
|
1096
1096
|
Client-specific overlays may implement these aliases in different native surfaces such as
|
|
1097
1097
|
`.claude/agents/`, `.codex/agents/`, or vendor rule/config directories.
|
|
1098
1098
|
|
|
1099
|
-
Generate handoff
|
|
1099
|
+
Generate the canonical handoff prompt and record evidence after claim: `pnpm wu:brief --id WU-XXX --client <client>`
|
|
1100
1100
|
Record explicit delegation lineage when needed: `pnpm wu:delegate --id WU-XXX --parent-wu WU-YYY --client <client>`
|
|
1101
1101
|
|
|
1102
1102
|
Supported clients: `claude-code`, `codex-cli`, `cursor`, `gemini-cli`, `windsurf`
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Last updated:** {{DATE}}
|
|
4
4
|
|
|
5
|
-
This guide defines how to generate and hand off sub-agent delegation briefs, or record `wu:brief` evidence for self-implementation, so agents start with the right context, follow LumenFlow constraints, and leave durable artifacts for handoff.
|
|
5
|
+
This guide defines how to generate and hand off sub-agent delegation briefs, or record canonical `wu:brief` evidence for self-implementation, so agents start with the right context, follow LumenFlow constraints, and leave durable artifacts for handoff.
|
|
6
6
|
|
|
7
7
|
Use this document when:
|
|
8
8
|
|
|
@@ -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` always generates the full WU context prompt and records evidence, whether you are delegating or self-implementing.
|
|
41
|
+
The handoff prompt is the bridge between sessions. After `wu:claim`, `wu:brief` is the singular canonical handoff source of truth: it always generates the full WU context prompt and records evidence, whether you are delegating or self-implementing.
|
|
42
42
|
|
|
43
43
|
**Mandatory triggers:**
|
|
44
44
|
|
|
@@ -129,13 +129,19 @@ pnpm wu:brief --id WU-XXX --client <client>
|
|
|
129
129
|
# Then continue implementation directly in this session (no Task spawn).
|
|
130
130
|
```
|
|
131
131
|
|
|
132
|
-
`wu:brief` always provides full context and records evidence in a single step. Use delegation flow (`wu:delegate`) only when you need auditable lineage tracking for initiative work.
|
|
132
|
+
`wu:brief` is still required for self-implementation. It is the canonical handoff source after claim and always provides full context and records evidence in a single step. Use delegation flow (`wu:delegate`) only when you need auditable lineage tracking for initiative work.
|
|
133
|
+
|
|
134
|
+
For local prompt accounting, add `--report-tokens`. The command prints total
|
|
135
|
+
and section-level token counts, appends a schema-versioned
|
|
136
|
+
`brief:token_reported` record to `.lumenflow/telemetry/brief-metrics.ndjson`,
|
|
137
|
+
and keeps the data local unless a separate telemetry sync is configured. Review
|
|
138
|
+
history with `pnpm cost:summary --brief`.
|
|
133
139
|
|
|
134
140
|
---
|
|
135
141
|
|
|
136
142
|
## 3) Canonical Handoff Surfaces
|
|
137
143
|
|
|
138
|
-
Use the canonical handoff output verbatim when you have it:
|
|
144
|
+
Use the canonical handoff output verbatim when you have it. For a claimed WU, `wu:brief` is the singular handoff source of truth; do not replace it with ad-hoc notes or a local summary.
|
|
139
145
|
|
|
140
146
|
- `pnpm wu:brief --id WU-XXX --client <client>` for self-implementation
|
|
141
147
|
- `pnpm wu:delegate --id WU-XXX --parent-wu <P> --client <client>` for auditable delegation
|
|
@@ -153,7 +153,8 @@ you want to refresh docs without upgrading packages (e.g., after manually editin
|
|
|
153
153
|
| `pnpm wu:unblock --id WU-XXX` | Unblock WU (ownership-guarded, v3.19.0) |
|
|
154
154
|
| `pnpm wu:release --id WU-XXX --reason "..."` | Release orphaned WU (ownership-guarded, v3.19.0) |
|
|
155
155
|
| `pnpm wu:status --id WU-XXX` | Show WU status, location, valid commands |
|
|
156
|
-
| `pnpm wu:brief --id WU-XXX --client <client>` | **MANDATORY after wu:claim.** Generate handoff prompt + record evidence. wu:done blocks without this (WU-2379)
|
|
156
|
+
| `pnpm wu:brief --id WU-XXX --client <client>` | **MANDATORY after wu:claim.** Generate the canonical handoff prompt + record evidence. wu:done blocks without this (WU-2379) |
|
|
157
|
+
| `pnpm wu:brief --id WU-XXX --client <client> --report-tokens` | Print total/section token counts and append local `.lumenflow/telemetry/brief-metrics.ndjson` metrics |
|
|
157
158
|
| `pnpm wu:brief --id WU-XXX --no-context` | Generate prompt without memory context injection |
|
|
158
159
|
| `pnpm wu:delegate --id WU-XXX --parent-wu <P>` | Generate prompt, record lineage, and store brief hash attestation |
|
|
159
160
|
| `pnpm wu:sandbox --id WU-XXX -- <cmd>` | Run command through hardened WU sandbox backend |
|
|
@@ -478,6 +479,7 @@ Treat orchestration as a control plane: planning, handoff, execution, reconcilia
|
|
|
478
479
|
| `pnpm flow:bottlenecks` | Identify flow bottlenecks |
|
|
479
480
|
| `pnpm metrics:snapshot` | Capture metrics snapshot |
|
|
480
481
|
| `pnpm cost:summary` | Summarize local cost telemetry by model, agent, and WU |
|
|
482
|
+
| `pnpm cost:summary --brief` | Summarize local wu:brief token metrics by WU, client, and date |
|
|
481
483
|
| `pnpm metrics` | View workflow metrics |
|
|
482
484
|
| `pnpm strict:progress` | Report strict TypeScript backlog and guard regressions |
|
|
483
485
|
|
|
@@ -616,10 +618,11 @@ pnpm wu:create --lane "Framework: Core" --title "Add feature" \
|
|
|
616
618
|
|
|
617
619
|
# 2. Claim (creates worktree) -- use the ID from wu:create output
|
|
618
620
|
pnpm wu:claim --id WU-1990 --lane "Framework: Core"
|
|
621
|
+
# 2b. Record canonical handoff evidence before coding
|
|
619
622
|
pnpm wu:brief --id WU-1990 --client <client>
|
|
620
623
|
cd worktrees/framework-core-wu-1990
|
|
621
624
|
|
|
622
|
-
#
|
|
625
|
+
# 2c. Bootstrap (build CLI for dist-backed commands)
|
|
623
626
|
pnpm bootstrap
|
|
624
627
|
|
|
625
628
|
# 3. Implement (TDD)
|
|
@@ -830,6 +833,7 @@ For cloud agents that cannot use local worktrees:
|
|
|
830
833
|
# 1. Claim in cloud mode
|
|
831
834
|
pnpm wu:claim --id WU-XXX --lane "<Lane>" --cloud
|
|
832
835
|
# Or: LUMENFLOW_CLOUD=1 pnpm wu:claim --id WU-XXX --lane "<Lane>"
|
|
836
|
+
# 1b. Record canonical handoff evidence before coding
|
|
833
837
|
pnpm wu:brief --id WU-XXX --client <client>
|
|
834
838
|
|
|
835
839
|
# 2. Work on lane branch, push commits
|