@hongmaple0820/scale-engine 0.49.0 → 0.50.1

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 (190) hide show
  1. package/README.en.md +2 -2
  2. package/README.md +2 -2
  3. package/dist/api/DashboardHttpConfig.d.ts +28 -0
  4. package/dist/api/DashboardHttpConfig.js +110 -0
  5. package/dist/api/DashboardHttpConfig.js.map +1 -0
  6. package/dist/api/cli.js +102 -11
  7. package/dist/api/cli.js.map +1 -1
  8. package/dist/api/http.d.ts +1 -0
  9. package/dist/api/http.js +50 -0
  10. package/dist/api/http.js.map +1 -0
  11. package/dist/artifact/types.d.ts +5 -0
  12. package/dist/artifact/types.js.map +1 -1
  13. package/dist/bootstrap/DependencyBootstrap.d.ts +1 -0
  14. package/dist/bootstrap/DependencyBootstrap.js +14 -3
  15. package/dist/bootstrap/DependencyBootstrap.js.map +1 -1
  16. package/dist/cli/cortexApplyCommand.d.ts +26 -0
  17. package/dist/cli/cortexApplyCommand.js +74 -0
  18. package/dist/cli/cortexApplyCommand.js.map +1 -0
  19. package/dist/cli/cortexCandidateCommands.d.ts +42 -0
  20. package/dist/cli/cortexCandidateCommands.js +119 -0
  21. package/dist/cli/cortexCandidateCommands.js.map +1 -0
  22. package/dist/cli/cortexCommands.d.ts +15 -0
  23. package/dist/cli/cortexCommands.js +57 -15
  24. package/dist/cli/cortexCommands.js.map +1 -1
  25. package/dist/cli/engineBootstrap.d.ts +1 -1
  26. package/dist/cli/engineBootstrap.js +2 -0
  27. package/dist/cli/engineBootstrap.js.map +1 -1
  28. package/dist/cli/evalCommands.js +1 -0
  29. package/dist/cli/evalCommands.js.map +1 -1
  30. package/dist/cli/phaseCommands.d.ts +28 -0
  31. package/dist/cli/phaseCommands.js +148 -9
  32. package/dist/cli/phaseCommands.js.map +1 -1
  33. package/dist/cli/runtimeSkillCommands.js +12 -2
  34. package/dist/cli/runtimeSkillCommands.js.map +1 -1
  35. package/dist/cli/shieldCommands.d.ts +1 -0
  36. package/dist/cli/shieldCommands.js +20 -7
  37. package/dist/cli/shieldCommands.js.map +1 -1
  38. package/dist/cli/workflowEvidenceCommands.d.ts +120 -0
  39. package/dist/cli/workflowEvidenceCommands.js +228 -2
  40. package/dist/cli/workflowEvidenceCommands.js.map +1 -1
  41. package/dist/cortex/AutoFixEventObservations.d.ts +11 -0
  42. package/dist/cortex/AutoFixEventObservations.js +72 -0
  43. package/dist/cortex/AutoFixEventObservations.js.map +1 -0
  44. package/dist/cortex/GateEvidenceObservations.d.ts +22 -0
  45. package/dist/cortex/GateEvidenceObservations.js +179 -0
  46. package/dist/cortex/GateEvidenceObservations.js.map +1 -0
  47. package/dist/cortex/GovernanceMetrics.d.ts +2 -0
  48. package/dist/cortex/GovernanceMetrics.js +112 -22
  49. package/dist/cortex/GovernanceMetrics.js.map +1 -1
  50. package/dist/cortex/InstinctApplicationRecorder.d.ts +28 -0
  51. package/dist/cortex/InstinctApplicationRecorder.js +145 -0
  52. package/dist/cortex/InstinctApplicationRecorder.js.map +1 -0
  53. package/dist/cortex/InstinctCandidateAudit.d.ts +3 -0
  54. package/dist/cortex/InstinctCandidateAudit.js +39 -0
  55. package/dist/cortex/InstinctCandidateAudit.js.map +1 -0
  56. package/dist/cortex/InstinctCandidateReview.d.ts +32 -0
  57. package/dist/cortex/InstinctCandidateReview.js +125 -0
  58. package/dist/cortex/InstinctCandidateReview.js.map +1 -0
  59. package/dist/cortex/InstinctExtractor.d.ts +1 -0
  60. package/dist/cortex/InstinctExtractor.js +24 -17
  61. package/dist/cortex/InstinctExtractor.js.map +1 -1
  62. package/dist/cortex/InstinctRuntimeEvidence.d.ts +14 -0
  63. package/dist/cortex/InstinctRuntimeEvidence.js +120 -0
  64. package/dist/cortex/InstinctRuntimeEvidence.js.map +1 -0
  65. package/dist/cortex/InstinctStore.d.ts +18 -3
  66. package/dist/cortex/InstinctStore.js +30 -9
  67. package/dist/cortex/InstinctStore.js.map +1 -1
  68. package/dist/cortex/SessionInjector.d.ts +1 -0
  69. package/dist/cortex/SessionInjector.js +15 -2
  70. package/dist/cortex/SessionInjector.js.map +1 -1
  71. package/dist/dashboard/DashboardServer.d.ts +79 -0
  72. package/dist/dashboard/DashboardServer.js +330 -6
  73. package/dist/dashboard/DashboardServer.js.map +1 -1
  74. package/dist/dashboard/spa/app.js +515 -0
  75. package/dist/dashboard/spa/components/DataTable.js +53 -0
  76. package/dist/dashboard/spa/components/EventStream.js +66 -0
  77. package/dist/dashboard/spa/components/LoadingState.js +39 -0
  78. package/dist/dashboard/spa/components/MetricCard.js +30 -0
  79. package/dist/dashboard/spa/components/Panel.js +27 -0
  80. package/dist/dashboard/spa/components/StatusBadge.js +51 -0
  81. package/dist/dashboard/spa/i18n.js +767 -0
  82. package/dist/dashboard/spa/index.html +463 -0
  83. package/dist/dashboard/spa/pages/costs.js +522 -0
  84. package/dist/dashboard/spa/pages/documents.js +540 -0
  85. package/dist/dashboard/spa/pages/knowledge.js +457 -0
  86. package/dist/dashboard/spa/pages/monitoring.js +361 -0
  87. package/dist/dashboard/spa/pages/overview.js +301 -0
  88. package/dist/dashboard/spa/pages/topology-renderers.js +251 -0
  89. package/dist/dashboard/spa/pages/topology.js +370 -0
  90. package/dist/dashboard/spa/pages/workflow-renderers.js +239 -0
  91. package/dist/dashboard/spa/pages/workflow.js +217 -0
  92. package/dist/env/EnvironmentDoctor.js +12 -7
  93. package/dist/env/EnvironmentDoctor.js.map +1 -1
  94. package/dist/eval/WorkflowEval.d.ts +9 -0
  95. package/dist/eval/WorkflowEval.js +348 -2
  96. package/dist/eval/WorkflowEval.js.map +1 -1
  97. package/dist/memory/MemoryBrain.d.ts +13 -0
  98. package/dist/memory/MemoryBrain.js +47 -0
  99. package/dist/memory/MemoryBrain.js.map +1 -1
  100. package/dist/memory/MemoryFabric.d.ts +1 -0
  101. package/dist/memory/MemoryFabric.js +12 -8
  102. package/dist/memory/MemoryFabric.js.map +1 -1
  103. package/dist/memory/MemoryLearning.d.ts +1 -0
  104. package/dist/memory/MemoryLearning.js +6 -3
  105. package/dist/memory/MemoryLearning.js.map +1 -1
  106. package/dist/memory/MemoryProviders.d.ts +8 -1
  107. package/dist/memory/MemoryProviders.js +143 -29
  108. package/dist/memory/MemoryProviders.js.map +1 -1
  109. package/dist/runtime/AiOsRuntime.d.ts +14 -1
  110. package/dist/runtime/AiOsRuntime.js +59 -3
  111. package/dist/runtime/AiOsRuntime.js.map +1 -1
  112. package/dist/runtime/RuntimeDoctor.js +3 -1
  113. package/dist/runtime/RuntimeDoctor.js.map +1 -1
  114. package/dist/runtime/RuntimeEvidenceLedger.d.ts +6 -0
  115. package/dist/runtime/RuntimeEvidenceLedger.js +52 -1
  116. package/dist/runtime/RuntimeEvidenceLedger.js.map +1 -1
  117. package/dist/runtime/SessionLedger.d.ts +2 -0
  118. package/dist/runtime/SessionLedger.js +4 -0
  119. package/dist/runtime/SessionLedger.js.map +1 -1
  120. package/dist/setup/SetupVerification.js +53 -5
  121. package/dist/setup/SetupVerification.js.map +1 -1
  122. package/dist/shield/PolicyCompiler.js +73 -12
  123. package/dist/shield/PolicyCompiler.js.map +1 -1
  124. package/dist/shield/ProtectedPaths.js +4 -2
  125. package/dist/shield/ProtectedPaths.js.map +1 -1
  126. package/dist/skills/SkillCatalog.d.ts +2 -0
  127. package/dist/skills/SkillCatalog.js +8 -0
  128. package/dist/skills/SkillCatalog.js.map +1 -1
  129. package/dist/skills/SkillDoctor.d.ts +19 -2
  130. package/dist/skills/SkillDoctor.js +163 -13
  131. package/dist/skills/SkillDoctor.js.map +1 -1
  132. package/dist/tools/SafeCommandRunner.d.ts +1 -0
  133. package/dist/tools/SafeCommandRunner.js +1 -0
  134. package/dist/tools/SafeCommandRunner.js.map +1 -1
  135. package/dist/tools/ToolCapabilityRegistry.js +25 -3
  136. package/dist/tools/ToolCapabilityRegistry.js.map +1 -1
  137. package/dist/tools/ToolOrchestrator.js +21 -0
  138. package/dist/tools/ToolOrchestrator.js.map +1 -1
  139. package/dist/version.d.ts +1 -1
  140. package/dist/version.js +1 -1
  141. package/dist/workflow/AgentLoopReadiness.d.ts +103 -0
  142. package/dist/workflow/AgentLoopReadiness.js +371 -0
  143. package/dist/workflow/AgentLoopReadiness.js.map +1 -0
  144. package/dist/workflow/EcosystemReadinessGate.d.ts +46 -0
  145. package/dist/workflow/EcosystemReadinessGate.js +126 -0
  146. package/dist/workflow/EcosystemReadinessGate.js.map +1 -0
  147. package/dist/workflow/EngineeringStandards.js +48 -3
  148. package/dist/workflow/EngineeringStandards.js.map +1 -1
  149. package/dist/workflow/GateCatalog.js +9 -0
  150. package/dist/workflow/GateCatalog.js.map +1 -1
  151. package/dist/workflow/GovernanceTemplatePacks.js +2 -26
  152. package/dist/workflow/GovernanceTemplatePacks.js.map +1 -1
  153. package/dist/workflow/GovernanceTemplates.js +8 -1
  154. package/dist/workflow/GovernanceTemplates.js.map +1 -1
  155. package/dist/workflow/ReleaseDeploymentLedger.d.ts +63 -0
  156. package/dist/workflow/ReleaseDeploymentLedger.js +154 -0
  157. package/dist/workflow/ReleaseDeploymentLedger.js.map +1 -0
  158. package/dist/workflow/ReviewAnalyzer.js +50 -3
  159. package/dist/workflow/ReviewAnalyzer.js.map +1 -1
  160. package/dist/workflow/SessionPreamble.d.ts +7 -0
  161. package/dist/workflow/SessionPreamble.js +48 -9
  162. package/dist/workflow/SessionPreamble.js.map +1 -1
  163. package/dist/workflow/VerificationCommands.d.ts +1 -0
  164. package/dist/workflow/VerificationCommands.js.map +1 -1
  165. package/dist/workflow/VerificationProfile.d.ts +5 -0
  166. package/dist/workflow/VerificationProfile.js +26 -0
  167. package/dist/workflow/VerificationProfile.js.map +1 -1
  168. package/dist/workflow/VerificationSchema.d.ts +3 -0
  169. package/dist/workflow/VerificationSchema.js +6 -0
  170. package/dist/workflow/VerificationSchema.js.map +1 -1
  171. package/dist/workflow/WorkflowEffectiveness.d.ts +97 -0
  172. package/dist/workflow/WorkflowEffectiveness.js +302 -0
  173. package/dist/workflow/WorkflowEffectiveness.js.map +1 -0
  174. package/dist/workflow/WorkflowEffectivenessRenderer.d.ts +2 -0
  175. package/dist/workflow/WorkflowEffectivenessRenderer.js +67 -0
  176. package/dist/workflow/WorkflowEffectivenessRenderer.js.map +1 -0
  177. package/dist/workflow/WorkflowEffectivenessScoring.d.ts +6 -0
  178. package/dist/workflow/WorkflowEffectivenessScoring.js +243 -0
  179. package/dist/workflow/WorkflowEffectivenessScoring.js.map +1 -0
  180. package/dist/workflow/gates/GateSystem.d.ts +16 -0
  181. package/dist/workflow/gates/GateSystem.js +208 -41
  182. package/dist/workflow/gates/GateSystem.js.map +1 -1
  183. package/dist/workflow/gates/MetaGovernanceGates.js +269 -8
  184. package/dist/workflow/gates/MetaGovernanceGates.js.map +1 -1
  185. package/docs/reference/cli.md +2 -1
  186. package/docs/start/agent-governance-demo.md +1 -1
  187. package/docs/workflow/README.md +1 -1
  188. package/docs/workflow/templates/github-actions-scale-preflight.yml +4 -1
  189. package/package.json +6 -3
  190. package/scripts/workflow/run-vitest.mjs +123 -0
