@hongmaple0820/scale-engine 0.29.0 → 0.38.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 (152) hide show
  1. package/README.en.md +86 -374
  2. package/README.md +89 -547
  3. package/dist/api/cli.js +189 -12
  4. package/dist/api/cli.js.map +1 -1
  5. package/dist/api/doctor.d.ts +38 -3
  6. package/dist/api/doctor.js +269 -44
  7. package/dist/api/doctor.js.map +1 -1
  8. package/dist/api/mcp.js +2 -2
  9. package/dist/api/mcp.js.map +1 -1
  10. package/dist/api/quickstart.d.ts +34 -4
  11. package/dist/api/quickstart.js +90 -73
  12. package/dist/api/quickstart.js.map +1 -1
  13. package/dist/bootstrap/DependencyBootstrap.d.ts +89 -0
  14. package/dist/bootstrap/DependencyBootstrap.js +441 -0
  15. package/dist/bootstrap/DependencyBootstrap.js.map +1 -0
  16. package/dist/capabilities/InstalledSkillsIntegration.js +14 -6
  17. package/dist/capabilities/InstalledSkillsIntegration.js.map +1 -1
  18. package/dist/codegraph/CodeIntelligence.d.ts +12 -0
  19. package/dist/codegraph/CodeIntelligence.js +251 -30
  20. package/dist/codegraph/CodeIntelligence.js.map +1 -1
  21. package/dist/config/profiles.d.ts +12 -0
  22. package/dist/config/profiles.js +39 -4
  23. package/dist/config/profiles.js.map +1 -1
  24. package/dist/core/ExternalCommand.d.ts +9 -0
  25. package/dist/core/ExternalCommand.js +56 -0
  26. package/dist/core/ExternalCommand.js.map +1 -0
  27. package/dist/evolution/SessionLearnings.d.ts +70 -0
  28. package/dist/evolution/SessionLearnings.js +217 -0
  29. package/dist/evolution/SessionLearnings.js.map +1 -0
  30. package/dist/index.d.ts +1 -0
  31. package/dist/index.js +1 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/knowledge/CerebrumManager.d.ts +2 -2
  34. package/dist/knowledge/CerebrumManager.js.map +1 -1
  35. package/dist/knowledge/GraphifyKnowledgeBase.d.ts +38 -0
  36. package/dist/knowledge/GraphifyKnowledgeBase.js +409 -0
  37. package/dist/knowledge/GraphifyKnowledgeBase.js.map +1 -0
  38. package/dist/memory/MemoryFabric.js +1 -0
  39. package/dist/memory/MemoryFabric.js.map +1 -1
  40. package/dist/memory/MemoryIntelligence.d.ts +42 -0
  41. package/dist/memory/MemoryIntelligence.js +215 -0
  42. package/dist/memory/MemoryIntelligence.js.map +1 -0
  43. package/dist/memory/MemoryProviders.d.ts +22 -0
  44. package/dist/memory/MemoryProviders.js +138 -5
  45. package/dist/memory/MemoryProviders.js.map +1 -1
  46. package/dist/memory/index.d.ts +1 -0
  47. package/dist/memory/index.js +1 -0
  48. package/dist/memory/index.js.map +1 -1
  49. package/dist/runtime/AiOsRuntime.d.ts +101 -1
  50. package/dist/runtime/AiOsRuntime.js +464 -14
  51. package/dist/runtime/AiOsRuntime.js.map +1 -1
  52. package/dist/runtime/ExecutionLedger.d.ts +46 -0
  53. package/dist/runtime/ExecutionLedger.js +71 -0
  54. package/dist/runtime/ExecutionLedger.js.map +1 -0
  55. package/dist/runtime/index.d.ts +1 -0
  56. package/dist/runtime/index.js +1 -0
  57. package/dist/runtime/index.js.map +1 -1
  58. package/dist/skills/RoleSkills.d.ts +20 -0
  59. package/dist/skills/RoleSkills.js +154 -0
  60. package/dist/skills/RoleSkills.js.map +1 -0
  61. package/dist/skills/SkillDiscovery.d.ts +5 -0
  62. package/dist/skills/SkillDiscovery.js +15 -0
  63. package/dist/skills/SkillDiscovery.js.map +1 -1
  64. package/dist/skills/SkillFrontmatter.d.ts +28 -0
  65. package/dist/skills/SkillFrontmatter.js +152 -0
  66. package/dist/skills/SkillFrontmatter.js.map +1 -0
  67. package/dist/skills/SkillRegistry.d.ts +11 -0
  68. package/dist/skills/SkillRegistry.js +12 -0
  69. package/dist/skills/SkillRegistry.js.map +1 -1
  70. package/dist/skills/SkillRepository.js +5 -5
  71. package/dist/skills/SkillRepository.js.map +1 -1
  72. package/dist/skills/index.d.ts +1 -0
  73. package/dist/skills/index.js +1 -0
  74. package/dist/skills/index.js.map +1 -1
  75. package/dist/skills/routing/SkillPolicy.js +2 -2
  76. package/dist/skills/routing/SkillPolicy.js.map +1 -1
  77. package/dist/testing/DiffTestSelector.d.ts +22 -0
  78. package/dist/testing/DiffTestSelector.js +114 -0
  79. package/dist/testing/DiffTestSelector.js.map +1 -0
  80. package/dist/testing/index.d.ts +1 -0
  81. package/dist/testing/index.js +3 -0
  82. package/dist/testing/index.js.map +1 -0
  83. package/dist/tools/RtkRuntime.d.ts +9 -0
  84. package/dist/tools/RtkRuntime.js +43 -0
  85. package/dist/tools/RtkRuntime.js.map +1 -0
  86. package/dist/tools/ToolCapabilityRegistry.d.ts +1 -0
  87. package/dist/tools/ToolCapabilityRegistry.js +68 -11
  88. package/dist/tools/ToolCapabilityRegistry.js.map +1 -1
  89. package/dist/tools/ToolOrchestrator.js +6 -4
  90. package/dist/tools/ToolOrchestrator.js.map +1 -1
  91. package/dist/tools/ToolPolicy.js +16 -1
  92. package/dist/tools/ToolPolicy.js.map +1 -1
  93. package/dist/workflow/AdaptiveWorkflowRouter.d.ts +38 -0
  94. package/dist/workflow/AdaptiveWorkflowRouter.js +214 -0
  95. package/dist/workflow/AdaptiveWorkflowRouter.js.map +1 -0
  96. package/dist/workflow/CommitDiscipline.d.ts +68 -0
  97. package/dist/workflow/CommitDiscipline.js +327 -0
  98. package/dist/workflow/CommitDiscipline.js.map +1 -0
  99. package/dist/workflow/CrossRepoOrchestrator.d.ts +92 -0
  100. package/dist/workflow/CrossRepoOrchestrator.js +400 -0
  101. package/dist/workflow/CrossRepoOrchestrator.js.map +1 -0
  102. package/dist/workflow/EvolutionShadowPromoter.d.ts +46 -0
  103. package/dist/workflow/EvolutionShadowPromoter.js +73 -0
  104. package/dist/workflow/EvolutionShadowPromoter.js.map +1 -0
  105. package/dist/workflow/GovernanceRoi.d.ts +52 -0
  106. package/dist/workflow/GovernanceRoi.js +204 -0
  107. package/dist/workflow/GovernanceRoi.js.map +1 -0
  108. package/dist/workflow/GovernanceTemplates.js +2 -2
  109. package/dist/workflow/McpGovernance.d.ts +63 -0
  110. package/dist/workflow/McpGovernance.js +198 -0
  111. package/dist/workflow/McpGovernance.js.map +1 -0
  112. package/dist/workflow/ReviewAnalyzer.d.ts +15 -0
  113. package/dist/workflow/ReviewAnalyzer.js +82 -0
  114. package/dist/workflow/ReviewAnalyzer.js.map +1 -1
  115. package/dist/workflow/SecurityAudit.d.ts +27 -0
  116. package/dist/workflow/SecurityAudit.js +294 -0
  117. package/dist/workflow/SecurityAudit.js.map +1 -0
  118. package/dist/workflow/SessionCoordinator.d.ts +103 -0
  119. package/dist/workflow/SessionCoordinator.js +401 -0
  120. package/dist/workflow/SessionCoordinator.js.map +1 -0
  121. package/dist/workflow/SessionPreamble.d.ts +19 -0
  122. package/dist/workflow/SessionPreamble.js +125 -0
  123. package/dist/workflow/SessionPreamble.js.map +1 -0
  124. package/dist/workflow/ShipPipeline.d.ts +30 -0
  125. package/dist/workflow/ShipPipeline.js +366 -0
  126. package/dist/workflow/ShipPipeline.js.map +1 -0
  127. package/dist/workflow/TaskDependencyGraph.d.ts +73 -0
  128. package/dist/workflow/TaskDependencyGraph.js +245 -0
  129. package/dist/workflow/TaskDependencyGraph.js.map +1 -0
  130. package/dist/workflow/WorkflowGuidance.d.ts +5 -1
  131. package/dist/workflow/WorkflowGuidance.js +31 -0
  132. package/dist/workflow/WorkflowGuidance.js.map +1 -1
  133. package/dist/workflow/WorkflowTemplates.d.ts +38 -0
  134. package/dist/workflow/WorkflowTemplates.js +371 -0
  135. package/dist/workflow/WorkflowTemplates.js.map +1 -0
  136. package/dist/workflow/WorkspacePolicy.d.ts +46 -0
  137. package/dist/workflow/WorkspacePolicy.js +141 -0
  138. package/dist/workflow/WorkspacePolicy.js.map +1 -0
  139. package/dist/workflow/gates/GateSystem.js +12 -9
  140. package/dist/workflow/gates/GateSystem.js.map +1 -1
  141. package/dist/workflow/index.d.ts +12 -0
  142. package/dist/workflow/index.js +12 -0
  143. package/dist/workflow/index.js.map +1 -1
  144. package/docs/AI_ENGINEERING_OS_POSITIONING.md +9 -0
  145. package/docs/CODE_INTELLIGENCE.md +22 -5
  146. package/docs/CONTEXT_BUDGET.md +1 -1
  147. package/docs/EXTERNAL_REFERENCES.md +5 -2
  148. package/docs/MEMORY_FABRIC.md +7 -3
  149. package/docs/SKILL-REPOSITORY.md +3 -3
  150. package/docs/start/quickstart.md +11 -0
  151. package/docs/workflow/templates/skill-plan.md +1 -1
  152. package/package.json +3 -2
