@lumenflow/core 5.0.3 → 5.2.0

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 (69) hide show
  1. package/dist/adapters/filesystem-metrics.adapter.d.ts.map +1 -1
  2. package/dist/adapters/filesystem-metrics.adapter.js +9 -4
  3. package/dist/adapters/filesystem-metrics.adapter.js.map +1 -1
  4. package/dist/adapters/terminal-renderer.adapter.d.ts.map +1 -1
  5. package/dist/adapters/terminal-renderer.adapter.js +3 -0
  6. package/dist/adapters/terminal-renderer.adapter.js.map +1 -1
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/lumenflow-config-schema.d.ts +11 -1
  12. package/dist/lumenflow-config-schema.d.ts.map +1 -1
  13. package/dist/orchestration-advisory-loader.d.ts +1 -1
  14. package/dist/orchestration-advisory-loader.d.ts.map +1 -1
  15. package/dist/orchestration-advisory-loader.js +4 -35
  16. package/dist/orchestration-advisory-loader.js.map +1 -1
  17. package/dist/orchestration-advisory.d.ts +1 -2
  18. package/dist/orchestration-advisory.d.ts.map +1 -1
  19. package/dist/orchestration-advisory.js +3 -2
  20. package/dist/orchestration-advisory.js.map +1 -1
  21. package/dist/orchestration-rules.d.ts +7 -4
  22. package/dist/orchestration-rules.d.ts.map +1 -1
  23. package/dist/orchestration-rules.js +10 -9
  24. package/dist/orchestration-rules.js.map +1 -1
  25. package/dist/schemas/agents-config.d.ts +23 -0
  26. package/dist/schemas/agents-config.d.ts.map +1 -1
  27. package/dist/schemas/agents-config.js +99 -1
  28. package/dist/schemas/agents-config.js.map +1 -1
  29. package/dist/schemas/directories-config.js +2 -2
  30. package/dist/schemas/directories-config.js.map +1 -1
  31. package/dist/spawn-prompt-helpers.d.ts +3 -2
  32. package/dist/spawn-prompt-helpers.d.ts.map +1 -1
  33. package/dist/spawn-prompt-helpers.js +4 -24
  34. package/dist/spawn-prompt-helpers.js.map +1 -1
  35. package/dist/spawn-strategy.d.ts +7 -0
  36. package/dist/spawn-strategy.d.ts.map +1 -1
  37. package/dist/spawn-strategy.js +30 -10
  38. package/dist/spawn-strategy.js.map +1 -1
  39. package/dist/spawn-task-builder.d.ts.map +1 -1
  40. package/dist/spawn-task-builder.js +6 -5
  41. package/dist/spawn-task-builder.js.map +1 -1
  42. package/dist/usecases/get-suggestions.usecase.d.ts.map +1 -1
  43. package/dist/usecases/get-suggestions.usecase.js +4 -2
  44. package/dist/usecases/get-suggestions.usecase.js.map +1 -1
  45. package/dist/wu-constants.d.ts +1 -1
  46. package/dist/wu-constants.d.ts.map +1 -1
  47. package/dist/wu-constants.js +1 -1
  48. package/dist/wu-constants.js.map +1 -1
  49. package/dist/wu-context-constants.d.ts +4 -0
  50. package/dist/wu-context-constants.d.ts.map +1 -1
  51. package/dist/wu-context-constants.js +4 -0
  52. package/dist/wu-context-constants.js.map +1 -1
  53. package/dist/wu-done-messages.d.ts.map +1 -1
  54. package/dist/wu-done-messages.js +7 -4
  55. package/dist/wu-done-messages.js.map +1 -1
  56. package/dist/wu-done-preflight-checks.d.ts.map +1 -1
  57. package/dist/wu-done-preflight-checks.js +3 -2
  58. package/dist/wu-done-preflight-checks.js.map +1 -1
  59. package/dist/wu-done-rebase.d.ts.map +1 -1
  60. package/dist/wu-done-rebase.js +21 -2
  61. package/dist/wu-done-rebase.js.map +1 -1
  62. package/dist/wu-paths-constants.d.ts +8 -0
  63. package/dist/wu-paths-constants.d.ts.map +1 -1
  64. package/dist/wu-paths-constants.js +12 -0
  65. package/dist/wu-paths-constants.js.map +1 -1
  66. package/dist/wu-spawn-skills.d.ts.map +1 -1
  67. package/dist/wu-spawn-skills.js +8 -6
  68. package/dist/wu-spawn-skills.js.map +1 -1
  69. package/package.json +6 -6
