@lumenflow/cli 3.13.1 → 3.13.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumenflow/cli",
3
- "version": "3.13.1",
3
+ "version": "3.13.2",
4
4
  "description": "Command-line interface for LumenFlow workflow framework",
5
5
  "keywords": [
6
6
  "lumenflow",
@@ -185,13 +185,13 @@
185
185
  "xstate": "^5.28.0",
186
186
  "yaml": "^2.8.2",
187
187
  "zod": "^4.3.6",
188
- "@lumenflow/agent": "3.13.1",
189
- "@lumenflow/control-plane-sdk": "3.13.1",
190
- "@lumenflow/initiatives": "3.13.1",
191
- "@lumenflow/kernel": "3.13.1",
192
- "@lumenflow/core": "3.13.1",
193
- "@lumenflow/memory": "3.13.1",
194
- "@lumenflow/metrics": "3.13.1"
188
+ "@lumenflow/agent": "3.13.2",
189
+ "@lumenflow/control-plane-sdk": "3.13.2",
190
+ "@lumenflow/core": "3.13.2",
191
+ "@lumenflow/initiatives": "3.13.2",
192
+ "@lumenflow/kernel": "3.13.2",
193
+ "@lumenflow/metrics": "3.13.2",
194
+ "@lumenflow/memory": "3.13.2"
195
195
  },