@@ -0,0 +1,245 @@
1
+ // SCALE Engine — Task Dependency Graph (v0.36.0)
2
+ // Dependency declaration, topological sort, cycle detection for parallel task coordination
3
+ export class TaskDependencyGraph {
4
+ constructor(options = {}) {
5
+ this.nodes = new Map();
6
+ this.edges = [];
7
+ this.maxTasks = options.maxTasks ?? 100;
8
+ }
9
+ addTask(task) {
10
+ if (this.nodes.size >= this.maxTasks && !this.nodes.has(task.taskId)) {
11
+ throw new Error(`Task graph capacity (${this.maxTasks}) reached`);
12
+ }
13
+ this.nodes.set(task.taskId, task);
14
+ }
15
+ removeTask(taskId) {
16
+ this.nodes.delete(taskId);
17
+ this.edges = this.edges.filter(e => e.from !== taskId && e.to !== taskId);
18
+ }
19
+ addDependency(edge) {
20
+ if (!this.nodes.has(edge.from)) {
21
+ return { ok: false, error: `Source task "${edge.from}" not found` };
22
+ }
23
+ if (!this.nodes.has(edge.to)) {
24
+ return { ok: false, error: `Target task "${edge.to}" not found` };
25
+ }
26
+ if (edge.from === edge.to) {
27
+ return { ok: false, error: 'Self-dependency is not allowed' };
28
+ }
29
+ // Check for duplicate
30
+ const exists = this.edges.some(e => e.from === edge.from && e.to === edge.to);
31
+ if (exists)
32
+ return { ok: true };
33
+ // Check if adding this edge creates a cycle
34
+ const cycle = this.detectCycleWithEdge(edge);
35
+ if (cycle) {
36
+ return { ok: false, error: `Dependency creates cycle: ${cycle.join(' → ')}` };
37
+ }
38
+ this.edges.push(edge);
39
+ return { ok: true };
40
+ }
41
+ getTask(taskId) {
42
+ return this.nodes.get(taskId);
43
+ }
44
+ updateTaskStatus(taskId, status) {
45
+ const node = this.nodes.get(taskId);
46
+ if (!node)
47
+ return;
48
+ node.status = status;
49
+ if (status === 'done' || status === 'failed') {
50
+ node.completedAt = new Date().toISOString();
51
+ }
52
+ }
53
+ getDependencies(taskId) {
54
+ return this.edges.filter(e => e.to === taskId);
55
+ }
56
+ getDependents(taskId) {
57
+ return this.edges.filter(e => e.from === taskId);
58
+ }
59
+ getBlockedTasks() {
60
+ const blocked = [];
61
+ for (const [taskId, node] of this.nodes) {
62
+ if (node.status === 'done' || node.status === 'failed')
63
+ continue;
64
+ const deps = this.getDependencies(taskId);
65
+ const waitingFor = [];
66
+ const reason = [];
67
+ for (const dep of deps) {
68
+ const depNode = this.nodes.get(dep.from);
69
+ if (depNode && depNode.status !== 'done') {
70
+ waitingFor.push(dep.from);
71
+ reason.push(`${dep.from} (${depNode.status}): ${dep.reason}`);
72
+ }
73
+ }
74
+ if (waitingFor.length > 0) {
75
+ blocked.push({ taskId, waitingFor, reason });
76
+ }
77
+ }
78
+ return blocked;
79
+ }
80
+ getReadyTasks() {
81
+ const ready = [];
82
+ for (const [taskId, node] of this.nodes) {
83
+ if (node.status !== 'planned')
84
+ continue;
85
+ const deps = this.getDependencies(taskId);
86
+ const allMet = deps.every(dep => {
87
+ const depNode = this.nodes.get(dep.from);
88
+ return depNode?.status === 'done';
89
+ });
90
+ if (allMet)
91
+ ready.push(taskId);
92
+ }
93
+ return ready;
94
+ }
95
+ topologicalSort() {
96
+ const ids = [...this.nodes.keys()];
97
+ const inDegree = new Map();
98
+ const adjList = new Map();
99
+ for (const id of ids) {
100
+ inDegree.set(id, 0);
101
+ adjList.set(id, []);
102
+ }
103
+ for (const edge of this.edges) {
104
+ adjList.get(edge.from).push(edge.to);
105
+ inDegree.set(edge.to, (inDegree.get(edge.to) ?? 0) + 1);
106
+ }
107
+ // Kahn's algorithm with level tracking
108
+ const queue = [];
109
+ for (const [id, deg] of inDegree) {
110
+ if (deg === 0)
111
+ queue.push(id);
112
+ }
113
+ const order = [];
114
+ const levels = [];
115
+ while (queue.length > 0) {
116
+ const levelSize = queue.length;
117
+ const currentLevel = [];
118
+ for (let i = 0; i < levelSize; i++) {
119
+ const current = queue.shift();
120
+ currentLevel.push(current);
121
+ order.push(current);
122
+ for (const neighbor of adjList.get(current) ?? []) {
123
+ const newDeg = inDegree.get(neighbor) - 1;
124
+ inDegree.set(neighbor, newDeg);
125
+ if (newDeg === 0)
126
+ queue.push(neighbor);
127
+ }
128
+ }
129
+ levels.push(currentLevel);
130
+ }
131
+ if (order.length !== ids.length) {
132
+ // Find the cycle
133
+ const cycle = this.findCycle();
134
+ return { order, levels, hasCycle: true, cyclePath: cycle ?? undefined };
135
+ }
136
+ return { order, levels, hasCycle: false };
137
+ }
138
+ summarize() {
139
+ const nodes = [...this.nodes.values()];
140
+ const totalTasks = nodes.length;
141
+ const completedTasks = nodes.filter(n => n.status === 'done').length;
142
+ const activeTasks = nodes.filter(n => n.status === 'active').length;
143
+ const blockedTasks = this.getBlockedTasks().length;
144
+ const readyTasks = this.getReadyTasks();
145
+ const longestPath = this.computeLongestPath();
146
+ return {
147
+ totalTasks,
148
+ totalEdges: this.edges.length,
149
+ completedTasks,
150
+ activeTasks,
151
+ blockedTasks,
152
+ readyTasks,
153
+ longestPath,
154
+ };
155
+ }
156
+ listTasks() {
157
+ return [...this.nodes.values()];
158
+ }
159
+ listEdges() {
160
+ return [...this.edges];
161
+ }
162
+ toJSON() {
163
+ return { nodes: this.listTasks(), edges: this.listEdges() };
164
+ }
165
+ static fromJSON(data) {
166
+ const graph = new TaskDependencyGraph({ maxTasks: data.nodes.length + 50 });
167
+ for (const node of data.nodes)
168
+ graph.addTask(node);
169
+ for (const edge of data.edges)
170
+ graph.addDependency(edge);
171
+ return graph;
172
+ }
173
+ // --- Private ---
174
+ detectCycleWithEdge(newEdge) {
175
+ this.edges.push(newEdge);
176
+ const cycle = this.findCycle();
177
+ this.edges.pop();
178
+ return cycle;
179
+ }
180
+ findCycle() {
181
+ const visited = new Set();
182
+ const inStack = new Set();
183
+ const parent = new Map();
184
+ const adjList = new Map();
185
+ for (const id of this.nodes.keys())
186
+ adjList.set(id, []);
187
+ for (const edge of this.edges)
188
+ adjList.get(edge.from)?.push(edge.to);
189
+ for (const start of this.nodes.keys()) {
190
+ if (visited.has(start))
191
+ continue;
192
+ const result = this.dfsCycle(start, visited, inStack, parent, adjList);
193
+ if (result)
194
+ return result;
195
+ }
196
+ return null;
197
+ }
198
+ dfsCycle(current, visited, inStack, parent, adjList) {
199
+ visited.add(current);
200
+ inStack.add(current);
201
+ for (const neighbor of adjList.get(current) ?? []) {
202
+ if (!visited.has(neighbor)) {
203
+ parent.set(neighbor, current);
204
+ const result = this.dfsCycle(neighbor, visited, inStack, parent, adjList);
205
+ if (result)
206
+ return result;
207
+ }
208
+ else if (inStack.has(neighbor)) {
209
+ // Reconstruct cycle
210
+ const cycle = [neighbor, current];
211
+ let node = current;
212
+ while (node !== neighbor) {
213
+ node = parent.get(node);
214
+ cycle.push(node);
215
+ }
216
+ return cycle.reverse();
217
+ }
218
+ }
219
+ inStack.delete(current);
220
+ return null;
221
+ }
222
+ computeLongestPath() {
223
+ const topo = this.topologicalSort();
224
+ if (topo.hasCycle)
225
+ return -1;
226
+ const dist = new Map();
227
+ for (const id of this.nodes.keys())
228
+ dist.set(id, 0);
229
+ const adjList = new Map();
230
+ for (const id of this.nodes.keys())
231
+ adjList.set(id, []);
232
+ for (const edge of this.edges)
233
+ adjList.get(edge.from)?.push(edge.to);
234
+ for (const node of topo.order) {
235
+ for (const neighbor of adjList.get(node) ?? []) {
236
+ dist.set(neighbor, Math.max(dist.get(neighbor), dist.get(node) + 1));
237
+ }
238
+ }
239
+ let max = 0;
240
+ for (const d of dist.values())
241
+ max = Math.max(max, d);
242
+ return max;
243
+ }
244
+ }
245
+ //# sourceMappingURL=TaskDependencyGraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskDependencyGraph.js","sourceRoot":"","sources":["../../src/workflow/TaskDependencyGraph.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,2FAA2F;AAgD3F,MAAM,OAAO,mBAAmB;IAK9B,YAAY,UAAsC,EAAE;QAJ5C,UAAK,GAAG,IAAI,GAAG,EAAoB,CAAA;QACnC,UAAK,GAAqB,EAAE,CAAA;QAIlC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAA;IACzC,CAAC;IAED,OAAO,CAAC,IAAc;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,QAAQ,WAAW,CAAC,CAAA;QACnE,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;IAC3E,CAAC;IAED,aAAa,CAAC,IAAoB;QAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,IAAI,CAAC,IAAI,aAAa,EAAE,CAAA;QACrE,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,IAAI,CAAC,EAAE,aAAa,EAAE,CAAA;QACnE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAA;QAC/D,CAAC;QAED,sBAAsB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7E,IAAI,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QAE/B,4CAA4C;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAA;QAC/E,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IACrB,CAAC;IAED,OAAO,CAAC,MAAc;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,MAA0B;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,eAAe,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;IAChD,CAAC;IAED,aAAa,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;IAClD,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAkB,EAAE,CAAA;QACjC,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,SAAQ;YAEhE,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YACzC,MAAM,UAAU,GAAa,EAAE,CAAA;YAC/B,MAAM,MAAM,GAAa,EAAE,CAAA;YAE3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACxC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACzC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACzB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;gBAC/D,CAAC;YACH,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,aAAa;QACX,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBAAE,SAAQ;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACxC,OAAO,OAAO,EAAE,MAAM,KAAK,MAAM,CAAA;YACnC,CAAC,CAAC,CAAA;YACF,IAAI,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,eAAe;QACb,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;QAE3C,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;YACnB,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACrB,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACrC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACzD,CAAC;QAED,uCAAuC;QACvC,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;YACjC,IAAI,GAAG,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/B,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,MAAM,MAAM,GAAe,EAAE,CAAA;QAE7B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAA;YAC9B,MAAM,YAAY,GAAa,EAAE,CAAA;YAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAA;gBAC9B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAEnB,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAE,GAAG,CAAC,CAAA;oBAC1C,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;oBAC9B,IAAI,MAAM,KAAK,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACxC,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC3B,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;YAChC,iBAAiB;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,IAAI,SAAS,EAAE,CAAA;QACzE,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;IAC3C,CAAC;IAED,SAAS;QACP,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAA;QAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAA;QACpE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAA;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAA;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAE7C,OAAO;YACL,UAAU;YACV,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YAC7B,cAAc;YACd,WAAW;YACX,YAAY;YACZ,UAAU;YACV,WAAW;SACZ,CAAA;IACH,CAAC;IAED,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACjC,CAAC;IAED,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAA;IAC7D,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAoD;QAClE,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAA;QAC3E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;YAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;YAAE,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QACxD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,kBAAkB;IAEV,mBAAmB,CAAC,OAAuB;QACjD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAChB,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,SAAS;QACf,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;QACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;QAExC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC3C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACvD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEpE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAQ;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YACtE,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;QAC3B,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,QAAQ,CACd,OAAe,EACf,OAAoB,EACpB,OAAoB,EACpB,MAA2B,EAC3B,OAA8B;QAE9B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACpB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAEpB,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;gBACzE,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAA;YAC3B,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,oBAAoB;gBACpB,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBACjC,IAAI,IAAI,GAAG,OAAO,CAAA;gBAClB,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACzB,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;oBACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAClB,CAAC;gBACD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAA;YACxB,CAAC;QACH,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,kBAAkB;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QACnC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,CAAA;QAE5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAA;QACtC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAEnD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC3C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACvD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEpE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC/C,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,CAAC,CAAC,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;QAED,IAAI,GAAG,GAAG,CAAC,CAAA;QACX,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACrD,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"}
@@ -1,11 +1,13 @@
1
1
  import type { WorkflowTaskLevel } from './WorkflowArtifactWriter.js';
