@lumenflow/cli 1.1.0 → 1.3.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.
Files changed (118) hide show
  1. package/dist/__tests__/cli-entry-point.test.js +50 -0
  2. package/dist/__tests__/cli-subprocess.test.js +64 -0
  3. package/dist/cli-entry-point.js +46 -0
  4. package/dist/gates.js +102 -39
  5. package/dist/init.js +241 -195
  6. package/dist/initiative-add-wu.js +2 -1
  7. package/dist/initiative-create.js +5 -8
  8. package/dist/initiative-edit.js +3 -3
  9. package/dist/initiative-list.js +2 -1
  10. package/dist/initiative-status.js +2 -1
  11. package/dist/wu-claim.js +297 -110
  12. package/dist/wu-cleanup.js +129 -57
  13. package/dist/wu-create.js +197 -122
  14. package/dist/wu-deps.js +2 -1
  15. package/dist/wu-done.js +46 -14
  16. package/dist/wu-edit.js +152 -61
  17. package/dist/wu-infer-lane.js +5 -4
  18. package/dist/wu-preflight.js +2 -1
  19. package/dist/wu-prune.js +12 -3
  20. package/dist/wu-repair.js +2 -1
  21. package/dist/wu-spawn.js +79 -159
  22. package/dist/wu-unlock-lane.js +6 -1
  23. package/dist/wu-validate.js +2 -1
  24. package/package.json +14 -14
  25. package/dist/gates.d.ts +0 -41
  26. package/dist/gates.d.ts.map +0 -1
  27. package/dist/gates.js.map +0 -1
  28. package/dist/initiative-add-wu.d.ts +0 -22
  29. package/dist/initiative-add-wu.d.ts.map +0 -1
  30. package/dist/initiative-add-wu.js.map +0 -1
  31. package/dist/initiative-create.d.ts +0 -28
  32. package/dist/initiative-create.d.ts.map +0 -1
  33. package/dist/initiative-create.js.map +0 -1
  34. package/dist/initiative-edit.d.ts +0 -34
  35. package/dist/initiative-edit.d.ts.map +0 -1
  36. package/dist/initiative-edit.js.map +0 -1
  37. package/dist/initiative-list.d.ts +0 -12
  38. package/dist/initiative-list.d.ts.map +0 -1
  39. package/dist/initiative-list.js.map +0 -1
  40. package/dist/initiative-status.d.ts +0 -11
  41. package/dist/initiative-status.d.ts.map +0 -1
  42. package/dist/initiative-status.js.map +0 -1
  43. package/dist/mem-checkpoint.d.ts +0 -16
  44. package/dist/mem-checkpoint.d.ts.map +0 -1
  45. package/dist/mem-checkpoint.js.map +0 -1
  46. package/dist/mem-cleanup.d.ts +0 -29
  47. package/dist/mem-cleanup.d.ts.map +0 -1
  48. package/dist/mem-cleanup.js.map +0 -1
  49. package/dist/mem-create.d.ts +0 -17
  50. package/dist/mem-create.d.ts.map +0 -1
  51. package/dist/mem-create.js.map +0 -1
  52. package/dist/mem-inbox.d.ts +0 -35
  53. package/dist/mem-inbox.d.ts.map +0 -1
  54. package/dist/mem-inbox.js.map +0 -1
  55. package/dist/mem-init.d.ts +0 -15
  56. package/dist/mem-init.d.ts.map +0 -1
  57. package/dist/mem-init.js.map +0 -1
  58. package/dist/mem-ready.d.ts +0 -16
  59. package/dist/mem-ready.d.ts.map +0 -1
  60. package/dist/mem-ready.js.map +0 -1
  61. package/dist/mem-signal.d.ts +0 -16
  62. package/dist/mem-signal.d.ts.map +0 -1
  63. package/dist/mem-signal.js.map +0 -1
  64. package/dist/mem-start.d.ts +0 -16
  65. package/dist/mem-start.d.ts.map +0 -1
  66. package/dist/mem-start.js.map +0 -1
  67. package/dist/mem-summarize.d.ts +0 -22
  68. package/dist/mem-summarize.d.ts.map +0 -1
  69. package/dist/mem-summarize.js.map +0 -1
  70. package/dist/mem-triage.d.ts +0 -22
  71. package/dist/mem-triage.d.ts.map +0 -1
  72. package/dist/mem-triage.js.map +0 -1
  73. package/dist/spawn-list.d.ts +0 -16
  74. package/dist/spawn-list.d.ts.map +0 -1
  75. package/dist/spawn-list.js.map +0 -1
  76. package/dist/wu-block.d.ts +0 -16
  77. package/dist/wu-block.d.ts.map +0 -1
  78. package/dist/wu-block.js.map +0 -1
  79. package/dist/wu-claim.d.ts +0 -32
  80. package/dist/wu-claim.d.ts.map +0 -1
  81. package/dist/wu-claim.js.map +0 -1
  82. package/dist/wu-cleanup.d.ts +0 -17
  83. package/dist/wu-cleanup.d.ts.map +0 -1
  84. package/dist/wu-cleanup.js.map +0 -1
  85. package/dist/wu-create.d.ts +0 -38
  86. package/dist/wu-create.d.ts.map +0 -1
  87. package/dist/wu-create.js.map +0 -1
  88. package/dist/wu-deps.d.ts +0 -13
  89. package/dist/wu-deps.d.ts.map +0 -1
  90. package/dist/wu-deps.js.map +0 -1
  91. package/dist/wu-done.d.ts +0 -153
  92. package/dist/wu-done.d.ts.map +0 -1
  93. package/dist/wu-done.js.map +0 -1
  94. package/dist/wu-edit.d.ts +0 -29
  95. package/dist/wu-edit.d.ts.map +0 -1
  96. package/dist/wu-edit.js.map +0 -1
  97. package/dist/wu-infer-lane.d.ts +0 -17
  98. package/dist/wu-infer-lane.d.ts.map +0 -1
  99. package/dist/wu-infer-lane.js.map +0 -1
  100. package/dist/wu-preflight.d.ts +0 -47
  101. package/dist/wu-preflight.d.ts.map +0 -1
  102. package/dist/wu-preflight.js.map +0 -1
  103. package/dist/wu-prune.d.ts +0 -16
  104. package/dist/wu-prune.d.ts.map +0 -1
  105. package/dist/wu-prune.js.map +0 -1
  106. package/dist/wu-repair.d.ts +0 -60
  107. package/dist/wu-repair.d.ts.map +0 -1
  108. package/dist/wu-repair.js.map +0 -1
  109. package/dist/wu-spawn-completion.d.ts +0 -10
  110. package/dist/wu-spawn.d.ts +0 -168
  111. package/dist/wu-spawn.d.ts.map +0 -1
  112. package/dist/wu-spawn.js.map +0 -1
  113. package/dist/wu-unblock.d.ts +0 -16
  114. package/dist/wu-unblock.d.ts.map +0 -1
  115. package/dist/wu-unblock.js.map +0 -1
  116. package/dist/wu-validate.d.ts +0 -16
  117. package/dist/wu-validate.d.ts.map +0 -1
  118. package/dist/wu-validate.js.map +0 -1
