@lumenflow/initiatives 5.4.0 → 5.7.12
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/initiative-orchestrator.d.ts +4 -0
- package/dist/initiative-orchestrator.d.ts.map +1 -1
- package/dist/initiative-orchestrator.js +4 -0
- package/dist/initiative-orchestrator.js.map +1 -1
- package/dist/orchestrator/formatting.d.ts +17 -1
- package/dist/orchestrator/formatting.d.ts.map +1 -1
- package/dist/orchestrator/formatting.js +16 -1
- package/dist/orchestrator/formatting.js.map +1 -1
- package/dist/orchestrator/preflight-config.d.ts +21 -0
- package/dist/orchestrator/preflight-config.d.ts.map +1 -0
- package/dist/orchestrator/preflight-config.js +32 -0
- package/dist/orchestrator/preflight-config.js.map +1 -0
- package/dist/orchestrator/preflight-lane-fit.d.ts +48 -0
- package/dist/orchestrator/preflight-lane-fit.d.ts.map +1 -0
- package/dist/orchestrator/preflight-lane-fit.js +150 -0
- package/dist/orchestrator/preflight-lane-fit.js.map +1 -0
- package/dist/orchestrator/preflight-overlap.d.ts +31 -0
- package/dist/orchestrator/preflight-overlap.d.ts.map +1 -0
- package/dist/orchestrator/preflight-overlap.js +94 -0
- package/dist/orchestrator/preflight-overlap.js.map +1 -0
- package/package.json +3 -3
|
@@ -28,4 +28,8 @@ export { getLockPolicyForLane, getLaneAvailability } from './orchestrator/lane-p
|
|
|
28
28
|
export { reconcileInitiativeExecution } from './orchestrator/reconciliation.js';
|
|
29
29
|
export { loadInitiativeWUs, loadMultipleInitiatives } from './orchestrator/initiative-loading.js';
|
|
30
30
|
export { analyseScopeShape, formatScopeAdvisory, SCOPE_ADVISORY_THRESHOLDS, type ScopeAdvisory, type ScopeAdvisoryResult, type ScopeAdvisoryType, type ScopeAdvisorySeverity, } from './orchestrator/scope-advisory.js';
|
|
31
|
+
export { detectFileOverlapWarnings, formatFileOverlapSection, type FileOverlapWarning, } from './orchestrator/preflight-overlap.js';
|
|
32
|
+
export { detectLaneFitSuggestions, formatLaneFitSection, type LaneFitSuggestion, type LaneFitRecommendation, type LaneInferFn, type DetectLaneFitOptions, } from './orchestrator/preflight-lane-fit.js';
|
|
33
|
+
export { readPreflightModeFromConfig, DEFAULT_PREFLIGHT_MODE, type PreflightMode, } from './orchestrator/preflight-config.js';
|
|
34
|
+
export type { PreflightOutput, FormatExecutionPlanOptions } from './orchestrator/formatting.js';
|
|
31
35
|
//# sourceMappingURL=initiative-orchestrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initiative-orchestrator.d.ts","sourceRoot":"","sources":["../src/initiative-orchestrator.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,+BAA+B,EAC/B,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,qCAAqC,EACrC,qCAAqC,GACtC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAGhF,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAGlG,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"initiative-orchestrator.d.ts","sourceRoot":"","sources":["../src/initiative-orchestrator.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,+BAA+B,EAC/B,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,qCAAqC,EACrC,qCAAqC,GACtC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAGhF,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAGlG,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,KAAK,kBAAkB,GACxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,oBAAoB,GAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,KAAK,aAAa,GACnB,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -20,4 +20,8 @@ export { reconcileInitiativeExecution } from './orchestrator/reconciliation.js';
|
|
|
20
20
|
export { loadInitiativeWUs, loadMultipleInitiatives } from './orchestrator/initiative-loading.js';
|
|
21
21
|
// ── Scope advisory (WU-2142/WU-2155) ────────────────────────────────────────
|
|
22
22
|
export { analyseScopeShape, formatScopeAdvisory, SCOPE_ADVISORY_THRESHOLDS, } from './orchestrator/scope-advisory.js';
|
|
23
|
+
// ── Preflight intelligence (WU-2942 / INIT-069) ─────────────────────────────
|
|
24
|
+
export { detectFileOverlapWarnings, formatFileOverlapSection, } from './orchestrator/preflight-overlap.js';
|
|
25
|
+
export { detectLaneFitSuggestions, formatLaneFitSection, } from './orchestrator/preflight-lane-fit.js';
|
|
26
|
+
export { readPreflightModeFromConfig, DEFAULT_PREFLIGHT_MODE, } from './orchestrator/preflight-config.js';
|
|
23
27
|
//# sourceMappingURL=initiative-orchestrator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initiative-orchestrator.js","sourceRoot":"","sources":["../src/initiative-orchestrator.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,4DAA4D;AAiD5D,iFAAiF;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,iFAAiF;AACjF,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,sCAAsC,CAAC;AAE9C,iFAAiF;AACjF,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,+BAA+B,EAC/B,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,gFAAgF;AAChF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAErC,iFAAiF;AACjF,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,qCAAqC,EACrC,qCAAqC,GACtC,MAAM,8BAA8B,CAAC;AAEtC,iFAAiF;AACjF,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AAExC,iFAAiF;AACjF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE1F,gFAAgF;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAEhF,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAElG,+EAA+E;AAC/E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,GAK1B,MAAM,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"initiative-orchestrator.js","sourceRoot":"","sources":["../src/initiative-orchestrator.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,4DAA4D;AAiD5D,iFAAiF;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,iFAAiF;AACjF,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,sCAAsC,CAAC;AAE9C,iFAAiF;AACjF,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,+BAA+B,EAC/B,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,gFAAgF;AAChF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAErC,iFAAiF;AACjF,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,qCAAqC,EACrC,qCAAqC,GACtC,MAAM,8BAA8B,CAAC;AAEtC,iFAAiF;AACjF,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AAExC,iFAAiF;AACjF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE1F,gFAAgF;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAEhF,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAElG,+EAA+E;AAC/E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,GAK1B,MAAM,kCAAkC,CAAC;AAE1C,+EAA+E;AAC/E,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,wBAAwB,EACxB,oBAAoB,GAKrB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC"}
|
|
@@ -2,9 +2,25 @@ import type { WUEntry } from '../initiative-yaml.js';
|
|
|
2
2
|
import type { InitiativeDoc } from '../initiative-yaml.js';
|
|
3
3
|
import type { OrchestrationLaunchReceipt } from '@lumenflow/control-plane-sdk';
|
|
4
4
|
import type { ExecutionPlan, ProgressStats, BottleneckWU, CheckpointWaveResult } from './types.js';
|
|
5
|
+
import { type FileOverlapWarning } from './preflight-overlap.js';
|
|
6
|
+
import { type LaneFitSuggestion } from './preflight-lane-fit.js';
|
|
5
7
|
interface HandoffOutputOptions {
|
|
6
8
|
printHandoffs?: boolean;
|
|
7
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* WU-2942: Preflight payload accepted by {@link formatExecutionPlan}.
|
|
12
|
+
*
|
|
13
|
+
* Both arrays are optional and additive — when empty/absent the plan
|
|
14
|
+
* output is unchanged from pre-WU-2942 behavior (Bottleneck WUs, Wave N
|
|
15
|
+
* descriptions, Coordination Guidance).
|
|
16
|
+
*/
|
|
17
|
+
export interface PreflightOutput {
|
|
18
|
+
overlapWarnings?: FileOverlapWarning[];
|
|
19
|
+
laneFitSuggestions?: LaneFitSuggestion[];
|
|
20
|
+
}
|
|
21
|
+
export interface FormatExecutionPlanOptions {
|
|
22
|
+
preflight?: PreflightOutput;
|
|
23
|
+
}
|
|
8
24
|
interface ExecutionPlanHandoffOutputOptions extends HandoffOutputOptions {
|
|
9
25
|
artifactDir?: string;
|
|
10
26
|
planPath?: string;
|
|
@@ -21,7 +37,7 @@ interface ExecutionPlanHandoffOutputOptions extends HandoffOutputOptions {
|
|
|
21
37
|
* @param {{waves: Array<Array<{id: string, doc: object}>>, skipped: string[], skippedWithReasons?: Array<{id: string, reason: string}>, deferred?: Array<{id: string, blockedBy: string[], reason: string}>}} plan - Execution plan
|
|
22
38
|
* @returns {string} Formatted plan output
|
|
23
39
|
*/
|
|
24
|
-
export declare function formatExecutionPlan(initiative: InitiativeDoc, plan: ExecutionPlan): string;
|
|
40
|
+
export declare function formatExecutionPlan(initiative: InitiativeDoc, plan: ExecutionPlan, options?: FormatExecutionPlanOptions): string;
|
|
25
41
|
/**
|
|
26
42
|
* Generate spawn commands for a wave of WUs.
|
|
27
43
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/orchestrator/formatting.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/orchestrator/formatting.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAOnG,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAqBvF,UAAU,oBAAoB;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED,UAAU,iCAAkC,SAAQ,oBAAoB;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,0BAA0B,EAAE,CAAC;CAChD;AAED;;;;;;;;GAQG;AAEH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,aAAa,EACzB,IAAI,EAAE,aAAa,EACnB,OAAO,GAAE,0BAA+B,GACvC,MAAM,CAwGR;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAKpF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,aAAa,CAiC/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAS9D;AAeD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,KAAK,SAAI,GAAG,YAAY,EAAE,CAqC1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,oBAAyB,GACjC,MAAM,CAyFR;AAwHD;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAarF;AA+CD;;;;;;;GAOG;AACH,wBAAgB,qCAAqC,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9F;AAED;;;;;;;;GAQG;AAEH,wBAAgB,qCAAqC,CACnD,IAAI,EAAE,aAAa,EACnB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,iCAAsC,GAC9C,MAAM,CAmCR"}
|
|
@@ -18,6 +18,8 @@ import { WU_PATHS } from '@lumenflow/core/wu-paths';
|
|
|
18
18
|
import { parseYAML } from '@lumenflow/core/wu-yaml';
|
|
19
19
|
import { createError, ErrorCodes } from '@lumenflow/core/error-handler';
|
|
20
20
|
import { isXmlCapableClient, renderHandoffArtifact } from './artifacts.js';
|
|
21
|
+
import { formatFileOverlapSection } from './preflight-overlap.js';
|
|
22
|
+
import { formatLaneFitSection } from './preflight-lane-fit.js';
|
|
21
23
|
/**
|
|
22
24
|
* WU-2280: Banner separator for ACTION REQUIRED output.
|
|
23
25
|
* Used to make it unambiguous that agents have NOT been spawned yet.
|
|
@@ -44,7 +46,7 @@ const XML_PATTERNS = {
|
|
|
44
46
|
* @returns {string} Formatted plan output
|
|
45
47
|
*/
|
|
46
48
|
// eslint-disable-next-line sonarjs/cognitive-complexity -- display formatting inherently complex
|
|
47
|
-
export function formatExecutionPlan(initiative, plan) {
|
|
49
|
+
export function formatExecutionPlan(initiative, plan, options = {}) {
|
|
48
50
|
const lines = [];
|
|
49
51
|
lines.push(`Initiative: ${initiative.id} \u2014 ${initiative.title}`);
|
|
50
52
|
lines.push('');
|
|
@@ -109,6 +111,19 @@ export function formatExecutionPlan(initiative, plan) {
|
|
|
109
111
|
}
|
|
110
112
|
lines.push('');
|
|
111
113
|
}
|
|
114
|
+
// WU-2942: Preflight intelligence — additive sections after wave breakdown,
|
|
115
|
+
// before Coordination Guidance / Next Steps.
|
|
116
|
+
const preflight = options.preflight;
|
|
117
|
+
if (preflight) {
|
|
118
|
+
const overlapSection = formatFileOverlapSection(preflight.overlapWarnings ?? []);
|
|
119
|
+
if (overlapSection) {
|
|
120
|
+
lines.push(overlapSection);
|
|
121
|
+
}
|
|
122
|
+
const laneFitSection = formatLaneFitSection(preflight.laneFitSuggestions ?? []);
|
|
123
|
+
if (laneFitSection) {
|
|
124
|
+
lines.push(laneFitSection);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
112
127
|
// Add coordination guidance for multi-wave plans (WU-1592)
|
|
113
128
|
if (plan.waves.length > 1) {
|
|
114
129
|
lines.push('Coordination Guidance:');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/orchestrator/formatting.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/orchestrator/formatting.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Preflight configuration reader (WU-2942 / INIT-069).
|
|
3
|
+
*
|
|
4
|
+
* Reads `software_delivery.orchestrate.preflight` from the resolved
|
|
5
|
+
* workspace config. Mirrors the duck-typed pattern used by
|
|
6
|
+
* `orchestrate-integrity.ts` for `max_active_workers` so the config
|
|
7
|
+
* surface stays consistent across orchestration knobs.
|
|
8
|
+
*
|
|
9
|
+
* @module orchestrator/preflight-config
|
|
10
|
+
*/
|
|
11
|
+
export type PreflightMode = 'advisory' | 'strict' | 'off';
|
|
12
|
+
export declare const DEFAULT_PREFLIGHT_MODE: PreflightMode;
|
|
13
|
+
/**
|
|
14
|
+
* Read `software_delivery.orchestrate.preflight` from config.
|
|
15
|
+
*
|
|
16
|
+
* - 'advisory' (default): emit warnings, do not block dispatch.
|
|
17
|
+
* - 'strict': emit warnings AND treat them as blocking (CLI exits non-zero).
|
|
18
|
+
* - 'off': skip preflight scans entirely.
|
|
19
|
+
*/
|
|
20
|
+
export declare function readPreflightModeFromConfig(config: unknown): PreflightMode;
|
|
21
|
+
//# sourceMappingURL=preflight-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight-config.d.ts","sourceRoot":"","sources":["../../src/orchestrator/preflight-config.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AAEH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE1D,eAAO,MAAM,sBAAsB,EAAE,aAA0B,CAAC;AAkBhE;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAM1E"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: LicenseRef-LumenFlow-Proprietary
|
|
3
|
+
export const DEFAULT_PREFLIGHT_MODE = 'advisory';
|
|
4
|
+
const VALID_MODES = new Set(['advisory', 'strict', 'off']);
|
|
5
|
+
function getOrchestrateConfig(config) {
|
|
6
|
+
if (typeof config !== 'object' || config === null) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
const sd = config.software_delivery;
|
|
10
|
+
if (typeof sd !== 'object' || sd === null) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
const orchestrate = sd.orchestrate;
|
|
14
|
+
return typeof orchestrate === 'object' && orchestrate !== null
|
|
15
|
+
? orchestrate
|
|
16
|
+
: undefined;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Read `software_delivery.orchestrate.preflight` from config.
|
|
20
|
+
*
|
|
21
|
+
* - 'advisory' (default): emit warnings, do not block dispatch.
|
|
22
|
+
* - 'strict': emit warnings AND treat them as blocking (CLI exits non-zero).
|
|
23
|
+
* - 'off': skip preflight scans entirely.
|
|
24
|
+
*/
|
|
25
|
+
export function readPreflightModeFromConfig(config) {
|
|
26
|
+
const raw = getOrchestrateConfig(config)?.preflight;
|
|
27
|
+
if (typeof raw === 'string' && VALID_MODES.has(raw)) {
|
|
28
|
+
return raw;
|
|
29
|
+
}
|
|
30
|
+
return DEFAULT_PREFLIGHT_MODE;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=preflight-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight-config.js","sourceRoot":"","sources":["../../src/orchestrator/preflight-config.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,4DAA4D;AAe5D,MAAM,CAAC,MAAM,sBAAsB,GAAkB,UAAU,CAAC;AAEhE,MAAM,WAAW,GAA+B,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAEvF,SAAS,oBAAoB,CAAC,MAAe;IAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,GAAI,MAAkC,CAAC,iBAAiB,CAAC;IACjE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,WAAW,GAAI,EAA8B,CAAC,WAAW,CAAC;IAChE,OAAO,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI;QAC5D,CAAC,CAAE,WAAuC;QAC1C,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAe;IACzD,MAAM,GAAG,GAAG,oBAAoB,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IACpD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,GAAoB,CAAC,EAAE,CAAC;QACrE,OAAO,GAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { WUEntry } from '../initiative-yaml.js';
|
|
2
|
+
import type { LaneConfig } from './types.js';
|
|
3
|
+
export interface LaneFitRecommendation {
|
|
4
|
+
wuId: string;
|
|
5
|
+
suggestedLane: string;
|
|
6
|
+
confidence: number;
|
|
7
|
+
}
|
|
8
|
+
export interface LaneFitSuggestion {
|
|
9
|
+
/** Index of the wave containing the contention. */
|
|
10
|
+
waveIndex: number;
|
|
11
|
+
/** The contended lane name. */
|
|
12
|
+
lane: string;
|
|
13
|
+
/** Number of WUs in this wave on the contended lane. */
|
|
14
|
+
contendingCount: number;
|
|
15
|
+
/** Per-WU re-lane recommendations (suggestedLane !== current lane). */
|
|
16
|
+
recommendations: LaneFitRecommendation[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Lane-inference callback. Production callers pass a wrapper around
|
|
20
|
+
* `inferSubLane` from @lumenflow/core/lane-inference. Tests inject a
|
|
21
|
+
* deterministic stub.
|
|
22
|
+
*/
|
|
23
|
+
export type LaneInferFn = (codePaths: string[], description: string, wuId?: string) => {
|
|
24
|
+
lane: string;
|
|
25
|
+
confidence: number;
|
|
26
|
+
};
|
|
27
|
+
export interface DetectLaneFitOptions {
|
|
28
|
+
laneConfigs?: Record<string, LaneConfig>;
|
|
29
|
+
inferLane: LaneInferFn;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Detect lane-fit suggestions across each wave's WUs.
|
|
33
|
+
*
|
|
34
|
+
* For each (wave, lane) where N≥2 WUs share a starving lane, call
|
|
35
|
+
* inferLane per contending WU (cached by WU id across waves) and
|
|
36
|
+
* return one suggestion containing recommendations for every WU whose
|
|
37
|
+
* inferred lane differs from the current lane.
|
|
38
|
+
*
|
|
39
|
+
* @param waves Parallel-claimable waves from the execution plan.
|
|
40
|
+
* @param options Lane configs + inferLane callback.
|
|
41
|
+
*/
|
|
42
|
+
export declare function detectLaneFitSuggestions(waves: WUEntry[][], options: DetectLaneFitOptions): LaneFitSuggestion[];
|
|
43
|
+
/**
|
|
44
|
+
* Render a 'Lane-fit suggestions' section for the plan output.
|
|
45
|
+
* Returns the empty string when no suggestions exist.
|
|
46
|
+
*/
|
|
47
|
+
export declare function formatLaneFitSection(suggestions: LaneFitSuggestion[]): string;
|
|
48
|
+
//# sourceMappingURL=preflight-lane-fit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight-lane-fit.d.ts","sourceRoot":"","sources":["../../src/orchestrator/preflight-lane-fit.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,YAAY,CAAC;AAMzD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,eAAe,EAAE,qBAAqB,EAAE,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,CACxB,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,KACV;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC,SAAS,EAAE,WAAW,CAAC;CACxB;AA2BD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EAAE,EAAE,EAClB,OAAO,EAAE,oBAAoB,GAC5B,iBAAiB,EAAE,CA8ErB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAsB7E"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: LicenseRef-LumenFlow-Proprietary
|
|
3
|
+
/**
|
|
4
|
+
* Lane-fit preflight advisor (WU-2942 / INIT-069).
|
|
5
|
+
*
|
|
6
|
+
* Detects WIP=1 starvation in a wave: when N>1 WUs share a lane that
|
|
7
|
+
* holds the lane lock (lock_policy 'all' or 'active'), only one will
|
|
8
|
+
* actually run in parallel — even though the wave is presented as
|
|
9
|
+
* parallel-claimable. For each such lane the advisor calls a
|
|
10
|
+
* `wu:infer-lane`-style inference function per contending WU and
|
|
11
|
+
* surfaces concrete re-lane recommendations for the (N-1) WUs that
|
|
12
|
+
* could move elsewhere.
|
|
13
|
+
*
|
|
14
|
+
* The inferLane callback is injected so this module stays free of
|
|
15
|
+
* config I/O and remains trivially testable. Production callers wire
|
|
16
|
+
* `inferSubLane` from `@lumenflow/core/lane-inference`.
|
|
17
|
+
*
|
|
18
|
+
* Side-effect-free; output rendering is separated from analysis.
|
|
19
|
+
*
|
|
20
|
+
* @module orchestrator/preflight-lane-fit
|
|
21
|
+
*/
|
|
22
|
+
import { STRING_LITERALS } from '@lumenflow/core/wu-constants';
|
|
23
|
+
import { getLockPolicyForLane } from './lane-policy.js';
|
|
24
|
+
const SECTION_HEADER = 'Lane-fit suggestions';
|
|
25
|
+
const MIN_CONTENDING_WUS = 2;
|
|
26
|
+
function readCodePaths(wu) {
|
|
27
|
+
const raw = wu.doc.code_paths;
|
|
28
|
+
if (!Array.isArray(raw)) {
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
return raw.filter((entry) => typeof entry === 'string');
|
|
32
|
+
}
|
|
33
|
+
function readDescription(wu) {
|
|
34
|
+
const description = wu.doc.description;
|
|
35
|
+
if (typeof description === 'string') {
|
|
36
|
+
return description;
|
|
37
|
+
}
|
|
38
|
+
const title = wu.doc.title;
|
|
39
|
+
return typeof title === 'string' ? title : '';
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* A lane is subject to WIP=1 starvation when its lock_policy is 'all'
|
|
43
|
+
* (default) or 'active'. Policy 'none' disables WIP checking entirely.
|
|
44
|
+
*/
|
|
45
|
+
function laneStarves(policy) {
|
|
46
|
+
return policy === 'all' || policy === 'active';
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Detect lane-fit suggestions across each wave's WUs.
|
|
50
|
+
*
|
|
51
|
+
* For each (wave, lane) where N≥2 WUs share a starving lane, call
|
|
52
|
+
* inferLane per contending WU (cached by WU id across waves) and
|
|
53
|
+
* return one suggestion containing recommendations for every WU whose
|
|
54
|
+
* inferred lane differs from the current lane.
|
|
55
|
+
*
|
|
56
|
+
* @param waves Parallel-claimable waves from the execution plan.
|
|
57
|
+
* @param options Lane configs + inferLane callback.
|
|
58
|
+
*/
|
|
59
|
+
export function detectLaneFitSuggestions(waves, options) {
|
|
60
|
+
const { laneConfigs = {}, inferLane } = options;
|
|
61
|
+
const suggestions = [];
|
|
62
|
+
// Cache inference per WU id so `inferLane` runs at most once per WU
|
|
63
|
+
// even if a WU appears in multiple waves (duplicate-input safety).
|
|
64
|
+
const inferenceCache = new Map();
|
|
65
|
+
const cachedInfer = (wu) => {
|
|
66
|
+
const cached = inferenceCache.get(wu.id);
|
|
67
|
+
if (cached) {
|
|
68
|
+
return cached;
|
|
69
|
+
}
|
|
70
|
+
const result = inferLane(readCodePaths(wu), readDescription(wu), wu.id);
|
|
71
|
+
inferenceCache.set(wu.id, result);
|
|
72
|
+
return result;
|
|
73
|
+
};
|
|
74
|
+
for (let waveIndex = 0; waveIndex < waves.length; waveIndex++) {
|
|
75
|
+
const wave = waves[waveIndex] ?? [];
|
|
76
|
+
// Group wave WUs by current lane.
|
|
77
|
+
const byLane = new Map();
|
|
78
|
+
for (const wu of wave) {
|
|
79
|
+
const lane = typeof wu.doc.lane === 'string' ? wu.doc.lane : '';
|
|
80
|
+
if (!lane) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
const existing = byLane.get(lane);
|
|
84
|
+
if (existing) {
|
|
85
|
+
existing.push(wu);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
byLane.set(lane, [wu]);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
for (const [lane, contendingWUs] of byLane) {
|
|
92
|
+
if (contendingWUs.length < MIN_CONTENDING_WUS) {
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const policy = getLockPolicyForLane(lane, laneConfigs);
|
|
96
|
+
if (!laneStarves(policy)) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
const recommendations = [];
|
|
100
|
+
for (const wu of contendingWUs) {
|
|
101
|
+
const inferred = cachedInfer(wu);
|
|
102
|
+
if (inferred.lane && inferred.lane !== lane) {
|
|
103
|
+
recommendations.push({
|
|
104
|
+
wuId: wu.id,
|
|
105
|
+
suggestedLane: inferred.lane,
|
|
106
|
+
confidence: inferred.confidence,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (recommendations.length === 0) {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
recommendations.sort((left, right) => left.wuId.localeCompare(right.wuId));
|
|
114
|
+
suggestions.push({
|
|
115
|
+
waveIndex,
|
|
116
|
+
lane,
|
|
117
|
+
contendingCount: contendingWUs.length,
|
|
118
|
+
recommendations,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
suggestions.sort((left, right) => {
|
|
123
|
+
if (left.waveIndex !== right.waveIndex) {
|
|
124
|
+
return left.waveIndex - right.waveIndex;
|
|
125
|
+
}
|
|
126
|
+
return left.lane.localeCompare(right.lane);
|
|
127
|
+
});
|
|
128
|
+
return suggestions;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Render a 'Lane-fit suggestions' section for the plan output.
|
|
132
|
+
* Returns the empty string when no suggestions exist.
|
|
133
|
+
*/
|
|
134
|
+
export function formatLaneFitSection(suggestions) {
|
|
135
|
+
if (suggestions.length === 0) {
|
|
136
|
+
return '';
|
|
137
|
+
}
|
|
138
|
+
const lines = [];
|
|
139
|
+
lines.push(`${SECTION_HEADER}:`);
|
|
140
|
+
for (const suggestion of suggestions) {
|
|
141
|
+
lines.push(` - Wave ${suggestion.waveIndex}: ${suggestion.contendingCount} WUs on lane '${suggestion.lane}' (WIP=1 effective).`);
|
|
142
|
+
for (const rec of suggestion.recommendations) {
|
|
143
|
+
lines.push(` ${rec.wuId} could run on '${rec.suggestedLane}' (confidence ${rec.confidence}%, per pnpm wu:infer-lane --id ${rec.wuId}).`);
|
|
144
|
+
}
|
|
145
|
+
lines.push(` Re-lane via: pnpm wu:edit --id <WU> --lane '<inferred>' to unlock parallelism.`);
|
|
146
|
+
}
|
|
147
|
+
lines.push('');
|
|
148
|
+
return lines.join(STRING_LITERALS.NEWLINE);
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=preflight-lane-fit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight-lane-fit.js","sourceRoot":"","sources":["../../src/orchestrator/preflight-lane-fit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { WUEntry } from '../initiative-yaml.js';
|
|
2
|
+
/**
|
|
3
|
+
* One detected file-path overlap inside a parallel-claimable wave.
|
|
4
|
+
*/
|
|
5
|
+
export interface FileOverlapWarning {
|
|
6
|
+
/** Index of the wave containing the overlap (0-based). */
|
|
7
|
+
waveIndex: number;
|
|
8
|
+
/** The shared file path (verbatim from each WU's `code_paths`). */
|
|
9
|
+
filePath: string;
|
|
10
|
+
/** WU IDs that all declare this file path. */
|
|
11
|
+
wuIds: string[];
|
|
12
|
+
/** Human-readable remediation text. */
|
|
13
|
+
remediation: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Detect file-path overlaps across each wave's WUs.
|
|
17
|
+
*
|
|
18
|
+
* Two or more WUs in the same wave declaring the same `code_paths` entry
|
|
19
|
+
* yields a single warning per (wave, filePath) tuple. WUs without
|
|
20
|
+
* `code_paths` declared are skipped — they cannot collide deterministically.
|
|
21
|
+
*
|
|
22
|
+
* @param waves Parallel-claimable waves from the execution plan.
|
|
23
|
+
* @returns One warning per overlap, sorted by waveIndex then filePath.
|
|
24
|
+
*/
|
|
25
|
+
export declare function detectFileOverlapWarnings(waves: WUEntry[][]): FileOverlapWarning[];
|
|
26
|
+
/**
|
|
27
|
+
* Render a 'File-overlap preflight' section for the plan output.
|
|
28
|
+
* Returns the empty string when no warnings exist (caller may skip emission).
|
|
29
|
+
*/
|
|
30
|
+
export declare function formatFileOverlapSection(warnings: FileOverlapWarning[]): string;
|
|
31
|
+
//# sourceMappingURL=preflight-overlap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight-overlap.d.ts","sourceRoot":"","sources":["../../src/orchestrator/preflight-overlap.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAMrD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;CACrB;AAaD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,kBAAkB,EAAE,CAwClF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAe/E"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: LicenseRef-LumenFlow-Proprietary
|
|
3
|
+
/**
|
|
4
|
+
* File-overlap preflight scanner (WU-2942 / INIT-069).
|
|
5
|
+
*
|
|
6
|
+
* Pure-function analysis of a parallel-claimable wave's `code_paths` to
|
|
7
|
+
* detect WU pairs (or N-tuples) that share a file path. Such overlaps
|
|
8
|
+
* force serial claims because `wu:claim` rejects overlap by default.
|
|
9
|
+
*
|
|
10
|
+
* The orchestrator surfaces these warnings at plan time so an operator
|
|
11
|
+
* can serialize, split file ownership, or `--force-overlap` knowingly
|
|
12
|
+
* — instead of agents discovering the collision only on claim.
|
|
13
|
+
*
|
|
14
|
+
* Side-effect-free. Output rendering is separated from analysis.
|
|
15
|
+
*
|
|
16
|
+
* @module orchestrator/preflight-overlap
|
|
17
|
+
*/
|
|
18
|
+
import { STRING_LITERALS } from '@lumenflow/core/wu-constants';
|
|
19
|
+
const SECTION_HEADER = 'File-overlap preflight';
|
|
20
|
+
const REMEDIATION_TEMPLATE = 'Only one can claim at a time. Consider serializing or splitting the file ownership.';
|
|
21
|
+
/**
|
|
22
|
+
* Extract `code_paths` from a WU document, ignoring non-string entries.
|
|
23
|
+
*/
|
|
24
|
+
function readCodePaths(wu) {
|
|
25
|
+
const raw = wu.doc.code_paths;
|
|
26
|
+
if (!Array.isArray(raw)) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
return raw.filter((entry) => typeof entry === 'string');
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Detect file-path overlaps across each wave's WUs.
|
|
33
|
+
*
|
|
34
|
+
* Two or more WUs in the same wave declaring the same `code_paths` entry
|
|
35
|
+
* yields a single warning per (wave, filePath) tuple. WUs without
|
|
36
|
+
* `code_paths` declared are skipped — they cannot collide deterministically.
|
|
37
|
+
*
|
|
38
|
+
* @param waves Parallel-claimable waves from the execution plan.
|
|
39
|
+
* @returns One warning per overlap, sorted by waveIndex then filePath.
|
|
40
|
+
*/
|
|
41
|
+
export function detectFileOverlapWarnings(waves) {
|
|
42
|
+
const warnings = [];
|
|
43
|
+
for (let waveIndex = 0; waveIndex < waves.length; waveIndex++) {
|
|
44
|
+
const wave = waves[waveIndex] ?? [];
|
|
45
|
+
// Map: file path → set of WU ids declaring it (within this wave).
|
|
46
|
+
const filePathToWuIds = new Map();
|
|
47
|
+
for (const wu of wave) {
|
|
48
|
+
for (const filePath of readCodePaths(wu)) {
|
|
49
|
+
const existing = filePathToWuIds.get(filePath);
|
|
50
|
+
if (existing) {
|
|
51
|
+
existing.add(wu.id);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
filePathToWuIds.set(filePath, new Set([wu.id]));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
for (const [filePath, ids] of filePathToWuIds) {
|
|
59
|
+
if (ids.size >= 2) {
|
|
60
|
+
warnings.push({
|
|
61
|
+
waveIndex,
|
|
62
|
+
filePath,
|
|
63
|
+
wuIds: Array.from(ids).sort(),
|
|
64
|
+
remediation: REMEDIATION_TEMPLATE,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
warnings.sort((left, right) => {
|
|
70
|
+
if (left.waveIndex !== right.waveIndex) {
|
|
71
|
+
return left.waveIndex - right.waveIndex;
|
|
72
|
+
}
|
|
73
|
+
return left.filePath.localeCompare(right.filePath);
|
|
74
|
+
});
|
|
75
|
+
return warnings;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Render a 'File-overlap preflight' section for the plan output.
|
|
79
|
+
* Returns the empty string when no warnings exist (caller may skip emission).
|
|
80
|
+
*/
|
|
81
|
+
export function formatFileOverlapSection(warnings) {
|
|
82
|
+
if (warnings.length === 0) {
|
|
83
|
+
return '';
|
|
84
|
+
}
|
|
85
|
+
const lines = [];
|
|
86
|
+
lines.push(`${SECTION_HEADER}:`);
|
|
87
|
+
for (const warning of warnings) {
|
|
88
|
+
const ids = warning.wuIds.join(' and ');
|
|
89
|
+
lines.push(` - Wave ${warning.waveIndex}: ${ids} both list ${warning.filePath}; ${warning.remediation}`);
|
|
90
|
+
}
|
|
91
|
+
lines.push('');
|
|
92
|
+
return lines.join(STRING_LITERALS.NEWLINE);
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=preflight-overlap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight-overlap.js","sourceRoot":"","sources":["../../src/orchestrator/preflight-overlap.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lumenflow/initiatives",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.7.12",
|
|
4
4
|
"description": "Initiative tracking for LumenFlow workflow framework - multi-phase project coordination",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lumenflow",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"zod": "^4.3.6",
|
|
43
|
-
"@lumenflow/control-plane-sdk": "5.
|
|
44
|
-
"@lumenflow/core": "5.
|
|
43
|
+
"@lumenflow/control-plane-sdk": "5.7.12",
|
|
44
|
+
"@lumenflow/core": "5.7.12"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@vitest/coverage-v8": "^4.0.18",
|