@@ -26,6 +26,322 @@ export function defaultWorkflowEvalSuite() {
26
26
  },
27
27
  ],
28
28
  },
29
+ {
30
+ id: 'bugfix-null-safety',
31
+ type: 'bugfix',
32
+ title: 'Null safety fix in artifact store',
33
+ task: 'Fix a null reference error when accessing artifact payload that is undefined.',
34
+ phase: 'build',
35
+ successCriteria: [
36
+ 'code handles undefined payload without throwing',
37
+ 'test covers null/undefined payload case',
38
+ ],
39
+ attempts: [{
40
+ id: 'attempt-1',
41
+ command: 'node -e "const p = undefined; console.log(p?.name ?? \'default\')"',
42
+ expectedExitCode: 0,
43
+ outputContains: 'default',
44
+ }],
45
+ },
46
+ {
47
+ id: 'bugfix-regex-escape',
48
+ type: 'bugfix',
49
+ title: 'Regex special characters in user input',
50
+ task: 'Fix a bug where user-provided strings with regex special characters break pattern matching.',
51
+ phase: 'build',
52
+ successCriteria: [
53
+ 'special characters are escaped before use in regex',
54
+ 'test covers strings with (, ), [, ], +, *, ?',
55
+ ],
56
+ attempts: [{
57
+ id: 'attempt-1',
58
+ command: 'node -e "const s=\'test(1)\'; const escaped=[...s].map(c=>\'.*+?^${}()|[]\'.includes(c)?String.fromCharCode(92)+c:c).join(\'\'); const r=new RegExp(escaped); console.log(r.test(s))"',
59
+ expectedExitCode: 0,
60
+ outputContains: 'true',
61
+ }],
62
+ },
63
+ {
64
+ id: 'bugfix-json-parse-error',
65
+ type: 'bugfix',
66
+ title: 'Malformed JSON handling in settings loader',
67
+ task: 'Fix crash when .scale/settings.json contains invalid JSON.',
68
+ phase: 'build',
69
+ successCriteria: [
70
+ 'invalid JSON returns default config instead of crashing',
71
+ 'error is logged but does not propagate',
72
+ ],
73
+ attempts: [{
74
+ id: 'attempt-1',
75
+ command: 'node -e "try{JSON.parse(\'{bad}\')}catch(e){console.log(\'handled:\'+e.message)}"',
76
+ expectedExitCode: 0,
77
+ outputContains: 'handled:',
78
+ }],
79
+ },
80
+ {
81
+ id: 'bugfix-event-leak',
82
+ type: 'bugfix',
83
+ title: 'Event listener memory leak in EventBus',
84
+ task: 'Fix memory leak caused by not removing event listeners on unsubscribe.',
85
+ phase: 'build',
86
+ successCriteria: [
87
+ 'unsubscribe removes handler from handler set',
88
+ 'handler count decreases after unsubscribe',
89
+ ],
90
+ attempts: [{
91
+ id: 'attempt-1',
92
+ command: 'node -e "const s=new Set(); s.add(()=>{}); const h=[...s][0]; s.delete(h); console.log(s.size)"',
93
+ expectedExitCode: 0,
94
+ outputContains: '0',
95
+ }],
96
+ },
97
+ {
98
+ id: 'bugfix-path-traversal',
99
+ type: 'bugfix',
100
+ title: 'Path traversal in file read operation',
101
+ task: 'Fix path traversal vulnerability where ../../../etc/passwd can be read.',
102
+ phase: 'build',
103
+ successCriteria: [
104
+ 'paths with .. segments are rejected or normalized',
105
+ 'test covers traversal attempts',
106
+ ],
107
+ attempts: [{
108
+ id: 'attempt-1',
109
+ command: 'node -e "const p=require(\'path\'); const base=p.resolve(\'project-root\'); const target=p.resolve(base,\'..\',\'..\',\'etc\',\'passwd\'); console.log(target.startsWith(base))"',
110
+ expectedExitCode: 0,
111
+ outputContains: 'false',
112
+ }],
113
+ },
114
+ {
115
+ id: 'bugfix-async-timeout',
116
+ type: 'bugfix',
117
+ title: 'Async operation hangs without timeout',
118
+ task: 'Fix hanging async operation by adding proper timeout mechanism.',
119
+ phase: 'build',
120
+ successCriteria: [
121
+ 'operation times out after configured duration',
122
+ 'timeout error is properly propagated',
123
+ ],
124
+ attempts: [{
125
+ id: 'attempt-1',
126
+ command: 'node -e "const p=new Promise((_,rej)=>setTimeout(()=>rej(new Error(\'timeout\')),100)); p.catch(e=>console.log(e.message))"',
127
+ expectedExitCode: 0,
128
+ outputContains: 'timeout',
129
+ }],
130
+ },
131
+ {
132
+ id: 'bugfix-concurrent-write',
133
+ type: 'bugfix',
134
+ title: 'Concurrent file write corruption',
135
+ task: 'Fix data corruption when multiple processes write to the same JSONL file simultaneously.',
136
+ phase: 'build',
137
+ successCriteria: [
138
+ 'writes are serialized via lock or atomic operation',
139
+ 'file integrity is maintained after concurrent writes',
140
+ ],
141
+ attempts: [{
142
+ id: 'attempt-1',
143
+ command: 'node -e "const fs=require(\'fs\'),os=require(\'os\'),path=require(\'path\'); const f=path.join(os.tmpdir(),\'scale-eval-test-atomic.jsonl\'); fs.writeFileSync(f,\'\'); for(let i=0;i<5;i++){fs.appendFileSync(f,JSON.stringify({i})+String.fromCharCode(10))} console.log(fs.readFileSync(f,\'utf-8\').trim().split(String.fromCharCode(10)).length)"',
144
+ expectedExitCode: 0,
145
+ outputContains: '5',
146
+ }],
147
+ },
148
+ {
149
+ id: 'bugfix-empty-array-guard',
150
+ type: 'bugfix',
151
+ title: 'Empty array causes division by zero',
152
+ task: 'Fix division by zero when calculating average on empty results array.',
153
+ phase: 'build',
154
+ successCriteria: [
155
+ 'empty array returns 0 or NaN guard instead of Infinity',
156
+ 'test covers empty and single-element arrays',
157
+ ],
158
+ attempts: [{
159
+ id: 'attempt-1',
160
+ command: 'node -e "const a=[]; const avg=a.length?a.reduce((s,v)=>s+v,0)/a.length:0; console.log(avg)"',
161
+ expectedExitCode: 0,
162
+ outputContains: '0',
163
+ }],
164
+ },
165
+ {
166
+ id: 'bugfix-encoding-utf8',
167
+ type: 'bugfix',
168
+ title: 'UTF-8 BOM in settings file breaks parser',
169
+ task: 'Fix JSON parse failure when settings.json has UTF-8 BOM prefix.',
170
+ phase: 'build',
171
+ successCriteria: [
172
+ 'BOM is stripped before JSON.parse',
173
+ 'test covers file with and without BOM',
174
+ ],
175
+ attempts: [{
176
+ id: 'attempt-1',
177
+ command: 'node -e "const bom=String.fromCharCode(65279); const s=bom+JSON.stringify({ok:true}); console.log(JSON.parse(s.replace(bom,\'\')).ok)"',
178
+ expectedExitCode: 0,
179
+ outputContains: 'true',
180
+ }],
181
+ },
182
+ {
183
+ id: 'feature-api-endpoint',
184
+ type: 'feature',
185
+ title: 'Add GET /api/artifacts/:id endpoint',
186
+ task: 'Implement a new API endpoint to retrieve a single artifact by ID with proper error handling.',
187
+ phase: 'build',
188
+ successCriteria: [
189
+ 'returns artifact JSON for valid ID',
190
+ 'returns 404 for non-existent ID',
191
+ 'returns 400 for invalid ID format',
192
+ ],
193
+ attempts: [{
194
+ id: 'attempt-1',
195
+ command: 'node -e "const id=\'spec-001\'; console.log(/^[a-z]+-[0-9]+$/.test(id)?\'valid-id\':\'bad-id\')"',
196
+ expectedExitCode: 0,
197
+ outputEquals: 'valid-id',
198
+ }],
199
+ },
200
+ {
201
+ id: 'feature-cli-flag',
202
+ type: 'feature',
203
+ title: 'Add --json flag to scale status command',
204
+ task: 'Add JSON output format to the status command for programmatic consumption.',
205
+ phase: 'build',
206
+ successCriteria: [
207
+ '--json flag produces valid JSON output',
208
+ 'default output remains human-readable',
209
+ 'JSON includes all status fields',
210
+ ],
211
+ attempts: [{
212
+ id: 'attempt-1',
213
+ command: 'node -e "console.log(JSON.stringify({status:\'ok\',version:\'1.0\'}))"',
214
+ expectedExitCode: 0,
215
+ outputContains: 'status',
216
+ }],
217
+ },
218
+ {
219
+ id: 'feature-webhook-config',
220
+ type: 'feature',
221
+ title: 'Configurable webhook for event notifications',
222
+ task: 'Implement webhook configuration that POSTs events to a user-specified URL.',
223
+ phase: 'build',
224
+ successCriteria: [
225
+ 'webhook URL is read from config',
226
+ 'events are POSTed as JSON',
227
+ 'failed webhooks are retried with backoff',
228
+ ],
229
+ attempts: [{
230
+ id: 'attempt-1',
231
+ command: 'node -e "const url=\'https://example.com/hook\'; console.log(url.startsWith(\'https://\')?\'valid\':\'invalid\')"',
232
+ expectedExitCode: 0,
233
+ outputContains: 'valid',
234
+ }],
235
+ },
236
+ {
237
+ id: 'feature-filter-query',
238
+ type: 'feature',
239
+ title: 'Add filtering to artifact list command',
240
+ task: 'Implement --type and --status filters for the artifact list command.',
241
+ phase: 'build',
242
+ successCriteria: [
243
+ '--type filter returns only matching artifact types',
244
+ '--status filter returns only matching statuses',
245
+ 'filters can be combined',
246
+ ],
247
+ attempts: [{
248
+ id: 'attempt-1',
249
+ command: 'node -e "const items=[{type:\'Spec\',status:\'DRAFT\'},{type:\'Task\',status:\'DONE\'}]; const f=items.filter(i=>i.type===\'Spec\'); console.log(f.length)"',
250
+ expectedExitCode: 0,
251
+ outputContains: '1',
252
+ }],
253
+ },
254
+ {
255
+ id: 'feature-diff-view',
256
+ type: 'feature',
257
+ title: 'Show diff between artifact versions',
258
+ task: 'Implement a diff view that shows changes between two artifact versions.',
259
+ phase: 'build',
260
+ successCriteria: [
261
+ 'added lines are marked with +',
262
+ 'removed lines are marked with -',
263
+ 'unchanged lines are shown as context',
264
+ ],
265
+ attempts: [{
266
+ id: 'attempt-1',
267
+ command: 'node -e "const a=[\'line1\',\'line2\']; const b=[\'line1\',\'line3\']; const d=a.map((l,i)=>b[i]===l?\' \'+l:\'-\'+l); console.log(d.join(String.fromCharCode(10)))"',
268
+ expectedExitCode: 0,
269
+ outputContains: '-line2',
270
+ }],
271
+ },
272
+ {
273
+ id: 'refactor-extract-module',
274
+ type: 'refactor',
275
+ title: 'Extract detector logic into separate module',
276
+ task: 'Refactor monolithic guardrails file by extracting detector classes into their own module.',
277
+ phase: 'build',
278
+ successCriteria: [
279
+ 'detectors are in separate file',
280
+ 'imports are updated',
281
+ 'all existing tests still pass',
282
+ ],
283
+ attempts: [{
284
+ id: 'attempt-1',
285
+ command: 'node -e "const path=require(\'path\'); console.log(path.posix.join(\'src/guardrails\',\'detectors.ts\'))"',
286
+ expectedExitCode: 0,
287
+ outputContains: 'guardrails/detectors',
288
+ }],
289
+ },
290
+ {
291
+ id: 'refactor-reduce-complexity',
292
+ type: 'refactor',
293
+ title: 'Reduce cyclomatic complexity in Gateway.preTool',
294
+ task: 'Refactor deeply nested if-else chains in Gateway.preTool into early returns.',
295
+ phase: 'build',
296
+ successCriteria: [
297
+ 'max nesting depth is reduced',
298
+ 'behavior is unchanged',
299
+ 'all existing tests pass',
300
+ ],
301
+ attempts: [{
302
+ id: 'attempt-1',
303
+ command: 'node -e "function f(x){if(!x)return null;if(typeof x!==\'number\')return null;return x*2} console.log(f(5))"',
304
+ expectedExitCode: 0,
305
+ outputContains: '10',
306
+ }],
307
+ },
308
+ {
309
+ id: 'refactor-consolidate-types',
310
+ type: 'refactor',
311
+ title: 'Consolidate duplicate type definitions',
312
+ task: 'Merge duplicate interface definitions across artifact/types.ts and guardrails/Gateway.ts.',
313
+ phase: 'build',
314
+ successCriteria: [
315
+ 'single source of truth for shared types',
316
+ 'no duplicate interfaces',
317
+ 'type compatibility maintained',
318
+ ],
319
+ attempts: [{
320
+ id: 'attempt-1',
321
+ command: 'node -e "const t={sessionId:\'s1\',tool:\'Bash\',args:{}}; console.log(typeof t.sessionId===\'string\'?\'ok\':\'fail\')"',
322
+ expectedExitCode: 0,
323
+ outputContains: 'ok',
324
+ }],
325
+ },
326
+ {
327
+ id: 'security-secret-detection',
328
+ type: 'security',
329
+ title: 'Detect hardcoded secrets in code changes',
330
+ task: 'Verify that the OWASP detector catches hardcoded API keys, passwords, and tokens.',
331
+ phase: 'verify',
332
+ successCriteria: [
333
+ 'API key pattern is detected',
334
+ 'password assignment is detected',
335
+ 'token in URL is detected',
336
+ ],
337
+ expectedFailureCategory: 'failed-security-or-resource-gate',
338
+ attempts: [{
339
+ id: 'attempt-1',
340
+ command: 'node -e "const code=\'const key=sk-abc123\'; const r=/sk-[a-zA-Z0-9]{6,}/; console.log(r.test(code)?\'detected\':\'missed\')"',
341
+ expectedExitCode: 0,
342
+ outputContains: 'detected',
343
+ }],
344
+ },
29
345
  ],