2
- export type WorkflowGuidancePhase = 'explore' | 'plan' | 'build' | 'verify';
2
+ import type { SkillRole } from '../skills/RoleSkills.js';
3
+ export type WorkflowGuidancePhase = 'explore' | 'plan' | 'build' | 'verify' | 'review' | 'ship';
3
4
  export interface WorkflowGuidanceItem {
4
5
  id: string;
5
6
  phase: WorkflowGuidancePhase;
6
7
  required: boolean;
7
8
  reason: string;
8
9
  command: string;
10
+ role?: SkillRole;
9
11
  }
10
12
  export interface WorkflowGuidance {
11
13
  taskId: string;
@@ -24,3 +26,5 @@ export interface WorkflowGuidanceInput {
24
26
  }
25
27
  export declare function createWorkflowGuidance(input: WorkflowGuidanceInput): WorkflowGuidance;
26
28
  export declare function renderWorkflowGuidance(guidance: WorkflowGuidance): string;
29
+ export declare function getRoleGuidanceForPhase(phase: WorkflowGuidancePhase): SkillRole[];
30
+ export declare function createRoleGuidanceItem(role: SkillRole, phase: WorkflowGuidancePhase, taskId: string, description: string): WorkflowGuidanceItem;
@@ -170,4 +170,35 @@ function quoteArg(value) {
170
170
  return value;
171
171
  return `"${value.replace(/(["\\$`])/g, '\\$1')}"`;