package/dist/wu-spawn.js CHANGED
@@ -11,7 +11,7 @@
11
11
  *
12
12
  * Output:
13
13
  * A complete Task tool invocation block with:
14
- * - Context loading preamble (CLAUDE-core.md, README, lumenflow, WU YAML)
14
+ * - Context loading preamble (.claude/CLAUDE.md, README, lumenflow, WU YAML)
15
15
  * - WU details and acceptance criteria
16
16
  * - Skills Selection section (sub-agent reads catalogue and selects at runtime)
17
17
  * - Mandatory agent advisory
@@ -25,7 +25,7 @@
25
25
  * Codex Mode:
26
26
  * When --codex is used, outputs a Codex/GPT-friendly Markdown prompt (no antml/XML escaping).
27
27
  *
28
- * @see {@link ai/onboarding/agent-invocation-guide.md} - Context loading templates
28
+ * @see {@link docs/04-operations/_frameworks/lumenflow/agent/onboarding/agent-invocation-guide.md} - Context loading templates
29
29
  */
30
30
  import { existsSync, readFileSync } from 'node:fs';
31
31
  import path from 'node:path';
@@ -40,6 +40,9 @@ import { minimatch } from 'minimatch';
40
40
  // WU-2252: Import invariants loader for spawn output injection
41
41
  import { loadInvariants, INVARIANT_TYPES } from '@lumenflow/core/dist/invariants-runner.js';
42
42
  import { validateSpawnArgs, generateExecutionModeSection, generateThinkToolGuidance, recordSpawnToRegistry, formatSpawnRecordedMessage, } from '@lumenflow/core/dist/wu-spawn-helpers.js';