196
196
  "devDependencies": {
197
197
  "@vitest/coverage-v8": "^4.0.18",
@@ -1,4 +1,4 @@
1
1
 
2
- > @lumenflow/packs-sidekick@3.13.1 build /home/runner/work/lumenflow-dev/lumenflow-dev/packages/@lumenflow/packs/sidekick
2
+ > @lumenflow/packs-sidekick@3.13.2 build /home/runner/work/lumenflow-dev/lumenflow-dev/packages/@lumenflow/packs/sidekick
3
3
  > tsc
4
4
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumenflow/packs-sidekick",
3
- "version": "3.13.1",
3
+ "version": "3.13.2",
4
4
  "description": "Sidekick personal assistant pack for LumenFlow — 16 tools for task management, typed memory, channels, routines, and audit",
5
5
  "keywords": [
6
6
  "lumenflow",
@@ -1,4 +1,4 @@
1
1
 
2
- > @lumenflow/packs-software-delivery@3.13.1 build /home/runner/work/lumenflow-dev/lumenflow-dev/packages/@lumenflow/packs/software-delivery
2
+ > @lumenflow/packs-software-delivery@3.13.2 build /home/runner/work/lumenflow-dev/lumenflow-dev/packages/@lumenflow/packs/software-delivery
3
3
  > tsc
4
4
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumenflow/packs-software-delivery",
3
- "version": "3.13.1",
3
+ "version": "3.13.2",
4
4
  "description": "Software delivery pack for LumenFlow — work units, gates, lanes, initiatives, and agent coordination",
5
5
  "keywords": [
6
6
  "lumenflow",
@@ -72,7 +72,16 @@ pnpm initiative:add-wu --initiative INIT-001 --wu WU-XXX --phase 1
72
72
  pnpm initiative:status --id INIT-001
73
73
  ```
74
74
 
75
- **Skip initiatives** for: single-file bug fixes, small docs updates, isolated refactoring.
75
+ **Skip initiatives whenever the work is still one coherent WU**, even if it spans several files or needs checkpoint-resume.
76
+
77
+ Typical no-initiative cases:
78
+
79
+ - Single coherent bug fixes
80
+ - Small or medium documentation updates
81
+ - Isolated refactors that land as one atomic change
82
+ - One feature WU that needs checkpoint-resume but does not need decomposition
83
+
84
+ Create an initiative when you genuinely need multiple independently completable WUs, multiple lane owners, or staged rollout across phases. File count alone is not the split signal.
76
85
 
77
86
  ---
78
87
 
@@ -244,6 +253,7 @@ For the full worktree lifecycle (parallel execution, bootstrap, isolation guaran
244
253
  | `pnpm wu:brief` | Generate handoff prompt + record evidence |
245
254
  | `pnpm wu:delegate` | Generate prompt + record lineage + brief hash attestation |
246
255
  | `pnpm wu:escalate` | Show or resolve WU escalation status |
256
+ | `pnpm wu:verify` | Verify WU completion (stamp, commit, clean tree) |
247
257
  | `pnpm wu:delete` | Delete WU spec and cleanup |
248
258
  | `pnpm gates` | Run quality gates (`--docs-only` for docs WUs) |
249
259
  | `pnpm lumenflow:commands` | List all public commands (primary + alias + legacy) |
@@ -298,7 +298,7 @@ Agent: [ignores the warning, proceeds without sizing metadata]
298
298
 
299
299
  ### Right
300
300
 
301
- When `wu:create` or `wu:brief` emits a sizing advisory warning, either:
301
+ When `wu:create` or `wu:brief` emits a sizing advisory warning, choose the smallest valid strategy:
302
302
 
303
303
  1. **Add exception metadata** if the oversize WU is justified:
304
304
 
@@ -311,7 +311,16 @@ sizing_estimate:
311
311
  exception_reason: All markdown documentation files, low complexity
312
312
  ```
313
313
 
314
- 2. **Split the WU** if the estimate genuinely exceeds session capacity (see [wu-sizing-guide.md](./wu-sizing-guide.md) section 3 for splitting patterns).
314
+ 2. **Keep one WU with a stronger execution strategy** if the work is still one coherent outcome:
315
+
316
+ ```yaml
317
+ sizing_estimate:
318
+ estimated_files: 32
319
+ estimated_tool_calls: 90
320
+ strategy: checkpoint-resume
321
+ ```
322
+
323
+ 3. **Split the WU** only if the work is no longer atomic or should land independently (see [wu-sizing-guide.md](./wu-sizing-guide.md) section 3 for splitting patterns).
315
324
 
316
325
  **Strict mode:** Teams can enforce sizing compliance for delegated work with `--strict-sizing` on `wu:brief`. In strict mode, missing or non-compliant sizing metadata blocks the operation.
317
326
 
@@ -14,6 +14,7 @@ Before orchestrating an initiative, ensure:
14
14
  2. All WUs are linked to the initiative via `initiative:add-wu`
15
15
  3. Dependencies between WUs are defined (blocking relationships)
16
16
  4. Lane lifecycle is locked (`pnpm lane:status` shows `locked`)
17
+ 5. The initiative is not made of artificial micro-WUs that should really be one coherent WU
17
18
 
18
19
  ---
19
20
 
@@ -35,6 +36,8 @@ The dry-run output shows:
35
36
  - **Bottleneck WUs**: WUs that block the most downstream work (prioritize these)
36
37
  - **Recommended execution mode**: Checkpoint-per-wave vs continuous
37
38
 
39
+ Before accepting the wave plan, sanity-check the decomposition. If several WUs sit in the same lane, describe one atomic outcome, and cannot ship independently, consolidate them instead of orchestrating them.
40
+
38
41
  ### Step 2: Choose Execution Mode
39
42
 
40
43
  | Mode | Command | When to use |
@@ -154,20 +154,20 @@ automatically, and `.lumenflow/templates/` remains optional unless you want cust
154
154
 
155
155
  ### WU Maintenance
156
156
 
157
- | Command | Description |
158
- | -------------------------------- | ---------------------------------------- |
159
- | `pnpm wu:validate --id WU-XXX` | Validate WU spec |
160
- | `pnpm wu:preflight --id WU-XXX` | Pre-flight checks before wu:done |
161
- | `pnpm wu:verify --id WU-XXX` | Verify WU completion (stamp, commit, clean tree) |
162
- | `pnpm wu:recover --id WU-XXX` | Analyze and fix WU state inconsistencies |
163
- | `pnpm wu:repair --id WU-XXX` | Repair WU state issues |
164
- | `pnpm wu:prune` | Clean stale worktrees |
165
- | `pnpm wu:cleanup --id WU-XXX` | Cleanup after PR merge (PR-only) |
166
- | `pnpm wu:deps --id WU-XXX` | Show WU dependencies |
167
- | `pnpm wu:infer-lane --id WU-XXX` | Infer lane from code paths/description |
168
- | `pnpm wu:delete --id WU-XXX` | Delete WU spec and cleanup |
169
- | `pnpm wu:unlock-lane --lane <L>` | Unlock stuck lane |
170
- | `pnpm wu:proto --lane <Lane>` | Create WU prototype (lightweight draft) |
157
+ | Command | Description |
158
+ | -------------------------------- | ------------------------------------------------ |
159
+ | `pnpm wu:validate --id WU-XXX` | Validate WU spec |
160
+ | `pnpm wu:preflight --id WU-XXX` | Pre-flight checks before wu:done |
161
+ | `pnpm wu:verify --id WU-XXX` | Verify WU completion (stamp, commit, clean tree) |
162
+ | `pnpm wu:recover --id WU-XXX` | Analyze and fix WU state inconsistencies |
163
+ | `pnpm wu:repair --id WU-XXX` | Repair WU state issues |
164
+ | `pnpm wu:prune` | Clean stale worktrees |
165
+ | `pnpm wu:cleanup --id WU-XXX` | Cleanup after PR merge (PR-only) |
166
+ | `pnpm wu:deps --id WU-XXX` | Show WU dependencies |
167
+ | `pnpm wu:infer-lane --id WU-XXX` | Infer lane from code paths/description |
168
+ | `pnpm wu:delete --id WU-XXX` | Delete WU spec and cleanup |
169
+ | `pnpm wu:unlock-lane --lane <L>` | Unlock stuck lane |
170
+ | `pnpm wu:proto --lane <Lane>` | Create WU prototype (lightweight draft) |
171
171
 
172
172
  ---
173
173
 
@@ -91,13 +91,16 @@ If you are starting a new project or feature from a product vision (e.g., "Build
91
91
 
92
92
  ### When to Skip Initiatives
93
93
 
94
- Only skip initiatives for:
94
+ Skip initiatives whenever the work is still one coherent WU, even if it spans several files or needs checkpoint-resume.
95
95
 
96
- - Single-file bug fixes
97
- - Small documentation updates
98
- - Isolated refactoring tasks
96
+ Typical no-initiative cases:
99
97
 
100
- If work spans multiple WUs or multiple days, create an initiative first.
98
+ - Single coherent bug fixes
99
+ - Small or medium documentation updates
100
+ - Isolated refactors that land as one atomic change
101
+ - One feature WU that may need checkpoint-resume but does not need decomposition
102
+
103
+ Create an initiative when you genuinely need multiple independently completable WUs, multiple lane owners, or staged rollout across phases. File count or execution strategy alone is not the split signal.
101
104
 
102
105
  ### Lane-Fit Reasoning
103
106
 
@@ -547,23 +550,23 @@ Domain-specific commands must come from local configuration, not core framework
547
550
 
548
551
  ## WU Lifecycle Commands
549
552
 
550
- | Command | Description | When to Use |
551
- | ---------------------------------------------- | ----------------------------------------------- | --------------------------- |
552
- | `pnpm wu:status --id WU-XXX` | Show WU state and valid commands | Check current state |
553
- | `pnpm wu:claim --id WU-XXX --lane "Lane"` | Claim WU and create worktree (default) | Start working (local) |
554
- | `pnpm wu:claim --id WU-XXX --lane "L" --cloud` | Claim WU in branch-pr mode (no worktree) | Start working (cloud) |
555
- | `pnpm wu:edit --id WU-XXX --field value` | Edit WU spec fields | Update notes/desc |
556
- | `pnpm wu:brief --id WU-XXX --client X` | Generate handoff prompt + evidence | Complex WUs |
557
- | `pnpm wu:brief --id WU-XXX --evidence-only` | Record evidence only (no prompt output) | Self-implementation path |
558
- | `pnpm wu:delegate --id WU-XXX --parent-wu P` | Generate prompt + record delegation | Auditable delegation flows |
559
- | `pnpm wu:prep --id WU-XXX` | Run gates in claimed workspace, prep completion | Before wu:done |
560
- | `pnpm wu:done --id WU-XXX` | Complete WU (merge or PR, cleanup) | After gates pass |
561
- | `pnpm wu:cleanup --id WU-XXX` | Post-merge cleanup (branch-pr) | After PR merge (cloud only) |
562
- | `pnpm wu:escalate --id WU-XXX` | Show or resolve escalation status | Escalation-triggered WUs |
563
- | `pnpm wu:escalate --resolve --id WU-XXX` | Resolve human escalation | Before wu:done (escalation) |
553
+ | Command | Description | When to Use |
554
+ | ---------------------------------------------- | ------------------------------------------------ | --------------------------- |
555
+ | `pnpm wu:status --id WU-XXX` | Show WU state and valid commands | Check current state |
556
+ | `pnpm wu:claim --id WU-XXX --lane "Lane"` | Claim WU and create worktree (default) | Start working (local) |
557
+ | `pnpm wu:claim --id WU-XXX --lane "L" --cloud` | Claim WU in branch-pr mode (no worktree) | Start working (cloud) |
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 |
561
+ | `pnpm wu:delegate --id WU-XXX --parent-wu P` | Generate prompt + record delegation | Auditable delegation flows |
562
+ | `pnpm wu:prep --id WU-XXX` | Run gates in claimed workspace, prep completion | Before wu:done |
563
+ | `pnpm wu:done --id WU-XXX` | Complete WU (merge or PR, cleanup) | After gates pass |
564
+ | `pnpm wu:cleanup --id WU-XXX` | Post-merge cleanup (branch-pr) | After PR merge (cloud only) |
565
+ | `pnpm wu:escalate --id WU-XXX` | Show or resolve escalation status | Escalation-triggered WUs |
566
+ | `pnpm wu:escalate --resolve --id WU-XXX` | Resolve human escalation | Before wu:done (escalation) |
564
567
  | `pnpm wu:verify --id WU-XXX` | Verify WU completion (stamp, commit, clean tree) | After wu:done |
565
- | `pnpm wu:delete --id WU-XXX` | Delete WU spec and cleanup | Cancel stale/throwaway WUs |
566
- | `pnpm wu:recover --id WU-XXX` | Fix inconsistent WU state | When state is broken |
568
+ | `pnpm wu:delete --id WU-XXX` | Delete WU spec and cleanup | Cancel stale/throwaway WUs |
569
+ | `pnpm wu:recover --id WU-XXX` | Fix inconsistent WU state | When state is broken |
567
570
 
568
571
  ---
569
572
 
@@ -2,20 +2,41 @@
2
2
 
3
3
  **Last updated:** {{DATE}}
4
4
 
5
- Use this summary when deciding whether a WU still fits in a single agent session.
5
+ Use this summary to decide whether work should stay as one WU and what execution strategy it needs.
6
+
7
+ ---
8
+
9
+ ## Default Bias
10
+
11
+ Bias toward **one coherent outcome = one WU**.
12
+
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
+
15
+ Keep one WU when:
16
+
17
+ - The acceptance criteria describe one user-visible or operator-visible outcome
18
+ - One agent can still complete it with `single-session`, `checkpoint-resume`, or `orchestrator-worker`
19
+ - The touched files support the same change, even if there are several of them
20
+
21
+ Split when:
22
+
23
+ - Parts can ship or be reviewed independently
24
+ - Different lanes or owners should deliver different parts
25
+ - Risk isolation matters, such as tracer-bullet, feature-flag, or adapter-first rollout
26
+ - The work keeps widening and no longer has a clean stopping point
6
27
 
7
28
  ---
8
29
 
9
30
  ## Baseline Heuristics
10
31
 
11
- | Complexity | Files | Tool Calls | Suggested Strategy |
12
- | ---------- | ----- | ---------- | --------------------------- |
13
- | Simple | <20 | <50 | Single session |
14
- | Medium | 20-50 | 50-100 | Checkpoint and resume |
15
- | Complex | 50+ | 100+ | Decompose or orchestrate |
16
- | Oversized | 100+ | 200+ | Split before implementation |
32
+ | Complexity | Files | Tool Calls | Suggested Strategy |
33
+ | ---------- | ----- | ---------- | ------------------------------------------------------- |
34
+ | Simple | <20 | <50 | Single session |
35
+ | 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 |
17
38
 
18
- These are guardrails, not a license to keep pushing once context is clearly degrading.
39
+ These are guardrails for session strategy, not a license to multiply WUs that still belong together.
19
40
 
20
41
  ---
21
42
 
@@ -28,6 +49,8 @@ Checkpoint and hand off when any of these happen:
28
49
  - File churn keeps widening without clear closure
29
50
  - You have to repeatedly rediscover the same repo rules
30
51
 
52
+ If a trigger fires, first ask whether the WU is still atomic. If yes, checkpoint or hand off. If no, split it.
53
+
31
54
  ---
32
55
 
33
56
  ## Recovery Pattern
@@ -37,7 +60,7 @@ pnpm mem:checkpoint "state before handoff" --wu WU-XXX
37
60
  pnpm wu:brief --id WU-XXX --client codex-cli
38
61
  ```
39
62
 
40
- If the WU is clearly too large, split it instead of relying on a heroic handoff.
63
+ Use handoff when the WU is still coherent but the session is getting tired. Split only when the work itself is no longer coherent.
41
64
 
42
65
  ---
43
66
 
@@ -46,3 +69,7 @@ If the WU is clearly too large, split it instead of relying on a heroic handoff.
46
69
  Documentation WUs can tolerate broader file counts when the change pattern is shallow and mechanical, but they still need to stay understandable in one session.
47
70
 
48
71
  If the docs work starts spilling into CLI, core, or packaging changes, treat it like a normal cross-code WU again.
72
+
73
+ ## Shallow Multi-File Exception
74
+
75
+ Code WUs may also stay as one WU when the change is mechanical across many files, such as a rename or import rewrite, and each file change stays shallow and uniform.