172
172
  }
173
+ // ============================================================================
174
+ // Role-Based Guidance
175
+ // ============================================================================
176
+ export function getRoleGuidanceForPhase(phase) {
177
+ switch (phase) {
178
+ case 'explore':
179
+ return ['eng-manager'];
180
+ case 'plan':
181
+ return ['ceo-reviewer', 'eng-manager'];
182
+ case 'build':
183
+ return [];
184
+ case 'verify':
185
+ return ['qa-lead', 'security-reviewer'];
186
+ case 'review':
187
+ return ['eng-manager', 'security-reviewer'];
188
+ case 'ship':
189
+ return ['release-engineer'];
190
+ default:
191
+ return [];
192
+ }
193
+ }
194
+ export function createRoleGuidanceItem(role, phase, taskId, description) {
195
+ return {
196
+ id: `role-${role}`,
197
+ phase,
198
+ required: phase === 'review' || phase === 'verify',
199
+ reason: `${role} perspective ensures multi-angle review coverage.`,
200
+ command: `scale review --role ${role} --task-id ${taskId}`,
201
+ role,
202
+ };
203
+ }
173
204
  //# sourceMappingURL=WorkflowGuidance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowGuidance.js","sourceRoot":"","sources":["../../src/workflow/WorkflowGuidance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowGuidance.js","sourceRoot":"","sources":["../../src/workflow/WorkflowGuidance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { WorkflowProfile } from './AdaptiveWorkflowRouter.js';