43
+ import { SpawnStrategyFactory } from '@lumenflow/core/dist/spawn-strategy.js';
44
+ import { getConfig } from '@lumenflow/core/dist/lumenflow-config.js';
45
+ import { generateClientSkillsGuidance, generateSkillsSelectionSection, resolveClientConfig, } from '@lumenflow/core/dist/wu-spawn-skills.js';
43
46
  import { validateSpawnDependencies, formatDependencyError, } from '@lumenflow/core/dist/dependency-validator.js';
44
47
  /**
45
48
  * Mandatory agent trigger patterns.
@@ -50,27 +53,6 @@ const MANDATORY_TRIGGERS = {
50
53
  'beacon-guardian': ['**/prompts/**', '**/classification/**', '**/detector/**', '**/llm/**'],
51
54
  };
52
55
  const LOG_PREFIX = '[wu:spawn]';
53
- /** @type {string} */
54
- const AGENTS_DIR = '.claude/agents';
55
- /**
56
- * Load skills configured in agent's frontmatter
57
- *
58
- * @param {string} agentName - Agent name (e.g., 'general-purpose')
59
- * @returns {string[]} Array of skill names or empty array if not found
60
- */
61
- function loadAgentConfiguredSkills(agentName) {
62
- const agentPath = `${AGENTS_DIR}/${agentName}.md`;
63
- if (!existsSync(agentPath)) {
64
- return [];
65
- }
66
- try {
67
- const content = readFileSync(agentPath, { encoding: FILE_SYSTEM.UTF8 });
68
- return []; // Skills loading removed - vendor agnostic
69
- }
70
- catch {
71
- return [];
72
- }
73
- }
74
56
  /**
75
57
  * Detect mandatory agents based on code paths.
76
58
  *
@@ -319,27 +301,15 @@ function generateTDDDirective() {
319
301
  * @param {string} id - WU ID
320
302
  * @returns {string} Context loading preamble
321
303
  */