30
346
  };
31
347
  }
@@ -68,6 +384,22 @@ export class WorkflowEvalStore {
68
384
  writeFileSync(path, JSON.stringify(record, null, 2), 'utf-8');
69
385
  return path;
70
386
  }
387
+ closeOpenFailuresForCase(options) {
388
+ const closedAt = new Date().toISOString();
389
+ const closed = [];
390
+ for (const failure of this.listFailures({ taskId: options.caseId })) {
391
+ if (failure.suiteId !== options.suiteId || failure.caseId !== options.caseId || failure.status !== 'open')
392
+ continue;
393
+ this.saveFailure({
394
+ ...failure,
395
+ status: 'closed',
396
+ closedAt,
397
+ closedByEvalRunId: options.closedByEvalRunId,
398
+ });
399
+ closed.push(failure.id);
400
+ }
401
+ return closed;
402
+ }
71
403
  listFailures(query = {}) {
72
404
  if (!existsSync(this.failuresDir))
73
405
  return [];
@@ -128,11 +460,19 @@ export async function runWorkflowEvalSuite(options = {}) {
128
460
  const suite = store.loadSuite(options.suite ?? 'workflow-baseline');
129
461
  const caseResults = [];
130
462
  const failurePaths = [];
463
+ const closedFailureIds = [];
131
464
  const runId = `EVAL-${Date.now()}-${randomUUID().slice(0, 8)}`;
132
465
  for (const item of suite.cases) {
133
466
  const result = await runEvalCase(store, suite.id, item);
134
467
  caseResults.push(result.caseResult);
135
468
  failurePaths.push(...result.failurePaths);
469
+ if (result.caseResult.passed) {
470
+ closedFailureIds.push(...store.closeOpenFailuresForCase({
471
+ suiteId: suite.id,
472
+ caseId: item.id,
473
+ closedByEvalRunId: runId,
474
+ }));
475
+ }
136
476
  }
137
477
  const failureReplayIds = caseResults.flatMap(result => result.failureReplayIds);
138
478
  const run = {
@@ -146,7 +486,7 @@ export async function runWorkflowEvalSuite(options = {}) {
146
486
  failureReplayIds,
147
487
  };
148
488
  const runPath = store.saveRun(run);
149
- return { run, runPath, failurePaths };
489
+ return { run, runPath, failurePaths, closedFailureIds };
150
490
  }
151
491
  export function compareWorkflowEvalRuns(options) {
152
492
  const store = new WorkflowEvalStore(options);
@@ -255,12 +595,15 @@ async function runAttempt(attempt, cwd) {
255
595
  const outputContains = attempt.outputContains
256
596
  ? output.includes(attempt.outputContains)
257
597
  : true;
598
+ const outputEquals = attempt.outputEquals
599
+ ? normalizeEvalOutput(output) === attempt.outputEquals
600
+ : true;
258
601
  return {
259
602
  id: attempt.id ?? `attempt-${randomUUID().slice(0, 8)}`,
260
603
  command: commandRedaction.value,
261
604
  expectedExitCode,
262
605
  exitCode: result.exitCode,
263
- passed: result.exitCode === expectedExitCode && outputContains,
606
+ passed: result.exitCode === expectedExitCode && outputContains && outputEquals,
264
607
  durationMs: Date.now() - started,
265
608
  outputSummary: outputRedaction.value || '(no output)',
266
609
  redactionApplied: commandRedaction.redacted || outputRedaction.redacted,
@@ -365,6 +708,9 @@ function readJson(path) {
365
708
  function stripBom(text) {
366
709
  return text.charCodeAt(0) === 0xFEFF ? text.slice(1) : text;
367
710
  }
711
+ function normalizeEvalOutput(output) {
712
+ return output.replace(/\r?\n$/, '');
713
+ }
368
714
  function ratio(part, total) {
369
715
  return total === 0 ? 0 : Math.round((part / total) * 1000) / 1000;
370
716
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowEval.js","sourceRoot":"","sources":["../../src/eval/WorkflowEval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowEval.js","sourceRoot":"","sources":["../../src/eval/WorkflowEval.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export type MemoryNodeLayer = 'L1-trace' | 'L2-policy' | 'L3-world-model' | 'cry
3
3
  export type MemoryNodeSource = 'runtime-evidence' | 'task-artifact' | 'docs' | 'git' | 'manual';
4
4
  export type MemoryNodeScope = 'project' | 'workspace' | 'global-candidate';
5
5
  export type MemoryNodeStatus = 'candidate' | 'active' | 'stale' | 'rejected';
6
+ export type MemoryReviewAction = 'approve' | 'reject' | 'stale' | 'restore';
6
7
  export interface MemoryNode {
7
8
  id: string;
8
9
  type: MemoryNodeType;
@@ -99,6 +100,13 @@ export interface MemoryPromoteReport {
99
100
  node?: MemoryNode;
100
101
  warnings: string[];
101
102
  }
103
+ export interface MemoryReviewReport {
104
+ ok: boolean;
105
+ action: MemoryReviewAction;
106
+ previousStatus?: MemoryNodeStatus;
107
+ node?: MemoryNode;
108
+ warnings: string[];
109
+ }
102
110
  export interface MemoryRefineReport {
103
111
  ok: boolean;
104
112
  generatedAt: string;
@@ -130,6 +138,11 @@ export declare class MemoryBrain {
130
138
  promote(id: string, options?: {
131
139
  scope?: MemoryNodeScope;
132
140
  }): MemoryPromoteReport;
141
+ review(id: string, action: MemoryReviewAction, options?: {
142
+ reason?: string;
143
+ actor?: string;
144
+ scope?: MemoryNodeScope;
145
+ }): MemoryReviewReport;
133
146
  exportJsonl(): string;
134
147
  importJsonl(filePath: string): {
135
148
  ok: boolean;
@@ -195,6 +195,53 @@ export class MemoryBrain {
195
195
  this.upsert(promoted);
196
196
  return { ok: true, node: promoted, warnings };
197
197
  }
198
+ review(id, action, options = {}) {
199
+ const node = this.get(id);
200
+ const previousStatus = node?.status;
201
+ if (action === 'approve' || action === 'restore') {
202
+ if (node && action === 'approve' && node.status !== 'candidate') {
203
+ return { ok: false, action, previousStatus, node, warnings: [`Approve requires candidate memory, got ${node.status}.`] };
204
+ }
205
+ if (node && action === 'restore' && !['stale', 'rejected'].includes(node.status)) {
206
+ return { ok: false, action, previousStatus, node, warnings: [`Restore requires stale or rejected memory, got ${node.status}.`] };
207
+ }
208
+ const report = this.promote(id, { scope: options.scope });
209
+ return {
210
+ ok: report.ok,
211
+ action,
212
+ previousStatus,
213
+ node: report.node,
214
+ warnings: report.warnings,
215
+ };
216
+ }
217
+ if (!node)
218
+ return { ok: false, action, warnings: [`Memory node not found: ${id}`] };
219
+ if (action === 'reject' && node.status !== 'candidate') {
220
+ return { ok: false, action, previousStatus, node, warnings: [`Reject requires candidate memory, got ${node.status}.`] };
221
+ }
222
+ if (action === 'stale' && node.status !== 'active') {
223
+ return { ok: false, action, previousStatus, node, warnings: [`Stale requires active memory, got ${node.status}.`] };
224
+ }
225
+ const now = this.now().toISOString();
226
+ const reviewed = {
227
+ ...node,
228
+ status: action === 'reject' ? 'rejected' : 'stale',
229
+ updatedAt: now,
230
+ metadata: {
231
+ ...(node.metadata ?? {}),
232
+ lastReview: {
233
+ action,
234
+ actor: options.actor ?? 'system',
235
+ reason: options.reason,
236
+ reviewedAt: now,
237
+ previousStatus: node.status,
238
+ },
239
+ },
240
+ };
241
+ assertNode(reviewed);
242
+ this.upsert(reviewed);
243
+ return { ok: true, action, previousStatus, node: reviewed, warnings: [] };
244
+ }
198
245
  exportJsonl() {
199
246
  return this.list().map(node => JSON.stringify(node)).join('\n') + '\n';
200
247
  }