2
+ export type TemplateStepType = 'explore' | 'plan' | 'build' | 'verify' | 'review' | 'ship';
3
+ export type TemplateRiskLevel = 'low' | 'medium' | 'high' | 'critical';
4
+ export interface WorkflowStepTemplate {
5
+ id: string;
6
+ type: TemplateStepType;
7
+ name: string;
8
+ description: string;
9
+ required: boolean;
10
+ riskLevel: TemplateRiskLevel;
11
+ estimatedDuration: string;
12
+ evidenceRequired: string[];
13
+ tools: string[];
14
+ skipConditions?: string[];
15
+ }
16
+ export interface WorkflowTemplate {
17
+ id: string;
18
+ name: string;
19
+ description: string;
20
+ profile: WorkflowProfile;
21
+ riskLevel: TemplateRiskLevel;
22
+ steps: WorkflowStepTemplate[];
23
+ exitCriteria: string[];
24
+ tags: string[];
25
+ }
26
+ export interface WorkflowTemplateInput {
27
+ profile: WorkflowProfile;
28
+ task: string;
29
+ level: string;
30
+ files?: string[];
31
+ riskFactors?: string[];
32
+ }
33
+ export declare const WORKFLOW_TEMPLATES: Record<string, WorkflowTemplate>;
34
+ export declare function selectTemplate(input: WorkflowTemplateInput): WorkflowTemplate;
35
+ export declare function customizeTemplate(template: WorkflowTemplate, overrides: Partial<WorkflowTemplate>): WorkflowTemplate;
36
+ export declare function listTemplates(): WorkflowTemplate[];
37
+ export declare function getTemplateSteps(templateId: string): WorkflowStepTemplate[];
38
+ export declare function formatTemplateForAgent(template: WorkflowTemplate): string;