322
- function generatePreamble(id) {
323
- return `Load the following context in this order:
324
-
325
- 1. Read CLAUDE.md (workflow fundamentals and critical rules)
326
- 2. Read README.md (project structure and tech stack)
327
- 3. Read docs/04-operations/_frameworks/lumenflow/lumenflow-complete.md sections 1-7 (TDD, gates, Definition of Done)
328
- 4. Read docs/04-operations/tasks/wu/${id}.yaml (the specific WU you're working on)
329
-
330
- ## WIP=1 Lane Check (BEFORE claiming)
331
-
332
- Before running wu:claim, check docs/04-operations/tasks/status.md to ensure the lane is free.
333
- Only ONE WU can be in_progress per lane at any time.
334
-
335
- ## Context Recovery (Session Resumption)
336
-
337
- Before starting work, check for prior context from previous sessions:
338
-
339
- 1. \`pnpm mem:ready --wu ${id}\` — Query pending nodes (what's next?)
340
- 2. \`pnpm mem:inbox --wu ${id}\` — Check coordination signals from parallel agents
341
-
342
- If prior context exists, resume from the last checkpoint. Otherwise, proceed with the task below.`;
304
+ /**
305
+ * Generate the context loading preamble using the strategy
306
+ *
307
+ * @param {string} id - WU ID
308
+ * @param {SpawnStrategy} strategy - Client strategy
309
+ * @returns {string} Context loading preamble
310
+ */
311
+ function generatePreamble(id, strategy) {
312
+ return strategy.getPreamble(id);
343
313
  }
344
314
  /**
345
315
  * Generate the constraints block (appended at end per Lost in the Middle research)
@@ -739,7 +709,7 @@ pnpm mem:triage --wu ${id} # List discoveries for this WU
739
709
  pnpm mem:triage --promote <node-id> --lane "<lane>" # Create Bug WU (human action)
740
710
  \`\`\`
741
711
 
742
- See: ai/onboarding/agent-invocation-guide.md §Bug Discovery`;
712
+ See: docs/04-operations/_frameworks/lumenflow/agent/onboarding/agent-invocation-guide.md §Bug Discovery`;
743
713
  }
744
714
  /**
745
715
  * Generate lane-specific guidance
@@ -838,128 +808,37 @@ pnpm wu:done --id ${id}
838
808
 
839
809
  **Do not ask** "should I run wu:done?" — just run it when gates pass.`;
840
810
  }
841
- /**
842
- * Generate the Skills Selection section for sub-agents.
843
- *
844
- * Unlike /wu-prompt (human-facing, skills selected at generation time),
845
- * wu:spawn instructs the sub-agent to read the catalogue and select skills
846
- * at execution time based on WU context.
847
- *
848
- * If an agentName is provided, that agent's configured skills (from frontmatter)
849
- * are auto-loaded at the top.
850
- *
851
- * @param {object} doc - WU YAML document
852
- * @param {string} [agentName='general-purpose'] - Agent to spawn
853
- * @returns {string} Skills Selection section
854
- */
855
- // eslint-disable-next-line sonarjs/cognitive-complexity -- WU-2025: Pre-existing complexity, refactor tracked
856
- function generateSkillsSection(doc, agentName = 'general-purpose') {
857
- const lane = doc.lane || '';
858
- const type = doc.type || 'feature';
859
- const laneParent = lane.split(':')[0].trim();
860
- // Load agent's configured skills from frontmatter
861
- const agentSkills = loadAgentConfiguredSkills(agentName);
862
- const hasAgentSkills = agentSkills.length > 0;
863
- // Build auto-load section if agent has configured skills
864
- const autoLoadSection = hasAgentSkills
865
- ? `### Auto-Loaded Skills (from ${agentName} agent config)
866
-
867
- These skills are pre-configured for this agent and should be loaded first:
868
-
869
- ${agentSkills.map((s) => `- \`${s}\` — Load via \`/skill ${s}\``).join('\n')}
870
-
871
- `
872
- : '';
873
- // Build context hints for the sub-agent
874
- const contextHints = [];
875
- // Universal baselines (only if not already in agent skills)
876
- if (!agentSkills.includes('wu-lifecycle')) {
877
- contextHints.push('- `wu-lifecycle` — ALL WUs need workflow automation');
878
- }
879
- if (!agentSkills.includes('worktree-discipline')) {
880
- contextHints.push('- `worktree-discipline` — ALL WUs need path safety');
881
- }
882
- // Type-based hints
883
- if ((type === 'feature' || type === 'enhancement') && !agentSkills.includes('tdd-workflow')) {
884
- contextHints.push('- `tdd-workflow` — TDD is mandatory for feature/enhancement WUs');
885
- }
886
- if (type === 'bug' && !agentSkills.includes('bug-classification')) {
887
- contextHints.push('- `bug-classification` — Bug severity assessment');
888
- }
889
- // Lane-based hints
890
- if (laneParent === 'Operations' &&
891
- lane.includes('Tooling') &&
892
- !agentSkills.includes('lumenflow-gates')) {
893
- contextHints.push('- `lumenflow-gates` — Tooling often affects gates');
894
- }
895
- if (laneParent === 'Intelligence') {
896
- if (!agentSkills.includes('beacon-compliance')) {
897
- contextHints.push('- `beacon-compliance` — Intelligence lane requires Beacon validation');
898
- }
899
- if (!agentSkills.includes('prompt-management')) {
900
- contextHints.push('- `prompt-management` — For prompt template work');
901
- }
902
- }
903
- if (laneParent === 'Experience' && !agentSkills.includes('frontend-design')) {
904
- contextHints.push('- `frontend-design` — For UI component work');
905
- }
906
- const softPolicySection = contextHints.length > 0
907
- ? `### Soft Policy (baselines for this WU)
908
-
909
- Based on WU context, consider loading:
910
-
911
- ${contextHints.join('\n')}
912
-
913
- `
914
- : '';
915
- return `## Skills Selection
916
-
917
- **IMPORTANT**: Before starting work, select and load relevant skills.
918
-
919
- ${autoLoadSection}### How to Select Skills
920
-
921
- 1. Read the skill catalogue frontmatter from \`.claude/skills/*/SKILL.md\`
922
- 2. Match skills to WU context (lane, type, code_paths, description)
923
- 3. Load selected skills via \`/skill <skill-name>\`
924
-
925
- ${softPolicySection}### Additional Skills (load if needed)
926
-
927
- | Skill | Use When |
928
- |-------|----------|
929
- | lumenflow-gates | Gates fail, debugging format/lint/typecheck errors |
930
- | bug-classification | Bug discovered mid-WU, need priority classification |
931
- | beacon-compliance | Code touches LLM, prompts, classification |
932
- | prompt-management | Working with prompt templates, golden datasets |
933
- | frontend-design | Building UI components, pages |
934
- | initiative-management | Multi-phase projects, INIT-XXX coordination |
935
- | multi-agent-coordination | Spawning sub-agents, parallel WU work |
936
- | orchestration | Agent coordination, mandatory agent checks |
937
- | ops-maintenance | Metrics, validation, health checks |
938
-
939
- ### Graceful Degradation
940
-
941
- If the skill catalogue is missing or invalid:
942
- - Load baseline skills: \`/skill wu-lifecycle\`, \`/skill tdd-workflow\` (for features)
943
- - Continue with implementation using Mandatory Standards below
944
- `;
811
+ function generateClientBlocksSection(clientContext) {
812
+ if (!clientContext?.config?.blocks?.length)
813
+ return '';
814
+ const blocks = clientContext.config.blocks
815
+ .map((block) => `### ${block.title}\n\n${block.content}`)
816
+ .join('\n\n');
817
+ return `## Client Guidance (${clientContext.name})\n\n${blocks}`;
945
818
  }
