@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.
- package/dist/__tests__/cli-entry-point.test.js +50 -0
- package/dist/__tests__/cli-subprocess.test.js +64 -0
- package/dist/cli-entry-point.js +46 -0
- package/dist/gates.js +102 -39
- package/dist/init.js +241 -195
- package/dist/initiative-add-wu.js +2 -1
- package/dist/initiative-create.js +5 -8
- package/dist/initiative-edit.js +3 -3
- package/dist/initiative-list.js +2 -1
- package/dist/initiative-status.js +2 -1
- package/dist/wu-claim.js +297 -110
- package/dist/wu-cleanup.js +129 -57
- package/dist/wu-create.js +197 -122
- package/dist/wu-deps.js +2 -1
- package/dist/wu-done.js +46 -14
- package/dist/wu-edit.js +152 -61
- package/dist/wu-infer-lane.js +5 -4
- package/dist/wu-preflight.js +2 -1
- package/dist/wu-prune.js +12 -3
- package/dist/wu-repair.js +2 -1
- package/dist/wu-spawn.js +79 -159
- package/dist/wu-unlock-lane.js +6 -1
- package/dist/wu-validate.js +2 -1
- package/package.json +14 -14
- package/dist/gates.d.ts +0 -41
- package/dist/gates.d.ts.map +0 -1
- package/dist/gates.js.map +0 -1
- package/dist/initiative-add-wu.d.ts +0 -22
- package/dist/initiative-add-wu.d.ts.map +0 -1
- package/dist/initiative-add-wu.js.map +0 -1
- package/dist/initiative-create.d.ts +0 -28
- package/dist/initiative-create.d.ts.map +0 -1
- package/dist/initiative-create.js.map +0 -1
- package/dist/initiative-edit.d.ts +0 -34
- package/dist/initiative-edit.d.ts.map +0 -1
- package/dist/initiative-edit.js.map +0 -1
- package/dist/initiative-list.d.ts +0 -12
- package/dist/initiative-list.d.ts.map +0 -1
- package/dist/initiative-list.js.map +0 -1
- package/dist/initiative-status.d.ts +0 -11
- package/dist/initiative-status.d.ts.map +0 -1
- package/dist/initiative-status.js.map +0 -1
- package/dist/mem-checkpoint.d.ts +0 -16
- package/dist/mem-checkpoint.d.ts.map +0 -1
- package/dist/mem-checkpoint.js.map +0 -1
- package/dist/mem-cleanup.d.ts +0 -29
- package/dist/mem-cleanup.d.ts.map +0 -1
- package/dist/mem-cleanup.js.map +0 -1
- package/dist/mem-create.d.ts +0 -17
- package/dist/mem-create.d.ts.map +0 -1
- package/dist/mem-create.js.map +0 -1
- package/dist/mem-inbox.d.ts +0 -35
- package/dist/mem-inbox.d.ts.map +0 -1
- package/dist/mem-inbox.js.map +0 -1
- package/dist/mem-init.d.ts +0 -15
- package/dist/mem-init.d.ts.map +0 -1
- package/dist/mem-init.js.map +0 -1
- package/dist/mem-ready.d.ts +0 -16
- package/dist/mem-ready.d.ts.map +0 -1
- package/dist/mem-ready.js.map +0 -1
- package/dist/mem-signal.d.ts +0 -16
- package/dist/mem-signal.d.ts.map +0 -1
- package/dist/mem-signal.js.map +0 -1
- package/dist/mem-start.d.ts +0 -16
- package/dist/mem-start.d.ts.map +0 -1
- package/dist/mem-start.js.map +0 -1
- package/dist/mem-summarize.d.ts +0 -22
- package/dist/mem-summarize.d.ts.map +0 -1
- package/dist/mem-summarize.js.map +0 -1
- package/dist/mem-triage.d.ts +0 -22
- package/dist/mem-triage.d.ts.map +0 -1
- package/dist/mem-triage.js.map +0 -1
- package/dist/spawn-list.d.ts +0 -16
- package/dist/spawn-list.d.ts.map +0 -1
- package/dist/spawn-list.js.map +0 -1
- package/dist/wu-block.d.ts +0 -16
- package/dist/wu-block.d.ts.map +0 -1
- package/dist/wu-block.js.map +0 -1
- package/dist/wu-claim.d.ts +0 -32
- package/dist/wu-claim.d.ts.map +0 -1
- package/dist/wu-claim.js.map +0 -1
- package/dist/wu-cleanup.d.ts +0 -17
- package/dist/wu-cleanup.d.ts.map +0 -1
- package/dist/wu-cleanup.js.map +0 -1
- package/dist/wu-create.d.ts +0 -38
- package/dist/wu-create.d.ts.map +0 -1
- package/dist/wu-create.js.map +0 -1
- package/dist/wu-deps.d.ts +0 -13
- package/dist/wu-deps.d.ts.map +0 -1
- package/dist/wu-deps.js.map +0 -1
- package/dist/wu-done.d.ts +0 -153
- package/dist/wu-done.d.ts.map +0 -1
- package/dist/wu-done.js.map +0 -1
- package/dist/wu-edit.d.ts +0 -29
- package/dist/wu-edit.d.ts.map +0 -1
- package/dist/wu-edit.js.map +0 -1
- package/dist/wu-infer-lane.d.ts +0 -17
- package/dist/wu-infer-lane.d.ts.map +0 -1
- package/dist/wu-infer-lane.js.map +0 -1
- package/dist/wu-preflight.d.ts +0 -47
- package/dist/wu-preflight.d.ts.map +0 -1
- package/dist/wu-preflight.js.map +0 -1
- package/dist/wu-prune.d.ts +0 -16
- package/dist/wu-prune.d.ts.map +0 -1
- package/dist/wu-prune.js.map +0 -1
- package/dist/wu-repair.d.ts +0 -60
- package/dist/wu-repair.d.ts.map +0 -1
- package/dist/wu-repair.js.map +0 -1
- package/dist/wu-spawn-completion.d.ts +0 -10
- package/dist/wu-spawn.d.ts +0 -168
- package/dist/wu-spawn.d.ts.map +0 -1
- package/dist/wu-spawn.js.map +0 -1
- package/dist/wu-unblock.d.ts +0 -16
- package/dist/wu-unblock.d.ts.map +0 -1
- package/dist/wu-unblock.js.map +0 -1
- package/dist/wu-validate.d.ts +0 -16
- package/dist/wu-validate.d.ts.map +0 -1
- 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
|
|
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
|
|
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
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
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:
|
|
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
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
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
|
|
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
|
-
|
|
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,
|
|
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
|
}
|
package/dist/wu-unlock-lane.js
CHANGED
|
@@ -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
|
+
}
|
package/dist/wu-validate.js
CHANGED
|
@@ -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.
|
|
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.
|
|
79
|
+
"chalk": "^5.6.2",
|
|
80
80
|
"cli-table3": "^0.6.5",
|
|
81
|
-
"commander": "^
|
|
82
|
-
"fast-glob": "^3.3.
|
|
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.
|
|
88
|
-
"yaml": "^2.
|
|
89
|
-
"@lumenflow/core": "1.
|
|
90
|
-
"@lumenflow/
|
|
91
|
-
"@lumenflow/memory": "1.
|
|
92
|
-
"@lumenflow/
|
|
93
|
-
"@lumenflow/
|
|
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
|
-
"
|
|
97
|
-
"
|
|
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 {};
|
package/dist/gates.d.ts.map
DELETED
|
@@ -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 {};
|