@@ -11,7 +11,7 @@
11
11
  * @see {@link https://lumenflow.dev/reference/agent-selection-guide/} - Agent selection rules
12
12
  */
13
13
  import { minimatch } from 'minimatch';
14
- import { MANDATORY_TRIGGERS } from './domain/orchestration.constants.js';
14
+ import { resolveMandatoryAgentNames, resolveMandatoryTriggers } from './schemas/agents-config.js';
15
15
  /**
16
16
  * Threshold for considering a WU "near completion".
17
17
  * WUs with DoD progress >= this value trigger code-reviewer suggestion.
@@ -26,12 +26,13 @@ const NEAR_COMPLETION_THRESHOLD = 8;
26
26
  * @param {readonly string[]} codePaths - Array of file paths being touched by the WU
27
27
  * @returns {MandatoryAgentName[]} Array of unique mandatory agent names that should be invoked
28
28
  */
29
- export function detectMandatoryAgents(codePaths) {
29
+ export function detectMandatoryAgents(codePaths, config) {
30
30
  if (codePaths.length === 0) {
31
31
  return [];
32
32
  }
33
33
  const triggeredAgents = new Set();
34
- for (const [agentName, patterns] of Object.entries(MANDATORY_TRIGGERS)) {
34
+ const mandatoryTriggers = resolveMandatoryTriggers(config);
35
+ for (const [agentName, patterns] of Object.entries(mandatoryTriggers)) {
35
36
  const isTriggered = codePaths.some((filePath) => patterns.some((pattern) => minimatch(filePath, pattern)));
36
37
  if (isTriggered) {
37
38
  triggeredAgents.add(agentName);
@@ -46,14 +47,14 @@ export function detectMandatoryAgents(codePaths) {
46
47
  * @param {object} _agentHistory - Record of agent metrics (reserved for future use)
47
48
  * @returns {object[]} Array of prioritised suggestions
48
49
  */
49
- export function generateSuggestions(wuProgress, _agentHistory = {}) {
50
+ export function generateSuggestions(wuProgress, _agentHistory = {}, config) {
50
51
  if (wuProgress.length === 0) {
51
52
  return [];
52
53
  }
53
54
  const suggestions = [];
54
55
  let suggestionCounter = 0;
55
56
  for (const wu of wuProgress) {
56
- const wuSuggestions = generateWUSuggestions(wu, () => ++suggestionCounter);
57
+ const wuSuggestions = generateWUSuggestions(wu, () => ++suggestionCounter, config);
57
58
  suggestions.push(...wuSuggestions);
58
59
  }
59
60
  // Sort by priority: high > medium > low
@@ -73,12 +74,12 @@ export function generateSuggestions(wuProgress, _agentHistory = {}) {
73
74
  * @param {function} nextId - Function to generate unique suggestion IDs
74
75
  * @returns {object[]} Array of suggestions for this WU
75
76
  */
76
- function generateWUSuggestions(wu, nextId) {
77
+ function generateWUSuggestions(wu, nextId, config) {
77
78
  const suggestions = [];
78
79
  // Check for pending mandatory agents (HIGH priority)
79
80
  // Note: For LumenFlow framework development, MANDATORY_TRIGGERS is empty.
80
81
  // Projects using LumenFlow can configure their own mandatory agents.
81
- const mandatoryAgentNames = Object.keys(MANDATORY_TRIGGERS);
82
+ const mandatoryAgentNames = resolveMandatoryAgentNames(config);
82
83
  for (const agentName of mandatoryAgentNames) {
83
84
  if (wu.agents[agentName] === 'pending') {
84
85
  suggestions.push({
@@ -184,8 +185,8 @@ export function buildMandatoryAgentsErrorMessage(wuId, missingAgents, codePaths)
184
185
  * @param {{ blocking: boolean }} options - Options including blocking mode flag
185
186
  * @returns {{ compliant: boolean, blocking: boolean, missing: string[], errorMessage?: string }}
186
187
  */
187
- export function checkMandatoryAgentsComplianceBlocking(codePaths, wuId, options) {
188
- const missingAgents = detectMandatoryAgents(codePaths);
188
+ export function checkMandatoryAgentsComplianceBlocking(codePaths, wuId, options, config) {
189
+ const missingAgents = detectMandatoryAgents(codePaths, config);
189
190
  if (missingAgents.length === 0) {
190
191
  return {
191
192
  compliant: true,
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-rules.js","sourceRoot":"","sources":["../src/orchestration-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestration-rules.js","sourceRoot":"","sources":["../src/orchestration-rules.ts"],"names":[],"mappings":"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"}
@@ -144,6 +144,24 @@ export declare const MonitorQualitySignalsConfigSchema: z.ZodObject<{
144
144
  grace_minutes: z.ZodDefault<z.ZodNumber>;
145
145
  }, z.core.$strip>;
146
146
  export type MonitorQualitySignalsConfig = z.infer<typeof MonitorQualitySignalsConfigSchema>;
147
+ export declare const MandatoryTriggersSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
148
+ export declare const MandatoryAgentsConfigSchema: z.ZodObject<{
149
+ names: z.ZodDefault<z.ZodArray<z.ZodString>>;
150
+ triggers: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>>;
151
+ }, z.core.$strip>;
152
+ export type MandatoryAgentsConfig = z.infer<typeof MandatoryAgentsConfigSchema>;
153
+ type AgentsConfigLike = {
154
+ agents?: {
155
+ roster?: unknown;
156
+ mandatory?: {
157
+ names?: unknown;
158
+ triggers?: unknown;
159
+ };
160
+ };
161
+ };
162
+ export declare function resolveAgentRoster(config?: AgentsConfigLike): string[];
163
+ export declare function resolveMandatoryAgentNames(config?: AgentsConfigLike): string[];
164
+ export declare function resolveMandatoryTriggers(config?: AgentsConfigLike): Record<string, string[]>;
147
165
  /**
148
166
  * Agents configuration
149
167
  */
@@ -176,6 +194,11 @@ export declare const AgentsConfigSchema: z.ZodObject<{
176
194
  }, z.core.$strict>>;
177
195
  }, z.core.$loose>>;
178
196
  }, z.core.$strip>>>;
197
+ roster: z.ZodDefault<z.ZodArray<z.ZodString>>;
198
+ mandatory: z.ZodDefault<z.ZodObject<{
199
+ names: z.ZodDefault<z.ZodArray<z.ZodString>>;
200
+ triggers: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>>;
201
+ }, z.core.$strip>>;
179
202
  methodology: z.ZodDefault<z.ZodObject<{
180
203
  enabled: z.ZodDefault<z.ZodBoolean>;
181
204
  enforcement: z.ZodDefault<z.ZodEnum<{
@@ -1 +1 @@
1
- {"version":3,"file":"agents-config.d.ts","sourceRoot":"","sources":["../../src/schemas/agents-config.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,iCAAiC,EACjC,KAAK,2BAA2B,EACjC,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,8BAA8B,UAQ1C,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;iBAYpC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;iBAM5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;iBAgB7B,CAAC;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,uBAAuB;;;;;iBA4BlC,CAAC;AAEH,6DAA6D;AAC7D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;iBAIjB,CAAC;AAEjB,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,CAAC;AAC7C,YAAY,EAAE,2BAA2B,EAAE,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0C7B,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B;;;iBAcrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iCAAiC;;;;iBAO5C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoB7B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"agents-config.d.ts","sourceRoot":"","sources":["../../src/schemas/agents-config.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,iCAAiC,EACjC,KAAK,2BAA2B,EACjC,MAAM,gCAAgC,CAAC;AAiBxC;;GAEG;AACH,eAAO,MAAM,8BAA8B,UAQ1C,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;iBAYpC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;iBAM5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;iBAgB7B,CAAC;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,uBAAuB;;;;;iBA4BlC,CAAC;AAEH,6DAA6D;AAC7D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;iBAIjB,CAAC;AAEjB,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,CAAC;AAC7C,YAAY,EAAE,2BAA2B,EAAE,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0C7B,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B;;;iBAcrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iCAAiC;;;;iBAO5C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAmB5F,eAAO,MAAM,uBAAuB,iEAEa,CAAC;AAElD,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,KAAK,gBAAgB,GAAG;IACtB,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE;YACV,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;SACpB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAMtE;AAED,wBAAgB,0BAA0B,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAO9E;AAED,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CA6B5F;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqD3B,CAAC;AAEL,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -11,6 +11,19 @@
11
11
  import { z } from 'zod';
12
12
  import { LUMENFLOW_CLIENT_IDS } from '../client-ids.js';
13
13
  import { DeliveryReviewClientFeatureSchema, } from '../delivery-review-contract.js';
14
+ // Keep these defaults aligned with the software-delivery pack orchestration defaults.
15
+ // config-parity.test.ts guards against cross-package drift.
16
+ const DEFAULT_AGENT_ROSTER = [
17
+ 'general-purpose',
18
+ 'lumenflow-pm',
19
+ 'test-engineer',
20
+ 'code-reviewer',
21
+ 'bug-triage',
22
+ 'lumenflow-enforcer',
23
+ 'initiative-architect',
24
+ ];
25
+ const DEFAULT_MANDATORY_AGENT_NAMES = [];
26
+ const DEFAULT_MANDATORY_TRIGGERS = {};
14
27
  /**
15
28
  * Methodology defaults (agent-facing project defaults)
16
29
  */
@@ -203,14 +216,77 @@ export const MonitorQualitySignalsConfigSchema = z.object({
203
216
  /** Grace window in minutes after claim before warnings fire. Default: 15. */
204
217
  grace_minutes: z.number().int().nonnegative().default(15),
205
218
  });
219
+ function cloneMandatoryTriggerDefaults() {
220
+ return Object.fromEntries(Object.entries(DEFAULT_MANDATORY_TRIGGERS).map(([agentName, patterns]) => [
221
+ agentName,
222
+ [...patterns],
223
+ ]));
224
+ }
225
+ function isStringArray(value) {
226
+ return Array.isArray(value) && value.every((item) => typeof item === 'string');
227
+ }
228
+ function uniqueStrings(values) {
229
+ return Array.from(new Set(values));
230
+ }
231
+ export const MandatoryTriggersSchema = z
232
+ .record(z.string(), z.array(z.string()))
233
+ .default(() => cloneMandatoryTriggerDefaults());
234
+ export const MandatoryAgentsConfigSchema = z.object({
235
+ names: z.array(z.string()).default([...DEFAULT_MANDATORY_AGENT_NAMES]),
236
+ triggers: MandatoryTriggersSchema.default(() => cloneMandatoryTriggerDefaults()),
237
+ });
238
+ export function resolveAgentRoster(config) {
239
+ const roster = config?.agents?.roster;
240
+ if (!isStringArray(roster) || roster.length === 0) {
241
+ return [...DEFAULT_AGENT_ROSTER];
242
+ }
243
+ return uniqueStrings(roster);
244
+ }
245
+ export function resolveMandatoryAgentNames(config) {
246
+ const roster = resolveAgentRoster(config);
247
+ const configuredNames = config?.agents?.mandatory?.names;
248
+ const names = isStringArray(configuredNames)
249
+ ? uniqueStrings(configuredNames)
250
+ : [...DEFAULT_MANDATORY_AGENT_NAMES];
251
+ return names.filter((name) => roster.includes(name));
252
+ }
253
+ export function resolveMandatoryTriggers(config) {
254
+ const mandatoryNames = new Set(resolveMandatoryAgentNames(config));
255
+ const configuredTriggers = config?.agents?.mandatory?.triggers;
256
+ const fallbackTriggers = Object.fromEntries(Object.entries(cloneMandatoryTriggerDefaults()).filter(([agentName]) => mandatoryNames.has(agentName)));
257
+ if (!configuredTriggers ||
258
+ typeof configuredTriggers !== 'object' ||
259
+ Array.isArray(configuredTriggers)) {
260
+ return fallbackTriggers;
261
+ }
262
+ const resolved = {};
263
+ for (const [agentName, patterns] of Object.entries(configuredTriggers)) {
264
+ if (!mandatoryNames.has(agentName) || !isStringArray(patterns)) {
265
+ continue;
266
+ }
267
+ resolved[agentName] = [...patterns];
268
+ }
269
+ return {
270
+ ...fallbackTriggers,
271
+ ...resolved,
272
+ };
273
+ }
206
274
  /**
207
275
  * Agents configuration
208
276
  */
209
- export const AgentsConfigSchema = z.object({
277
+ export const AgentsConfigSchema = z
278
+ .object({
210
279
  /** Default client to use if not specified (configure per project; bootstrap default: 'claude-code') */
211
280
  defaultClient: z.string().default(LUMENFLOW_CLIENT_IDS.CLAUDE_CODE),
212
281
  /** Client-specific configurations */
213
282
  clients: z.record(z.string(), ClientConfigSchema).default({}),
283
+ /** Recommended default roster for orchestration-aware agents */
284
+ roster: z
285
+ .array(z.string())
286
+ .min(1)
287
+ .default([...DEFAULT_AGENT_ROSTER]),
288
+ /** Mandatory agents and their trigger patterns */
289
+ mandatory: MandatoryAgentsConfigSchema.default(() => MandatoryAgentsConfigSchema.parse({})),
214
290
  /** Project methodology defaults (agent-facing) */
215
291
  methodology: MethodologyDefaultsSchema.default(() => MethodologyDefaultsSchema.parse({})),
216
292
  /**
@@ -222,5 +298,27 @@ export const AgentsConfigSchema = z.object({
222
298
  stream_watchdog: StreamWatchdogConfigSchema.optional(),
223
299
  /** WU-2667: Mid-execution quality signal policy. */
224
300
  monitor_quality_signals: MonitorQualitySignalsConfigSchema.optional(),
301
+ })
302
+ .superRefine((value, ctx) => {
303
+ const roster = new Set(value.roster);
304
+ for (const agentName of value.mandatory.names) {
305
+ if (!roster.has(agentName)) {
306
+ ctx.addIssue({
307
+ code: z.ZodIssueCode.custom,
308
+ path: ['mandatory', 'names'],
309
+ message: `Mandatory agent "${agentName}" must be present in agents.roster`,
310
+ });
311
+ }
312
+ }
313
+ const mandatoryNames = new Set(value.mandatory.names);
314
+ for (const agentName of Object.keys(value.mandatory.triggers)) {
315
+ if (!mandatoryNames.has(agentName)) {
316
+ ctx.addIssue({
317
+ code: z.ZodIssueCode.custom,
318
+ path: ['mandatory', 'triggers', agentName],
319
+ message: `Mandatory trigger "${agentName}" must also appear in agents.mandatory.names`,
320
+ });
321
+ }
322
+ }
225
323
  });
226
324
  //# sourceMappingURL=agents-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents-config.js","sourceRoot":"","sources":["../../src/schemas/agents-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents-config.js","sourceRoot":"","sources":["../../src/schemas/agents-config.ts"],"names":[],"mappings":"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"}
@@ -59,8 +59,8 @@ export const DirectoriesSchema = z.object({
59
59
  backlogPath: z.string().default(`${DEFAULT_LAYOUT.tasks}/backlog.md`),
60
60
  /** Status file path (default: docs-layout simple preset + '/status.md') */
61
61
  statusPath: z.string().default(`${DEFAULT_LAYOUT.tasks}/status.md`),
62
- /** Skills directory (default: '.claude/skills') */
63
- skillsDir: z.string().default('.claude/skills'),
62
+ /** Skills directory (default: '.lumenflow/skills') */
63
+ skillsDir: z.string().default('.lumenflow/skills'),
64
64
  /** Agents directory (default: '.claude/agents') */
65
65
  agentsDir: z.string().default('.claude/agents'),
66
66
  /** Architecture decisions directory (default: docs-layout simple preset adrDir) */
@@ -1 +1 @@
1
- {"version":3,"file":"directories-config.js","sourceRoot":"","sources":["../../src/schemas/directories-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directories-config.js","sourceRoot":"","sources":["../../src/schemas/directories-config.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  import type { ClientConfig } from './lumenflow-config-schema.js';
3
3
  import type { SpawnStrategy } from './spawn-strategy.js';
4
4
  import type { WUDoc } from './spawn-agent-guidance.js';
5
+ import { detectMandatoryAgents as detectMandatoryAgentsFromConfig } from './orchestration-rules.js';
5
6
  /**
6
7
  * Client context for spawn generation
7
8
  */
@@ -21,9 +22,9 @@ export declare function formatAcceptance(acceptance: string[] | undefined): stri
21
22
  */
22
23
  export declare function generateImplementationContext(doc: WUDoc): string;
23
24
  /**
24
- * Detect mandatory agents based on code paths.
25
+ * Detect mandatory agents based on resolved workspace config.
25
26
  */
26
- export declare function detectMandatoryAgents(codePaths: string[] | undefined): string[];
27
+ export declare function detectMandatoryAgents(codePaths: string[] | undefined, config?: Parameters<typeof detectMandatoryAgentsFromConfig>[1]): string[];
27
28
  /**
28
29
  * Generate the mandatory agents section
29
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-prompt-helpers.d.ts","sourceRoot":"","sources":["../src/spawn-prompt-helpers.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAqBvD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAkBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAKzE;AAoDD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CA2BhE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAkB/E;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAe5F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,CAE5E;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,CAM5F;AA2FD;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAqC7E"}
1
+ {"version":3,"file":"spawn-prompt-helpers.d.ts","sourceRoot":"","sources":["../src/spawn-prompt-helpers.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAE,qBAAqB,IAAI,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAmBpG;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAKzE;AAoDD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CA2BhE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAC/B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAAC,CAAC,CAAC,GAC7D,MAAM,EAAE,CAEV;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAe5F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,CAE5E;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,CAM5F;AA2FD;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAqC7E"}
@@ -20,17 +20,7 @@ import path from 'node:path';
20
20
  import { existsSync } from 'node:fs';
21
21
  import { minimatch } from 'minimatch';
22
22
  import { loadInvariants, INVARIANT_TYPES } from './invariants-runner.js';
23
- /**
24
- * Mandatory agent trigger patterns.
25
- * Mirrors MANDATORY_TRIGGERS from orchestration.constants.ts.
26
- *
27
- * Note: For LumenFlow framework development, this is empty since we don't have
28
- * application-specific concerns. Projects using LumenFlow
29
- * should configure their own triggers based on their domain requirements.
30
- */
31
- const MANDATORY_TRIGGERS = {
32
- // No mandatory triggers for LumenFlow framework development.
33
- };
23
+ import { detectMandatoryAgents as detectMandatoryAgentsFromConfig } from './orchestration-rules.js';
34
24
  // ============================================================================
35
25
  // Formatting Functions
36
26
  // ============================================================================
@@ -114,20 +104,10 @@ export function generateImplementationContext(doc) {
114
104
  return sections.join('\n\n---\n\n');
115
105
  }
116
106
  /**
117
- * Detect mandatory agents based on code paths.
107
+ * Detect mandatory agents based on resolved workspace config.
118
108
  */
119
- export function detectMandatoryAgents(codePaths) {
120
- if (!codePaths || codePaths.length === 0) {
121
- return [];
122
- }
123
- const triggeredAgents = new Set();
124
- for (const [agentName, patterns] of Object.entries(MANDATORY_TRIGGERS)) {
125
- const isTriggered = codePaths.some((filePath) => patterns.some((pattern) => minimatch(filePath, pattern)));
126
- if (isTriggered) {
127
- triggeredAgents.add(agentName);
128
- }
129
- }
130
- return Array.from(triggeredAgents);
109
+ export function detectMandatoryAgents(codePaths, config) {
110
+ return detectMandatoryAgentsFromConfig(codePaths ?? [], config);
131
111
  }
132
112
  /**
133
113
  * Generate the mandatory agents section
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-prompt-helpers.js","sourceRoot":"","sources":["../src/spawn-prompt-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn-prompt-helpers.js","sourceRoot":"","sources":["../src/spawn-prompt-helpers.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,13 @@ export declare class ClaudeCodeStrategy extends BaseSpawnStrategy {
31
31
  getPreamble(wuId: string): string;
32
32
  getSkillLoadingInstruction(): string;
33
33
  }
34
+ /**
35
+ * Strategy for Codex CLI
36
+ */
37
+ export declare class CodexStrategy extends BaseSpawnStrategy {
38
+ getPreamble(wuId: string): string;
39
+ getSkillLoadingInstruction(): string;
40
+ }
34
41
  /**
35
42
  * Strategy for Gemini CLI (Multimodal/Ecosystem)
36
43
  * Uses default getSkillLoadingInstruction from base class
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-strategy.d.ts","sourceRoot":"","sources":["../src/spawn-strategy.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAElC;;OAEG;IACH,0BAA0B,IAAI,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,uBAAe,iBAAkB,YAAW,aAAa;IACvD,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAc/C,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAE1C;;;OAGG;IACH,0BAA0B,IAAI,MAAM;CAMrC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAmBjC,0BAA0B,IAAI,MAAM;CAQrC;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CASlC;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAGlC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CA0BrE;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;CAEhC,CAAC"}
1
+ {"version":3,"file":"spawn-strategy.d.ts","sourceRoot":"","sources":["../src/spawn-strategy.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAElC;;OAEG;IACH,0BAA0B,IAAI,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,uBAAe,iBAAkB,YAAW,aAAa;IACvD,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAc/C,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAE1C;;;OAGG;IACH,0BAA0B,IAAI,MAAM;CAMrC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAmBjC,0BAA0B,IAAI,MAAM;CAQrC;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAajC,0BAA0B,IAAI,MAAM;CAiBrC;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CASlC;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAGlC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAmBrE;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;CAEhC,CAAC"}
@@ -28,7 +28,7 @@ class BaseSpawnStrategy {
28
28
  getSkillLoadingInstruction() {
29
29
  return `## Skills Selection
30
30
 
31
- 1. Check \`.lumenflow/agents\` for available skills.
31
+ 1. Check \`.lumenflow/skills\` for available skills.
32
32
  2. Select relevant skills for this task.`;
33
33
  }
34
34
  }
@@ -56,11 +56,38 @@ export class ClaudeCodeStrategy extends BaseSpawnStrategy {
56
56
  const agentsDir = getConfig().directories.agentsDir;
57
57
  return `## Skills Selection
58
58
 
59
- 1. Check \`.lumenflow/agents\` for available skills.
59
+ 1. Check \`.lumenflow/skills\` for available skills.
60
60
  2. Check \`${agentsDir}\` for Claude-specific overrides or additions.
61
61
  3. Select relevant skills for this task.`;
62
62
  }
63
63
  }
64
+ /**
65
+ * Strategy for Codex CLI
66
+ */
67
+ export class CodexStrategy extends BaseSpawnStrategy {
68
+ getPreamble(wuId) {
69
+ const config = getConfig();
70
+ const codexAgentsDir = config.agents.clients['codex-cli']?.agentsDir ??
71
+ config.agents.clients.codex?.agentsDir ??
72
+ '.codex/agents';
73
+ return (this.getCorePreamble(wuId) +
74
+ `\n6. Inspect ${codexAgentsDir}/ for Codex subagent inventory before delegating; Codex subagent invocation is explicit-only.`);
75
+ }
76
+ getSkillLoadingInstruction() {
77
+ const config = getConfig();
78
+ const codexSkillsDir = config.agents.clients['codex-cli']?.skillsDir ??
79
+ config.agents.clients.codex?.skillsDir ??
80
+ '.agents/skills';
81
+ const codexAgentsDir = config.agents.clients['codex-cli']?.agentsDir ??
82
+ config.agents.clients.codex?.agentsDir ??
83
+ '.codex/agents';
84
+ return `## Skills Selection
85
+
86
+ 1. Check \`${codexSkillsDir}\` for shared cross-vendor skills.
87
+ 2. Check \`${codexAgentsDir}\` for Codex-specific subagent overlays.
88
+ 3. Delegate to Codex subagents explicitly when needed; do not rely on auto-match by description.`;
89
+ }
90
+ }
64
91
  /**
65
92
  * Strategy for Gemini CLI (Multimodal/Ecosystem)
66
93
  * Uses default getSkillLoadingInstruction from base class
@@ -97,14 +124,7 @@ export function createSpawnStrategy(clientName) {
97
124
  return new GeminiCliStrategy();
98
125
  case 'codex': // Deprecated alias
99
126
  case 'codex-cli':
100
- // Codex might need its own strategy later (sandbox), but for now generic or claude-like?
101
- // Plan says: "codex: preamble: false, strategy: cloud-sandbox" -> implies Generic or dedicated.
102
- // For now, let's map to Generic but maybe we should add CodexStrategy if it has diff behavior.
103
- // Re-reading plan: "CodexStrategy: Emphasizes cloud sandbox constraints"
104
- // But for this "Minimal" pass, let's stick to Generic with a comment,
105
- // OR essentially treat it as Generic since we don't have constraints logic here yet (it's in wu-spawn).
106
- // Actually, let's return GenericStrategy but we might handle constraints elsewhere.
107
- return new GenericStrategy();
127
+ return new CodexStrategy();
108
128
  default:
109
129
  // Warn? The factory just creates. The caller should warn if it fell back.
110
130
  // But here we just return Generic.
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-strategy.js","sourceRoot":"","sources":["../src/spawn-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn-strategy.js","sourceRoot":"","sources":["../src/spawn-strategy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-task-builder.d.ts","sourceRoot":"","sources":["../src/spawn-task-builder.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAe/E,OAAO,EACL,KAAK,KAAK,EAaX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,aAAa,EAQnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMlE;;GAEG;AACH,UAAU,4BAA4B;IACpC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD,KAAK,aAAa,GAAG,KAAK,GAAG,UAAU,CAAC;AAuBxC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,KAAK,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,yBAAyB,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEnG,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;CACvB;AAgBD,wBAAgB,8BAA8B,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,MAAM,IAAI,CAM3F;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,KAAK,EACV,EAAE,EAAE,MAAM,EACV,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,YAAiB,GACzB,sBAAsB,CA2CxB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,KAAK,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,YAAiB,GACzB,MAAM,CAoOR;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,KAAK,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,YAAiB,GACzB,MAAM,CAkJR;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAMrE;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,4BAAiC,GACzC,MAAM,CAiBR"}
1
+ {"version":3,"file":"spawn-task-builder.d.ts","sourceRoot":"","sources":["../src/spawn-task-builder.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAe/E,OAAO,EACL,KAAK,KAAK,EAaX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,aAAa,EAOnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAOlE;;GAEG;AACH,UAAU,4BAA4B;IACpC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD,KAAK,aAAa,GAAG,KAAK,GAAG,UAAU,CAAC;AAuBxC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,KAAK,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,yBAAyB,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEnG,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;CACvB;AAgBD,wBAAgB,8BAA8B,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,MAAM,IAAI,CAM3F;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,KAAK,EACV,EAAE,EAAE,MAAM,EACV,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,YAAiB,GACzB,sBAAsB,CA2CxB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,KAAK,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,YAAiB,GACzB,MAAM,CAoOR;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,KAAK,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,YAAiB,GACzB,MAAM,CAkJR;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAMrE;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,4BAAiC,GACzC,MAAM,CAiBR"}
@@ -26,8 +26,9 @@ import { TRUNCATION_WARNING_BANNER } from './spawn-template-assembler.js';
26
26
  import { generatePolicyBasedTestGuidance, generateDesignContextSection, generateMandatoryStandards, generateEnforcementSummary, generateCodeCraftGuidance, generateReadBeforeWriteDiscipline, generateSelfReviewDirective, } from './spawn-guidance-generators.js';
27
27
  import { generateConstraints, generateCodexConstraints } from './spawn-constraints-generator.js';
28
28
  import { generateEffortScalingRules, generateParallelToolCallGuidance, generateIterativeSearchHeuristics, generateTokenBudgetAwareness, generateCompletionFormat, generateAgentCoordinationSection, generateQuickFixCommands, generateLaneSelectionSection, generateWorktreePathGuidance, generateBugDiscoverySection, generateLaneGuidance, generateActionSection, } from './spawn-agent-guidance.js';
29
- import { formatAcceptance, generateImplementationContext, detectMandatoryAgents, generateMandatoryAgentSection, generatePreamble, generateClientBlocksSection, generateInvariantsPriorArtSection, } from './spawn-prompt-helpers.js';
29
+ import { formatAcceptance, generateImplementationContext, generateMandatoryAgentSection, generatePreamble, generateClientBlocksSection, generateInvariantsPriorArtSection, } from './spawn-prompt-helpers.js';
30
30
  import { checkLaneLock } from './lane-lock.js';
31
+ import { detectMandatoryAgents } from './orchestration-rules.js';
31
32
  const DEFAULT_WORKTREES_DIR_SEGMENT = DIRECTORIES.WORKTREES.replace(/\/+$/g, '');
32
33
  const XML_CAPABLE_CLIENTS = new Set(['claude-code', 'claude']);
33
34
  const XML_HANDOFF_EXTENSION = 'xml';
@@ -116,11 +117,11 @@ export function renderHandoffForClient(doc, id, clientName, options = {}) {
116
117
  * @returns {string} Complete Task tool invocation
117
118
  */
118
119
  export function generateTaskInvocation(doc, id, strategy, options = {}) {
120
+ const config = options.config || getConfig();
119
121
  const codePaths = doc.code_paths || [];
120
- const mandatoryAgents = detectMandatoryAgents(codePaths);
122
+ const mandatoryAgents = detectMandatoryAgents(codePaths, config);
121
123
  const preamble = generatePreamble(id, strategy);
122
124
  const clientContext = options.client;
123
- const config = options.config || getConfig();
124
125
  const worktreesDirSegment = resolveWorktreesDirSegment(config);
125
126
  const worktreePathHint = resolveWorktreePathHint(doc, id, config);
126
127
  const mainRef = `${config.git.defaultRemote}/${config.git.mainBranch}`;
@@ -326,15 +327,15 @@ ${constraints}`;
326
327
  * @returns {string} Complete Codex prompt
327
328
  */
328
329
  export function generateCodexPrompt(doc, id, strategy, options = {}) {
330
+ const config = options.config || getConfig();
329
331
  const codePaths = doc.code_paths || [];
330
- const mandatoryAgents = detectMandatoryAgents(codePaths);
332
+ const mandatoryAgents = detectMandatoryAgents(codePaths, config);
331
333
  const preamble = generatePreamble(id, strategy);
332
334
  const mandatorySection = generateMandatoryAgentSection(mandatoryAgents, id);
333
335
  const laneGuidance = generateLaneGuidance(doc.lane);
334
336
  const bugDiscoverySection = generateBugDiscoverySection(id);
335
337
  const implementationContext = generateImplementationContext(doc);
336
338
  const clientContext = options.client;
337
- const config = options.config || getConfig();
338
339
  const classificationConfig = config?.methodology?.work_classification;
339
340
  const classification = classifyWork({
340
341
  code_paths: doc.code_paths,