946
819
  /**
947
820
  * Generate the complete Task tool invocation
948
821
  *
949
822
  * @param {object} doc - WU YAML document
950
823
  * @param {string} id - WU ID
824
+ * @param {SpawnStrategy} strategy - Client strategy
951
825
  * @param {object} [options={}] - Thinking mode options
952
826
  * @param {boolean} [options.thinking] - Whether extended thinking is enabled
953
827
  * @param {boolean} [options.noThinking] - Whether thinking is explicitly disabled
954
828
  * @param {string} [options.budget] - Token budget for thinking
955
829
  * @returns {string} Complete Task tool invocation
956
830
  */
957
- export function generateTaskInvocation(doc, id, options = {}) {
831
+ export function generateTaskInvocation(doc, id, strategy, options = {}) {
958
832
  const codePaths = doc.code_paths || [];
959
833
  const mandatoryAgents = detectMandatoryAgents(codePaths);
960
- const preamble = generatePreamble(id);
834
+ const preamble = generatePreamble(id, strategy);
961
835
  const tddDirective = generateTDDDirective();
962
- const skillsSection = generateSkillsSection(doc);
836
+ const clientContext = options.client;
837
+ const config = options.config || getConfig();
838
+ const clientSkillsGuidance = generateClientSkillsGuidance(clientContext);
839
+ const skillsSection = generateSkillsSelectionSection(doc, config, clientContext?.name) +
840
+ (clientSkillsGuidance ? `\n${clientSkillsGuidance}` : '');
841
+ const clientBlocks = generateClientBlocksSection(clientContext);
963
842
  const mandatorySection = generateMandatoryAgentSection(mandatoryAgents, id);
964
843
  const laneGuidance = generateLaneGuidance(doc.lane);
965
844
  const bugDiscoverySection = generateBugDiscoverySection(id);
@@ -1038,7 +917,7 @@ ${thinkingBlock}${skillsSection}
1038
917
  - **Documentation**: Update tooling docs if changing tools. Keep docs in sync with code
1039
918
  - **Sub-agents**: Use Explore agent for codebase investigation. Activate mandatory agents (security-auditor for PHI/auth, beacon-guardian for LLM/prompts)
1040
919
 
1041
- ${worktreeGuidance ? `---\n\n${worktreeGuidance}\n\n` : ''}---
920
+ ${clientBlocks ? `---\n\n${clientBlocks}\n\n` : ''}${worktreeGuidance ? `---\n\n${worktreeGuidance}\n\n` : ''}---
1042
921
 
1043
922
  ${bugDiscoverySection}
1044
923
 
@@ -1103,10 +982,10 @@ ${constraints}`;
1103
982
  ].join('\n');
1104
983
  return invocation;
1105
984
  }
1106
- export function generateCodexPrompt(doc, id, options = {}) {
985
+ export function generateCodexPrompt(doc, id, strategy, options = {}) {
1107
986
  const codePaths = doc.code_paths || [];
1108
987
  const mandatoryAgents = detectMandatoryAgents(codePaths);
1109
- const preamble = generatePreamble(id);
988
+ const preamble = generatePreamble(id, strategy);
1110
989
  const tddDirective = generateTDDDirective();
1111
990
  const mandatorySection = generateMandatoryAgentSection(mandatoryAgents, id);
1112
991
  const laneGuidance = generateLaneGuidance(doc.lane);
@@ -1114,6 +993,12 @@ export function generateCodexPrompt(doc, id, options = {}) {
1114
993
  const implementationContext = generateImplementationContext(doc);
1115
994
  const action = generateActionSection(doc, id);
1116
995
  const constraints = generateCodexConstraints(id);
996
+ const clientContext = options.client;
997
+ const config = options.config || getConfig();
998
+ const clientSkillsGuidance = generateClientSkillsGuidance(clientContext);
999
+ const skillsSection = generateSkillsSelectionSection(doc, config, clientContext?.name) +
1000
+ (clientSkillsGuidance ? `\n${clientSkillsGuidance}` : '');
1001
+ const clientBlocks = generateClientBlocksSection(clientContext);
1117
1002
  const executionModeSection = generateExecutionModeSection(options);
1118
1003
  const thinkToolGuidance = generateThinkToolGuidance(options);
1119
1004
  const thinkingSections = [executionModeSection, thinkToolGuidance]
@@ -1156,6 +1041,10 @@ ${formatAcceptance(doc.acceptance)}
1156
1041
 
1157
1042
  ---
1158
1043
 
1044
+ ${skillsSection}
1045
+
1046
+ ---
1047
+
1159
1048
  ## Action
1160
1049
 
1161
1050
  ${action}
@@ -1169,7 +1058,7 @@ ${action}
1169
1058
 
1170
1059
  ---
1171
1060
 
1172
- ${mandatorySection}${implementationContext ? `${implementationContext}\n\n---\n\n` : ''}${thinkingBlock}${bugDiscoverySection}
1061
+ ${mandatorySection}${implementationContext ? `${implementationContext}\n\n---\n\n` : ''}${clientBlocks ? `${clientBlocks}\n\n---\n\n` : ''}${thinkingBlock}${bugDiscoverySection}
1173
1062
 
1174
1063
  ---
1175
1064
 
@@ -1223,6 +1112,8 @@ async function main() {
1223
1112
  WU_OPTIONS.budget,
1224
1113
  WU_OPTIONS.codex,
1225
1114
  WU_OPTIONS.parentWu, // WU-1945: Parent WU for spawn registry tracking
1115
+ WU_OPTIONS.client,
1116
+ WU_OPTIONS.vendor,
1226
1117
  ],
1227
1118
  required: ['id'],
1228
1119
  allowPositionalId: true,
@@ -1295,15 +1186,43 @@ async function main() {
1295
1186
  noThinking: args.noThinking,
1296
1187
  budget: args.budget,
1297
1188
  };
1189
+ // Client Resolution
1190
+ const config = getConfig();
1191
+ let clientName = args.client;
1192
+ if (!clientName && args.vendor) {
1193
+ console.warn(`${LOG_PREFIX} ${EMOJI.WARNING} Warning: --vendor is deprecated. Use --client.`);
1194
+ clientName = args.vendor;
1195
+ }
1196
+ // Codex handling (deprecated legacy flag)
1298
1197
  if (args.codex) {
1299
- const prompt = generateCodexPrompt(doc, id, thinkingOptions);
1198
+ if (!clientName) {
1199
+ console.warn(`${LOG_PREFIX} ${EMOJI.WARNING} Warning: --codex is deprecated. Use --client codex-cli.`);
1200
+ clientName = 'codex-cli';
1201
+ }
1202
+ }
1203
+ if (!clientName) {
1204
+ clientName = config.agents.defaultClient || 'claude-code';
1205
+ }
1206
+ // Create strategy
1207
+ const strategy = SpawnStrategyFactory.create(clientName);
1208
+ const clientContext = { name: clientName, config: resolveClientConfig(config, clientName) };
1209
+ if (clientName === 'codex-cli' || args.codex) {
1210
+ const prompt = generateCodexPrompt(doc, id, strategy, {
1211
+ ...thinkingOptions,
1212
+ client: clientContext,
1213
+ config,
1214
+ });
1300
1215
  console.log(`${LOG_PREFIX} Generated Codex/GPT prompt for ${id}`);
1301
1216
  console.log(`${LOG_PREFIX} Copy the Markdown below:\n`);
1302
1217
  console.log(prompt.trimEnd());
1303
1218
  return;
1304
1219
  }
1305
1220
  // Generate and output the Task invocation
1306
- const invocation = generateTaskInvocation(doc, id, thinkingOptions);
1221
+ const invocation = generateTaskInvocation(doc, id, strategy, {
1222
+ ...thinkingOptions,
1223
+ client: clientContext,
1224
+ config,
1225
+ });
1307
1226
  console.log(`${LOG_PREFIX} Generated Task tool invocation for ${id}`);
1308
1227
  console.log(`${LOG_PREFIX} Copy the block below to spawn a sub-agent:\n`);
1309
1228
  console.log(invocation);
@@ -1322,6 +1241,7 @@ async function main() {
1322
1241
  }
1323
1242
  // Guard main() for testability
1324
1243
  import { fileURLToPath } from 'node:url';
1244
+ import { runCLI } from './cli-entry-point.js';
1325
1245
  if (process.argv[1] === fileURLToPath(import.meta.url)) {
1326
- main();
1246
+ runCLI(main);
1327
1247
  }
@@ -155,4 +155,9 @@ async function main() {
155
155
  console.log(`${PREFIX} Previous owner: ${result.previousLock?.wuId || 'unknown'}`);
156
156
  console.log(`${PREFIX} Reason: ${result.reason}`);
157
157
  }
158
- main();
158
+ // Guard main() for testability (WU-1064)
159
+ import { fileURLToPath } from 'node:url';
160
+ import { runCLI } from './cli-entry-point.js';
161
+ if (process.argv[1] === fileURLToPath(import.meta.url)) {
162
+ runCLI(main);
163
+ }
@@ -188,6 +188,7 @@ async function main() {
188
188
  }
189
189
  // Guard main() for testability
190
190
  import { fileURLToPath } from 'node:url';
191
+ import { runCLI } from './cli-entry-point.js';
191
192
  if (process.argv[1] === fileURLToPath(import.meta.url)) {
192
- main();
193
+ runCLI(main);
193
194
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumenflow/cli",
3
- "version": "1.1.0",
3
+ "version": "1.3.2",
4
4
  "description": "Command-line interface for LumenFlow workflow framework",
5
5
  "keywords": [
6
6
  "lumenflow",
@@ -76,25 +76,25 @@
76
76
  "README.md"
77
77
  ],
78
78
  "dependencies": {
79
- "chalk": "^5.3.0",
79
+ "chalk": "^5.6.2",
80
80
  "cli-table3": "^0.6.5",
81
- "commander": "^12.1.0",
82
- "fast-glob": "^3.3.0",
83
- "js-yaml": "^4.1.0",
81
+ "commander": "^14.0.2",
82
+ "fast-glob": "^3.3.3",
84
83
  "minimatch": "^10.1.1",
85
84
  "ms": "^2.1.3",
86
85
  "pretty-ms": "^9.2.0",
87
- "simple-git": "^3.22.0",
88
- "yaml": "^2.7.0",
89
- "@lumenflow/core": "1.0.0",
90
- "@lumenflow/initiatives": "1.0.0",
91
- "@lumenflow/memory": "1.0.0",
92
- "@lumenflow/agent": "1.0.0",
93
- "@lumenflow/metrics": "1.0.0"
86
+ "simple-git": "^3.30.0",
87
+ "yaml": "^2.8.2",
88
+ "@lumenflow/core": "1.3.2",
89
+ "@lumenflow/metrics": "1.3.2",
90
+ "@lumenflow/memory": "1.3.2",
91
+ "@lumenflow/initiatives": "1.3.2",
92
+ "@lumenflow/agent": "1.3.2"
94
93
  },
95
94
  "devDependencies": {
96
- "typescript": "^5.7.0",
97
- "vitest": "^2.1.0"
95
+ "@vitest/coverage-v8": "^4.0.17",
96
+ "typescript": "^5.9.3",
97
+ "vitest": "^4.0.17"
98
98
  },
99
99
  "engines": {
100
100
  "node": ">=22"
package/dist/gates.d.ts DELETED
@@ -1,41 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Quality Gates Runner
4
- *
5
- * Runs quality gates with support for docs-only mode and incremental linting.
6
- *
7
- * WU-1304: Optimise ESLint gates performance
8
- * - Uses incremental linting (only files changed since branching from main)
9
- * - Full lint coverage maintained via CI workflow
10
- *
11
- * WU-1433: Coverage gate with mode flag
12
- * - Checks coverage thresholds for hex core files (≥90% for application layer)
13
- * - Mode: block (default) fails the gate, warn logs warnings only
14
- * WU-2334: Changed default from warn to block for TDD enforcement
15
- *
16
- * WU-1610: Supabase docs linter
17
- * - Verifies every table in migrations is documented in schema.md
18
- * - Fails if any table is missing documentation
19
- *
20
- * For type:documentation WUs:
21
- * - ✅ Run: format:check, spec:linter, prompts:lint, backlog-sync
22
- * - ❌ Skip: lint, typecheck, supabase-docs:linter, tests, coverage (no code changed)
23
- *
24
- * WU-1920: Incremental test execution
25
- * - Uses Vitest's --changed flag to run only tests for changed files
26
- * - Full test suite maintained via CI workflow and --full-tests flag
27
- *
28
- * WU-2062: Tiered test execution for faster wu:done
29
- * - Safety-critical tests (PHI, escalation, red-flag) ALWAYS run
30
- * - Docs-only WUs: lint/typecheck only (auto-detected or --docs-only flag)
31
- * - High-risk WUs (auth, PHI, RLS, migrations): run integration tests
32
- * - Standard WUs: changed tests + safety-critical tests
33
- *
34
- * Usage:
35
- * node tools/gates.mjs # Tiered gates (default)
36
- * node tools/gates.mjs --docs-only # Docs-only gates
37
- * node tools/gates.mjs --full-lint # Full lint (bypass incremental)
38
- * node tools/gates.mjs --full-tests # Full tests (bypass incremental)
39
- * node tools/gates.mjs --coverage-mode=block # Coverage gate in block mode
40
- */
41
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../src/gates.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG"}
package/dist/gates.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"gates.js","sourceRoot":"","sources":["../src/gates.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Initiative Add WU Command (WU-1389)
4
- *
5
- * Links an existing WU to an initiative bidirectionally:
6
- * 1. Adds `initiative: INIT-NNN` field to WU YAML
7
- * 2. Adds WU ID to initiative `wus: []` array
8
- *
9
- * Uses micro-worktree isolation for atomic operations.
10
- *
11
- * Usage:
12
- * pnpm initiative:add-wu --initiative INIT-001 --wu WU-123
13
- *
14
- * Features:
15
- * - Validates both WU and initiative exist before modifying
16
- * - Idempotent: no error if link already exists
17
- * - Errors if WU is already linked to a different initiative
18
- * - Atomic: both files updated in single commit
19
- *
20
- * Context: WU-1389 (initial implementation)
21
- */
22
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"initiative-add-wu.d.ts","sourceRoot":"","sources":["../src/initiative-add-wu.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"initiative-add-wu.js","sourceRoot":"","sources":["../src/initiative-add-wu.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Initiative Create Helper (WU-1247, WU-1439)
4
- *
5
- * Race-safe Initiative creation using micro-worktree isolation.
6
- *
7
- * Canonical sequence:
8
- * 1) Validate inputs (id, slug, title)
9
- * 2) Ensure on main branch
10
- * 3) Use micro-worktree to atomically:
11
- * a) Create temp branch without switching main checkout
12
- * b) Create INIT-{id}.yaml in micro-worktree
13
- * c) Commit with "docs: create init-{id} for <title>" message
14
- * d) Merge to main with ff-only (retry with rebase if needed)
15
- * e) Push to origin/main
16
- * f) Cleanup temp branch and micro-worktree
17
- *
18
- * Benefits:
19
- * - Main checkout never modified (no impact on other agents)
20
- * - Race conditions handled via rebase+retry (up to 3 attempts)
21
- * - Cleanup guaranteed even on failure
22
- *
23
- * Usage:
24
- * pnpm initiative:create --id INIT-001 --slug shock-protocol --title "Shock Protocol Implementation"
25
- *
26
- * Context: WU-1247 (original implementation), WU-1439 (micro-worktree migration)
27
- */
28
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"initiative-create.d.ts","sourceRoot":"","sources":["../src/initiative-create.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"initiative-create.js","sourceRoot":"","sources":["../src/initiative-create.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Initiative Edit Helper
4
- *
5
- * Race-safe Initiative editing using micro-worktree isolation (WU-1451).
6
- *
7
- * Enables editing Initiative YAML files with atomic commits, perfect for:
8
- * - Updating initiative status
9
- * - Setting blocked_by and blocked_reason
10
- * - Unblocking initiatives
11
- * - Adding lanes
12
- * - Appending notes
13
- * - Fixing malformed created dates (WU-2547)
14
- *
15
- * Uses the micro-worktree pattern with pushOnly mode (WU-1435):
16
- * 1) Validate inputs (Initiative exists, status is valid enum)
17
- * 2) Ensure main is clean and up-to-date with origin
18
- * 3) Create temp branch WITHOUT switching (main checkout stays on main)
19
- * 4) Create micro-worktree in /tmp pointing to temp branch
20
- * 5) Apply edits in micro-worktree
21
- * 6) Commit, push directly to origin/main
22
- * 7) Cleanup temp branch and micro-worktree
23
- *
24
- * Usage:
25
- * pnpm initiative:edit --id INIT-001 --status in_progress
26
- * pnpm initiative:edit --id INIT-001 --blocked-by INIT-002 --blocked-reason "Waiting for Phase 1"
27
- * pnpm initiative:edit --id INIT-001 --unblock
28
- * pnpm initiative:edit --id INIT-001 --add-lane "Operations: Tooling"
29
- * pnpm initiative:edit --id INIT-001 --notes "Phase 2 started"
30
- *
31
- * Part of WU-1451: Add initiative:edit command for updating initiative status and blockers
32
- * @see {@link tools/lib/micro-worktree.mjs} - Shared micro-worktree logic
33
- */
34
- export {};