@neurcode-ai/cli 0.9.66 → 0.10.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 (199) hide show
  1. package/.telemetry-bundle/dist/__tests__/harvest-verify.test.d.ts +1 -0
  2. package/.telemetry-bundle/dist/__tests__/harvest-verify.test.js +86 -0
  3. package/.telemetry-bundle/dist/contracts.d.ts +58 -0
  4. package/.telemetry-bundle/dist/contracts.js +8 -0
  5. package/.telemetry-bundle/dist/harvest-verify.d.ts +9 -0
  6. package/.telemetry-bundle/dist/harvest-verify.js +128 -0
  7. package/.telemetry-bundle/dist/index.d.ts +10 -0
  8. package/.telemetry-bundle/dist/index.js +22 -0
  9. package/.telemetry-bundle/dist/precision/leaderboards.d.ts +20 -0
  10. package/.telemetry-bundle/dist/precision/leaderboards.js +72 -0
  11. package/.telemetry-bundle/dist/reader.d.ts +5 -0
  12. package/.telemetry-bundle/dist/reader.js +46 -0
  13. package/.telemetry-bundle/dist/stable-json.d.ts +5 -0
  14. package/.telemetry-bundle/dist/stable-json.js +24 -0
  15. package/.telemetry-bundle/dist/store.d.ts +10 -0
  16. package/.telemetry-bundle/dist/store.js +52 -0
  17. package/.telemetry-bundle/dist/trust-scoring.d.ts +20 -0
  18. package/.telemetry-bundle/dist/trust-scoring.js +58 -0
  19. package/.telemetry-bundle/package.json +8 -0
  20. package/dist/commands/governance.d.ts +3 -0
  21. package/dist/commands/governance.d.ts.map +1 -0
  22. package/dist/commands/governance.js +390 -0
  23. package/dist/commands/governance.js.map +1 -0
  24. package/dist/commands/quickstart.js +3 -3
  25. package/dist/commands/quickstart.js.map +1 -1
  26. package/dist/commands/remediate-export.d.ts +5 -0
  27. package/dist/commands/remediate-export.d.ts.map +1 -1
  28. package/dist/commands/remediate-export.js +803 -14
  29. package/dist/commands/remediate-export.js.map +1 -1
  30. package/dist/commands/replay.d.ts.map +1 -1
  31. package/dist/commands/replay.js +14 -0
  32. package/dist/commands/replay.js.map +1 -1
  33. package/dist/commands/session.d.ts +7 -0
  34. package/dist/commands/session.d.ts.map +1 -1
  35. package/dist/commands/session.js +156 -0
  36. package/dist/commands/session.js.map +1 -1
  37. package/dist/commands/start-intent.d.ts.map +1 -1
  38. package/dist/commands/start-intent.js +61 -11
  39. package/dist/commands/start-intent.js.map +1 -1
  40. package/dist/commands/verify-guidance.d.ts +5 -0
  41. package/dist/commands/verify-guidance.d.ts.map +1 -0
  42. package/dist/commands/verify-guidance.js +49 -0
  43. package/dist/commands/verify-guidance.js.map +1 -0
  44. package/dist/commands/verify-output.d.ts +37 -0
  45. package/dist/commands/verify-output.d.ts.map +1 -0
  46. package/dist/commands/verify-output.js +572 -0
  47. package/dist/commands/verify-output.js.map +1 -0
  48. package/dist/commands/verify-render.d.ts +41 -0
  49. package/dist/commands/verify-render.d.ts.map +1 -0
  50. package/dist/commands/verify-render.js +457 -0
  51. package/dist/commands/verify-render.js.map +1 -0
  52. package/dist/commands/verify.d.ts.map +1 -1
  53. package/dist/commands/verify.js +278 -1081
  54. package/dist/commands/verify.js.map +1 -1
  55. package/dist/commands/workspace.d.ts.map +1 -1
  56. package/dist/commands/workspace.js +3 -14
  57. package/dist/commands/workspace.js.map +1 -1
  58. package/dist/context-engine/graph.d.ts.map +1 -1
  59. package/dist/context-engine/graph.js +69 -7
  60. package/dist/context-engine/graph.js.map +1 -1
  61. package/dist/context-engine/scanner.d.ts.map +1 -1
  62. package/dist/context-engine/scanner.js +9 -2
  63. package/dist/context-engine/scanner.js.map +1 -1
  64. package/dist/daemon/compatibility/execution.d.ts +42 -0
  65. package/dist/daemon/compatibility/execution.d.ts.map +1 -0
  66. package/dist/daemon/compatibility/execution.js +183 -0
  67. package/dist/daemon/compatibility/execution.js.map +1 -0
  68. package/dist/daemon/compatibility/mutation.d.ts +24 -0
  69. package/dist/daemon/compatibility/mutation.d.ts.map +1 -0
  70. package/dist/daemon/compatibility/mutation.js +724 -0
  71. package/dist/daemon/compatibility/mutation.js.map +1 -0
  72. package/dist/daemon/routes.d.ts +19 -0
  73. package/dist/daemon/routes.d.ts.map +1 -0
  74. package/dist/daemon/routes.js +123 -0
  75. package/dist/daemon/routes.js.map +1 -0
  76. package/dist/daemon/runtime/execution-bus.d.ts +217 -0
  77. package/dist/daemon/runtime/execution-bus.d.ts.map +1 -0
  78. package/dist/daemon/runtime/execution-bus.js +1420 -0
  79. package/dist/daemon/runtime/execution-bus.js.map +1 -0
  80. package/dist/daemon/runtime/workspace-runtime.d.ts +280 -0
  81. package/dist/daemon/runtime/workspace-runtime.d.ts.map +1 -0
  82. package/dist/daemon/runtime/workspace-runtime.js +1473 -0
  83. package/dist/daemon/runtime/workspace-runtime.js.map +1 -0
  84. package/dist/daemon/server.d.ts.map +1 -1
  85. package/dist/daemon/server.js +171 -874
  86. package/dist/daemon/server.js.map +1 -1
  87. package/dist/daemon/shaping.d.ts +11 -0
  88. package/dist/daemon/shaping.d.ts.map +1 -0
  89. package/dist/daemon/shaping.js +240 -0
  90. package/dist/daemon/shaping.js.map +1 -0
  91. package/dist/governance/canonical-pipeline.d.ts +2 -1
  92. package/dist/governance/canonical-pipeline.d.ts.map +1 -1
  93. package/dist/governance/canonical-pipeline.js +259 -84
  94. package/dist/governance/canonical-pipeline.js.map +1 -1
  95. package/dist/governance/structural-cache.d.ts.map +1 -1
  96. package/dist/governance/structural-cache.js +2 -7
  97. package/dist/governance/structural-cache.js.map +1 -1
  98. package/dist/index.js +230 -66
  99. package/dist/index.js.map +1 -1
  100. package/dist/utils/active-engineering-context.d.ts +12 -0
  101. package/dist/utils/active-engineering-context.d.ts.map +1 -0
  102. package/dist/utils/active-engineering-context.js +67 -0
  103. package/dist/utils/active-engineering-context.js.map +1 -0
  104. package/dist/utils/artifact-io.d.ts +33 -0
  105. package/dist/utils/artifact-io.d.ts.map +1 -0
  106. package/dist/utils/artifact-io.js +183 -0
  107. package/dist/utils/artifact-io.js.map +1 -0
  108. package/dist/utils/change-contract.d.ts +6 -2
  109. package/dist/utils/change-contract.d.ts.map +1 -1
  110. package/dist/utils/change-contract.js +175 -0
  111. package/dist/utils/change-contract.js.map +1 -1
  112. package/dist/utils/context-pack.d.ts +12 -0
  113. package/dist/utils/context-pack.d.ts.map +1 -0
  114. package/dist/utils/context-pack.js +147 -0
  115. package/dist/utils/context-pack.js.map +1 -0
  116. package/dist/utils/control-plane.d.ts +18 -0
  117. package/dist/utils/control-plane.d.ts.map +1 -1
  118. package/dist/utils/control-plane.js +31 -4
  119. package/dist/utils/control-plane.js.map +1 -1
  120. package/dist/utils/drift-intelligence.d.ts +47 -0
  121. package/dist/utils/drift-intelligence.d.ts.map +1 -0
  122. package/dist/utils/drift-intelligence.js +2099 -0
  123. package/dist/utils/drift-intelligence.js.map +1 -0
  124. package/dist/utils/execution-actions.d.ts +22 -0
  125. package/dist/utils/execution-actions.d.ts.map +1 -0
  126. package/dist/utils/execution-actions.js +103 -0
  127. package/dist/utils/execution-actions.js.map +1 -0
  128. package/dist/utils/execution-bus.d.ts +1 -214
  129. package/dist/utils/execution-bus.d.ts.map +1 -1
  130. package/dist/utils/execution-bus.js +15 -1359
  131. package/dist/utils/execution-bus.js.map +1 -1
  132. package/dist/utils/git.d.ts +1 -0
  133. package/dist/utils/git.d.ts.map +1 -1
  134. package/dist/utils/git.js +13 -3
  135. package/dist/utils/git.js.map +1 -1
  136. package/dist/utils/governance-decisions.d.ts +75 -0
  137. package/dist/utils/governance-decisions.d.ts.map +1 -0
  138. package/dist/utils/governance-decisions.js +412 -0
  139. package/dist/utils/governance-decisions.js.map +1 -0
  140. package/dist/utils/governance-provenance.d.ts +1 -1
  141. package/dist/utils/governance-provenance.d.ts.map +1 -1
  142. package/dist/utils/governance-provenance.js +5 -7
  143. package/dist/utils/governance-provenance.js.map +1 -1
  144. package/dist/utils/governance.d.ts +108 -0
  145. package/dist/utils/governance.d.ts.map +1 -1
  146. package/dist/utils/governance.js +209 -7
  147. package/dist/utils/governance.js.map +1 -1
  148. package/dist/utils/intelligence-runtime-common.d.ts +30 -0
  149. package/dist/utils/intelligence-runtime-common.d.ts.map +1 -0
  150. package/dist/utils/intelligence-runtime-common.js +156 -0
  151. package/dist/utils/intelligence-runtime-common.js.map +1 -0
  152. package/dist/utils/intent-contract-diagnostics.d.ts +9 -0
  153. package/dist/utils/intent-contract-diagnostics.d.ts.map +1 -0
  154. package/dist/utils/intent-contract-diagnostics.js +322 -0
  155. package/dist/utils/intent-contract-diagnostics.js.map +1 -0
  156. package/dist/utils/intent-pack.d.ts +15 -0
  157. package/dist/utils/intent-pack.d.ts.map +1 -0
  158. package/dist/utils/intent-pack.js +196 -0
  159. package/dist/utils/intent-pack.js.map +1 -0
  160. package/dist/utils/plan-sync.d.ts +1 -0
  161. package/dist/utils/plan-sync.d.ts.map +1 -1
  162. package/dist/utils/plan-sync.js +23 -0
  163. package/dist/utils/plan-sync.js.map +1 -1
  164. package/dist/utils/policy-decision.d.ts +5 -0
  165. package/dist/utils/policy-decision.d.ts.map +1 -0
  166. package/dist/utils/policy-decision.js +17 -0
  167. package/dist/utils/policy-decision.js.map +1 -0
  168. package/dist/utils/replay-custody.d.ts +43 -0
  169. package/dist/utils/replay-custody.d.ts.map +1 -0
  170. package/dist/utils/replay-custody.js +168 -0
  171. package/dist/utils/replay-custody.js.map +1 -0
  172. package/dist/utils/replay-runtime.d.ts +13 -0
  173. package/dist/utils/replay-runtime.d.ts.map +1 -1
  174. package/dist/utils/replay-runtime.js +96 -9
  175. package/dist/utils/replay-runtime.js.map +1 -1
  176. package/dist/utils/repository-intelligence.d.ts +9 -0
  177. package/dist/utils/repository-intelligence.d.ts.map +1 -0
  178. package/dist/utils/repository-intelligence.js +372 -0
  179. package/dist/utils/repository-intelligence.js.map +1 -0
  180. package/dist/utils/runtime-events.d.ts.map +1 -1
  181. package/dist/utils/runtime-events.js +25 -6
  182. package/dist/utils/runtime-events.js.map +1 -1
  183. package/dist/utils/semantic-contract-intelligence.d.ts +20 -0
  184. package/dist/utils/semantic-contract-intelligence.d.ts.map +1 -0
  185. package/dist/utils/semantic-contract-intelligence.js +825 -0
  186. package/dist/utils/semantic-contract-intelligence.js.map +1 -0
  187. package/dist/utils/session-continuity.d.ts +56 -0
  188. package/dist/utils/session-continuity.d.ts.map +1 -0
  189. package/dist/utils/session-continuity.js +318 -0
  190. package/dist/utils/session-continuity.js.map +1 -0
  191. package/dist/utils/verification-evidence.d.ts.map +1 -1
  192. package/dist/utils/verification-evidence.js +4 -1
  193. package/dist/utils/verification-evidence.js.map +1 -1
  194. package/dist/utils/workspace-runtime.d.ts +1 -266
  195. package/dist/utils/workspace-runtime.d.ts.map +1 -1
  196. package/dist/utils/workspace-runtime.js +15 -1412
  197. package/dist/utils/workspace-runtime.js.map +1 -1
  198. package/package.json +13 -11
  199. package/LICENSE +0 -201
@@ -0,0 +1,572 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EXPEDITE_FOLLOW_UP_CHECKLIST = void 0;
4
+ exports.containsAnyToken = containsAnyToken;
5
+ exports.isSecurityOrAuthViolation = isSecurityOrAuthViolation;
6
+ exports.isCriticalScopeBreach = isCriticalScopeBreach;
7
+ exports.toCanonicalVerifyOutput = toCanonicalVerifyOutput;
8
+ exports.emitCanonicalVerifyJson = emitCanonicalVerifyJson;
9
+ exports.buildDeterministicLayerSummary = buildDeterministicLayerSummary;
10
+ const fs_1 = require("fs");
11
+ const canonical_pipeline_1 = require("../governance/canonical-pipeline");
12
+ exports.EXPEDITE_FOLLOW_UP_CHECKLIST = [
13
+ 'Add validation back',
14
+ 'Move logic to proper layer',
15
+ 'Remove temporary code',
16
+ ];
17
+ function asObjectRecord(value) {
18
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
19
+ return null;
20
+ }
21
+ return value;
22
+ }
23
+ function asObjectArray(value) {
24
+ if (!Array.isArray(value)) {
25
+ return [];
26
+ }
27
+ return value
28
+ .map((item) => asObjectRecord(item))
29
+ .filter((item) => item !== null);
30
+ }
31
+ function asBooleanFlag(value) {
32
+ return typeof value === 'boolean' ? value : null;
33
+ }
34
+ function asNumberValue(value) {
35
+ return typeof value === 'number' && Number.isFinite(value) ? value : null;
36
+ }
37
+ function asStringValue(value) {
38
+ return typeof value === 'string' && value.trim().length > 0 ? value : null;
39
+ }
40
+ function containsAnyToken(value, tokens) {
41
+ const normalized = value.toLowerCase();
42
+ return tokens.some((token) => normalized.includes(token));
43
+ }
44
+ function isSecurityOrAuthViolation(fileRaw, policyRaw, messageRaw) {
45
+ const combined = `${fileRaw} ${policyRaw} ${messageRaw}`.toLowerCase();
46
+ return containsAnyToken(combined, [
47
+ 'auth',
48
+ 'authentication',
49
+ 'authorization',
50
+ 'security',
51
+ 'permission',
52
+ 'access control',
53
+ 'access_control',
54
+ 'token',
55
+ 'secret',
56
+ 'credential',
57
+ 'encryption',
58
+ 'encrypt',
59
+ 'decrypt',
60
+ 'csrf',
61
+ 'xss',
62
+ 'sql injection',
63
+ 'sqli',
64
+ 'insecure',
65
+ 'vulnerability',
66
+ ]);
67
+ }
68
+ function isCriticalScopeBreach(fileRaw, messageRaw) {
69
+ const combined = `${fileRaw} ${messageRaw}`.toLowerCase();
70
+ return containsAnyToken(combined, [
71
+ 'auth',
72
+ 'security',
73
+ 'secret',
74
+ 'token',
75
+ 'credential',
76
+ 'permission',
77
+ 'infra/terraform',
78
+ 'terraform',
79
+ 'k8s',
80
+ 'helm',
81
+ 'migration',
82
+ 'database/migration',
83
+ 'policy',
84
+ 'contract',
85
+ ]);
86
+ }
87
+ function resolveExpediteModeFromPayload(payload) {
88
+ const explicit = asBooleanFlag(payload.expediteMode);
89
+ if (explicit !== null) {
90
+ return explicit;
91
+ }
92
+ const message = asStringValue(payload.message) || '';
93
+ return containsAnyToken(message, ['hotfix', 'urgent', 'prod down', 'incident', 'expedite']);
94
+ }
95
+ function toVerifySeverity(value) {
96
+ const normalized = typeof value === 'string' ? value.trim().toLowerCase() : '';
97
+ if (normalized === 'critical' || normalized === 'block')
98
+ return 'critical';
99
+ if (normalized === 'high')
100
+ return 'high';
101
+ if (normalized === 'warn'
102
+ || normalized === 'warning'
103
+ || normalized === 'medium'
104
+ || normalized === 'low') {
105
+ return 'warning';
106
+ }
107
+ return 'info';
108
+ }
109
+ function toVerifyVerdict(value) {
110
+ const normalized = typeof value === 'string' ? value.trim().toUpperCase() : '';
111
+ if (normalized === 'PASS' || normalized === 'WARN' || normalized === 'FAIL') {
112
+ return normalized;
113
+ }
114
+ return 'FAIL';
115
+ }
116
+ function normalizeScopeIssueMessage(rawMessage) {
117
+ const message = asStringValue(rawMessage);
118
+ return message || 'File modified outside intended scope';
119
+ }
120
+ function pushVerifyIssue(target, seen, key, value) {
121
+ if (seen.has(key))
122
+ return;
123
+ seen.add(key);
124
+ target.push(value);
125
+ }
126
+ function dedupeTriageItems(items) {
127
+ const seen = new Set();
128
+ const output = [];
129
+ for (const item of items) {
130
+ const key = `${item.source}|${item.file.toLowerCase()}|${item.policy.toLowerCase()}|${item.message.toLowerCase()}`;
131
+ if (seen.has(key))
132
+ continue;
133
+ seen.add(key);
134
+ output.push(item);
135
+ }
136
+ return output;
137
+ }
138
+ function toCanonicalVerifyOutput(payload) {
139
+ const verdict = toVerifyVerdict(payload.verdict);
140
+ const violations = [];
141
+ const warnings = [];
142
+ const scopeIssues = [];
143
+ const seenViolations = new Set();
144
+ const seenWarnings = new Set();
145
+ const seenScopeIssues = new Set();
146
+ const addScopeIssue = (fileRaw, messageRaw) => {
147
+ const file = asStringValue(fileRaw) || 'unknown';
148
+ const message = normalizeScopeIssueMessage(messageRaw);
149
+ const key = file.toLowerCase();
150
+ pushVerifyIssue(scopeIssues, seenScopeIssues, key, { file, message });
151
+ };
152
+ const addWarning = (fileRaw, messageRaw, policyRaw) => {
153
+ const file = asStringValue(fileRaw) || 'unknown';
154
+ const message = asStringValue(messageRaw) || 'Warning detected';
155
+ const policy = asStringValue(policyRaw) || 'warning';
156
+ const key = `${file.toLowerCase()}|${message.toLowerCase()}|${policy.toLowerCase()}`;
157
+ pushVerifyIssue(warnings, seenWarnings, key, { file, message, policy });
158
+ };
159
+ const addViolation = (fileRaw, messageRaw, policyRaw, severityRaw) => {
160
+ const file = asStringValue(fileRaw) || 'unknown';
161
+ const message = asStringValue(messageRaw) || 'Policy violation detected';
162
+ const policy = asStringValue(policyRaw) || 'unknown_policy';
163
+ const severity = toVerifySeverity(severityRaw);
164
+ const key = `${file.toLowerCase()}|${message.toLowerCase()}|${policy.toLowerCase()}|${severity}`;
165
+ pushVerifyIssue(violations, seenViolations, key, { file, message, policy, severity });
166
+ };
167
+ const rawScopeIssues = Array.isArray(payload.scopeIssues) ? payload.scopeIssues : [];
168
+ for (const item of rawScopeIssues) {
169
+ const record = asObjectRecord(item);
170
+ if (record) {
171
+ addScopeIssue(record.file, record.message);
172
+ }
173
+ else {
174
+ addScopeIssue(item, null);
175
+ }
176
+ }
177
+ const rawBloatFiles = Array.isArray(payload.bloatFiles) ? payload.bloatFiles : [];
178
+ for (const item of rawBloatFiles) {
179
+ addScopeIssue(item, null);
180
+ }
181
+ const rawWarnings = Array.isArray(payload.warnings) ? payload.warnings : [];
182
+ for (const item of rawWarnings) {
183
+ const record = asObjectRecord(item);
184
+ if (record) {
185
+ addWarning(record.file, record.message, record.policy ?? record.rule);
186
+ }
187
+ else if (typeof item === 'string') {
188
+ addWarning('unknown', item, 'warning');
189
+ }
190
+ }
191
+ const rawViolations = Array.isArray(payload.violations) ? payload.violations : [];
192
+ for (const item of rawViolations) {
193
+ const record = asObjectRecord(item);
194
+ if (!record)
195
+ continue;
196
+ const file = record.file;
197
+ const message = record.message;
198
+ const policy = record.policy ?? record.rule;
199
+ const severity = toVerifySeverity(record.severity);
200
+ const combined = `${String(policy || '').toLowerCase()} ${String(message || '').toLowerCase()}`;
201
+ const isScopeIssue = combined.includes('scope_guard')
202
+ || combined.includes('scope')
203
+ || combined.includes('outside the plan')
204
+ || combined.includes('out of scope');
205
+ if (isScopeIssue) {
206
+ addScopeIssue(file, message);
207
+ continue;
208
+ }
209
+ const policyStr = String(policy || '').toLowerCase();
210
+ const isArtifactCheck = policyStr === 'deterministic_artifacts_required'
211
+ || policyStr === 'signed_artifacts_required';
212
+ if (isArtifactCheck) {
213
+ addWarning(file, message, policy);
214
+ continue;
215
+ }
216
+ if (severity === 'warning' || severity === 'info') {
217
+ addWarning(file, message, policy);
218
+ continue;
219
+ }
220
+ addViolation(file, message, policy, severity);
221
+ }
222
+ const payloadMessage = asStringValue(payload.message);
223
+ if (payloadMessage
224
+ && violations.length === 0
225
+ && warnings.length === 0
226
+ && scopeIssues.length === 0) {
227
+ addWarning('unknown', payloadMessage, 'verify_result');
228
+ }
229
+ const summaryRecord = asObjectRecord(payload.summary);
230
+ const fileSet = new Set();
231
+ for (const violation of violations)
232
+ fileSet.add(violation.file);
233
+ for (const warning of warnings)
234
+ fileSet.add(warning.file);
235
+ for (const scopeIssue of scopeIssues)
236
+ fileSet.add(scopeIssue.file);
237
+ const totalFilesChanged = (() => {
238
+ const fromSummary = summaryRecord ? asNumberValue(summaryRecord.totalFilesChanged) : null;
239
+ if (fromSummary !== null)
240
+ return Math.max(0, Math.floor(fromSummary));
241
+ const blastRadius = asObjectRecord(payload.blastRadius);
242
+ const fromBlastRadius = blastRadius ? asNumberValue(blastRadius.filesChanged) : null;
243
+ if (fromBlastRadius !== null)
244
+ return Math.max(0, Math.floor(fromBlastRadius));
245
+ return fileSet.size;
246
+ })();
247
+ const driftScoreRaw = asNumberValue(payload.driftScore);
248
+ const driftScore = driftScoreRaw === null
249
+ ? undefined
250
+ : Math.max(0, Math.min(100, Math.round(driftScoreRaw)));
251
+ const expediteModeUsed = resolveExpediteModeFromPayload(payload);
252
+ const scopeTriageItems = scopeIssues.map((item) => ({
253
+ file: item.file,
254
+ message: item.message,
255
+ policy: 'scope_guard',
256
+ severity: 'block',
257
+ source: 'scope',
258
+ }));
259
+ const violationTriageItems = violations.map((item) => ({
260
+ file: item.file,
261
+ message: item.message,
262
+ policy: item.policy,
263
+ severity: item.severity,
264
+ source: 'violation',
265
+ }));
266
+ const warningTriageItems = warnings.map((item) => ({
267
+ file: item.file,
268
+ message: item.message,
269
+ policy: item.policy,
270
+ severity: 'warning',
271
+ source: 'warning',
272
+ }));
273
+ const defaultBlockingItems = dedupeTriageItems([
274
+ ...scopeTriageItems,
275
+ ...violationTriageItems.filter((item) => item.severity === 'critical' || item.severity === 'high'),
276
+ ]);
277
+ const defaultAdvisoryItems = dedupeTriageItems([
278
+ ...warningTriageItems,
279
+ ...violationTriageItems.filter((item) => item.severity === 'warning' || item.severity === 'info'),
280
+ ]);
281
+ const expediteBlockingItems = dedupeTriageItems([
282
+ ...scopeTriageItems.filter((item) => isCriticalScopeBreach(item.file, item.message)),
283
+ ...violationTriageItems.filter((item) => isSecurityOrAuthViolation(item.file, item.policy, item.message)),
284
+ ...warningTriageItems
285
+ .filter((item) => isSecurityOrAuthViolation(item.file, item.policy, item.message))
286
+ .map((item) => ({
287
+ ...item,
288
+ source: 'violation',
289
+ })),
290
+ ]);
291
+ const expediteItems = dedupeTriageItems([
292
+ ...scopeTriageItems
293
+ .filter((item) => !isCriticalScopeBreach(item.file, item.message))
294
+ .map((item) => ({
295
+ ...item,
296
+ source: 'expedite',
297
+ })),
298
+ ...violationTriageItems
299
+ .filter((item) => !isSecurityOrAuthViolation(item.file, item.policy, item.message))
300
+ .map((item) => ({
301
+ ...item,
302
+ source: 'expedite',
303
+ })),
304
+ ...warningTriageItems
305
+ .filter((item) => !isSecurityOrAuthViolation(item.file, item.policy, item.message))
306
+ .map((item) => ({
307
+ ...item,
308
+ source: 'expedite',
309
+ })),
310
+ ]);
311
+ const rawIntentIssues = Array.isArray(payload.intentIssues) ? payload.intentIssues : [];
312
+ const intentDomains = Array.isArray(payload.intentDomains) ? payload.intentDomains : [];
313
+ const intentSummary = (payload.intentSummary ?? null);
314
+ const rawFlowIssues = Array.isArray(payload.flowIssues) ? payload.flowIssues : [];
315
+ const rawRegressions = Array.isArray(payload.regressions) ? payload.regressions : [];
316
+ const intentBlockingTriageItems = rawIntentIssues
317
+ .filter((issue) => issue.severity === 'high')
318
+ .map((issue) => ({
319
+ file: (issue.files?.[0]) ?? 'intent-analysis',
320
+ message: issue.message,
321
+ policy: issue.rule,
322
+ severity: 'high',
323
+ source: 'violation',
324
+ }));
325
+ const intentAdvisoryTriageItems = rawIntentIssues
326
+ .filter((issue) => issue.severity === 'medium')
327
+ .map((issue) => ({
328
+ file: (issue.files?.[0]) ?? 'intent-analysis',
329
+ message: issue.message,
330
+ policy: issue.rule,
331
+ severity: 'warning',
332
+ source: 'warning',
333
+ }));
334
+ const flowBlockingTriageItems = rawFlowIssues
335
+ .filter((issue) => issue.severity === 'high')
336
+ .map((issue) => ({
337
+ file: (issue.files?.[0]) ?? 'flow-analysis',
338
+ message: issue.message,
339
+ policy: issue.rule,
340
+ severity: 'high',
341
+ source: 'violation',
342
+ }));
343
+ const flowAdvisoryTriageItems = rawFlowIssues
344
+ .filter((issue) => issue.severity === 'medium')
345
+ .map((issue) => ({
346
+ file: (issue.files?.[0]) ?? 'flow-analysis',
347
+ message: issue.message,
348
+ policy: issue.rule,
349
+ severity: 'warning',
350
+ source: 'warning',
351
+ }));
352
+ let blockingItems = expediteModeUsed ? expediteBlockingItems : defaultBlockingItems;
353
+ let advisoryItems = expediteModeUsed ? expediteItems : defaultAdvisoryItems;
354
+ if (intentBlockingTriageItems.length > 0) {
355
+ blockingItems = dedupeTriageItems([...blockingItems, ...intentBlockingTriageItems]);
356
+ }
357
+ if (intentAdvisoryTriageItems.length > 0) {
358
+ advisoryItems = dedupeTriageItems([...advisoryItems, ...intentAdvisoryTriageItems]);
359
+ }
360
+ if (flowBlockingTriageItems.length > 0) {
361
+ blockingItems = dedupeTriageItems([...blockingItems, ...flowBlockingTriageItems]);
362
+ }
363
+ if (flowAdvisoryTriageItems.length > 0) {
364
+ advisoryItems = dedupeTriageItems([...advisoryItems, ...flowAdvisoryTriageItems]);
365
+ }
366
+ const regressionBlockingTriageItems = rawRegressions.map((regression) => ({
367
+ file: 'regression-analysis',
368
+ message: regression.message,
369
+ policy: regression.rule,
370
+ severity: 'high',
371
+ source: 'violation',
372
+ }));
373
+ if (regressionBlockingTriageItems.length > 0) {
374
+ blockingItems = dedupeTriageItems([...regressionBlockingTriageItems, ...blockingItems]);
375
+ }
376
+ const grade = verdict === 'PASS' ? 'A' : verdict === 'WARN' ? 'C' : 'F';
377
+ const canonical = {
378
+ grade,
379
+ score: violations.length === 0 && warnings.length === 0 && scopeIssues.length === 0 ? 100 : 0,
380
+ verdict,
381
+ summary: {
382
+ totalFilesChanged,
383
+ totalViolations: violations.length,
384
+ totalWarnings: warnings.length,
385
+ totalScopeIssues: scopeIssues.length,
386
+ },
387
+ violations,
388
+ warnings,
389
+ scopeIssues,
390
+ blockingCount: blockingItems.length,
391
+ advisoryCount: advisoryItems.length,
392
+ blockingItems,
393
+ advisoryItems,
394
+ intentIssues: rawIntentIssues,
395
+ intentDomains,
396
+ intentSummary,
397
+ flowIssues: rawFlowIssues,
398
+ regressions: rawRegressions,
399
+ expediteModeUsed,
400
+ expediteCount: expediteModeUsed ? expediteItems.length : 0,
401
+ expediteItems: expediteModeUsed ? expediteItems : [],
402
+ expediteFollowUpChecklist: expediteModeUsed ? [...exports.EXPEDITE_FOLLOW_UP_CHECKLIST] : [],
403
+ ...(expediteModeUsed ? { expediteNote: 'Expedite Mode used' } : {}),
404
+ ...(typeof driftScore === 'number' ? { driftScore } : {}),
405
+ };
406
+ const passthroughKeys = [
407
+ 'message',
408
+ 'mode',
409
+ 'ciMode',
410
+ 'replayChecksum',
411
+ 'replayMode',
412
+ 'replayIntegrity',
413
+ 'policyOnly',
414
+ 'policyOnlySource',
415
+ 'policySources',
416
+ 'scopeGuardPassed',
417
+ 'policyLock',
418
+ 'policyCompilation',
419
+ 'policyExceptions',
420
+ 'policyGovernance',
421
+ 'changeContract',
422
+ 'runtimeGuard',
423
+ 'governanceDecision',
424
+ 'intentGovernance',
425
+ 'engineeringContext',
426
+ 'driftIntelligence',
427
+ 'orgGovernance',
428
+ 'aiChangeLog',
429
+ 'verificationSource',
430
+ 'tier',
431
+ 'aiDebt',
432
+ 'blastRadius',
433
+ 'suspiciousChange',
434
+ 'policyDecision',
435
+ 'policyPack',
436
+ 'changeContractViolations',
437
+ 'governanceVerification',
438
+ 'governanceFindings',
439
+ 'structuralViolations',
440
+ 'structuralRulesApplied',
441
+ 'structuralSuppressedCount',
442
+ ];
443
+ const canonicalMutable = canonical;
444
+ for (const key of passthroughKeys) {
445
+ const value = payload[key];
446
+ if (Object.prototype.hasOwnProperty.call(payload, key) && value !== undefined && value !== null) {
447
+ canonicalMutable[key] = value;
448
+ }
449
+ }
450
+ canonical.violations = canonical.violations.map((item) => ({
451
+ ...item,
452
+ rule: item.policy,
453
+ }));
454
+ canonical.warnings = canonical.warnings.map((item) => ({
455
+ ...item,
456
+ rule: item.policy,
457
+ }));
458
+ return canonical;
459
+ }
460
+ function emitCanonicalVerifyJson(payload, onEmit) {
461
+ const canonical = toCanonicalVerifyOutput((0, canonical_pipeline_1.attachCanonicalGovernance)(payload));
462
+ onEmit?.(canonical);
463
+ const serialized = Buffer.from(`${JSON.stringify(canonical, null, 2)}\n`, 'utf-8');
464
+ try {
465
+ let offset = 0;
466
+ while (offset < serialized.length) {
467
+ try {
468
+ const written = (0, fs_1.writeSync)(1, serialized, offset, serialized.length - offset);
469
+ if (written <= 0)
470
+ break;
471
+ offset += written;
472
+ }
473
+ catch (error) {
474
+ const code = error.code;
475
+ if (code === 'EAGAIN' || code === 'EWOULDBLOCK') {
476
+ continue;
477
+ }
478
+ throw error;
479
+ }
480
+ }
481
+ }
482
+ catch {
483
+ process.stdout.write(serialized.toString('utf-8'));
484
+ }
485
+ }
486
+ function buildDeterministicLayerSummary(payload) {
487
+ const verdict = asStringValue(payload.verdict) || 'UNKNOWN';
488
+ const mode = asStringValue(payload.mode) || 'unknown';
489
+ const policyOnly = payload.policyOnly === true;
490
+ const scopeGuardPassed = asBooleanFlag(payload.scopeGuardPassed);
491
+ const violations = asObjectArray(payload.violations);
492
+ const policyViolations = violations.filter((entry) => {
493
+ const rule = String(entry.rule || '').toLowerCase();
494
+ return (!rule.includes('scope_guard')
495
+ && !rule.includes('change_contract')
496
+ && !rule.includes('runtime_guard')
497
+ && !rule.includes('deterministic_artifacts_required')
498
+ && !rule.includes('signed_artifacts_required'));
499
+ });
500
+ const policyBlocking = policyViolations.filter((entry) => String(entry.severity || '').toLowerCase() === 'block');
501
+ const policyWarnings = policyViolations.filter((entry) => String(entry.severity || '').toLowerCase() === 'warn');
502
+ const changeContract = asObjectRecord(payload.changeContract);
503
+ const changeContractValid = asBooleanFlag(changeContract?.valid);
504
+ const changeContractEnforced = changeContract?.enforced === true;
505
+ const changeContractViolations = Array.isArray(changeContract?.violations)
506
+ ? (changeContract?.violations).length
507
+ : 0;
508
+ const explicitContractViolations = violations.filter((entry) => {
509
+ const rule = String(entry.rule || '').toLowerCase();
510
+ return rule.includes('scope_guard') || rule.includes('change_contract');
511
+ }).length;
512
+ const runtimeGuard = asObjectRecord(payload.runtimeGuard);
513
+ const runtimeGuardRequired = runtimeGuard?.required === true;
514
+ const runtimeGuardPass = asBooleanFlag(runtimeGuard?.pass);
515
+ const runtimeGuardViolations = Array.isArray(runtimeGuard?.violations)
516
+ ? (runtimeGuard?.violations).length
517
+ : violations.filter((entry) => String(entry.rule || '').toLowerCase().includes('runtime_guard')).length;
518
+ const policyCompilation = asObjectRecord(payload.policyCompilation);
519
+ const deterministicRuleCount = asNumberValue(policyCompilation?.deterministicRuleCount);
520
+ const unmatchedStatements = asNumberValue(policyCompilation?.unmatchedStatements);
521
+ let policyGateStatus = 'pass';
522
+ if (policyBlocking.length > 0) {
523
+ policyGateStatus = 'fail';
524
+ }
525
+ else if (policyWarnings.length > 0 || verdict === 'WARN') {
526
+ policyGateStatus = 'warn';
527
+ }
528
+ let contractGateStatus = 'not_applicable';
529
+ if (!policyOnly) {
530
+ contractGateStatus = 'pass';
531
+ if (changeContractEnforced
532
+ && (changeContractValid === false
533
+ || changeContractViolations > 0
534
+ || explicitContractViolations > 0
535
+ || scopeGuardPassed === false)) {
536
+ contractGateStatus = 'fail';
537
+ }
538
+ else if (!changeContractEnforced && (changeContractViolations > 0 || explicitContractViolations > 0)) {
539
+ contractGateStatus = 'warn';
540
+ }
541
+ }
542
+ let runtimeGuardStatus = 'not_applicable';
543
+ if (runtimeGuardRequired) {
544
+ runtimeGuardStatus = runtimeGuardPass === false || runtimeGuardViolations > 0 ? 'fail' : 'pass';
545
+ }
546
+ else if (runtimeGuardViolations > 0) {
547
+ runtimeGuardStatus = 'fail';
548
+ }
549
+ return {
550
+ policyGate: {
551
+ status: policyGateStatus,
552
+ blockingViolations: policyBlocking.length,
553
+ warningViolations: policyWarnings.length,
554
+ deterministicRuleCount: deterministicRuleCount ?? null,
555
+ unmatchedStatements: unmatchedStatements ?? null,
556
+ },
557
+ contractGate: {
558
+ status: contractGateStatus,
559
+ enforced: changeContractEnforced,
560
+ valid: changeContractValid,
561
+ violationCount: changeContractViolations + explicitContractViolations,
562
+ mode,
563
+ },
564
+ runtimeGuardGate: {
565
+ status: runtimeGuardStatus,
566
+ required: runtimeGuardRequired,
567
+ pass: runtimeGuardPass,
568
+ violationCount: runtimeGuardViolations,
569
+ },
570
+ };
571
+ }
572
+ //# sourceMappingURL=verify-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-output.js","sourceRoot":"","sources":["../../src/commands/verify-output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { evaluateGovernance } from '../utils/governance';
2
+ import type { FlowIssue, IntentIssue, IntentSummary, RegressionIssue } from '../intent-engine';
3
+ import type { StructuralViolation } from '../structural-rules';
4
+ interface VerifyDisplayResult {
5
+ adherenceScore: number;
6
+ bloatCount: number;
7
+ bloatFiles: string[];
8
+ plannedFilesModified: number;
9
+ totalPlannedFiles: number;
10
+ verdict: 'PASS' | 'FAIL' | 'WARN';
11
+ message: string;
12
+ }
13
+ interface PolicyViolationDisplayItem {
14
+ rule: string;
15
+ file: string;
16
+ severity: string;
17
+ message?: string;
18
+ }
19
+ interface ChangeContractDisplaySummary {
20
+ path: string;
21
+ violations: Array<{
22
+ code: string;
23
+ message: string;
24
+ file?: string;
25
+ symbol?: string;
26
+ symbolType?: string;
27
+ expected?: string;
28
+ actual?: string;
29
+ }>;
30
+ }
31
+ export declare function displayGovernanceInsights(chalk: any, governance: ReturnType<typeof evaluateGovernance>, options?: {
32
+ explain?: boolean;
33
+ maxUnexpectedFiles?: number;
34
+ }): void;
35
+ export declare function displayChangeContractDrift(chalk: any, summary: ChangeContractDisplaySummary, options?: {
36
+ advisory: boolean;
37
+ maxItemsPerGroup?: number;
38
+ }): void;
39
+ export declare function displayVerifyResults(chalk: any, result: VerifyDisplayResult, policyViolations?: PolicyViolationDisplayItem[], expediteModeUsed?: boolean, intentIssuesForDisplay?: IntentIssue[], intentSummaryForDisplay?: IntentSummary | null, flowIssuesForDisplay?: FlowIssue[], regressionsForDisplay?: RegressionIssue[], structuralViolationsForDisplay?: StructuralViolation[]): void;
40
+ export {};
41
+ //# sourceMappingURL=verify-render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-render.d.ts","sourceRoot":"","sources":["../../src/commands/verify-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAKzD,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAQ/D,UAAU,mBAAmB;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,0BAA0B;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,4BAA4B;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,GAAG,EACV,UAAU,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,EACjD,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/D,IAAI,CA0QN;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,4BAA4B,EACrC,OAAO,GAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAwB,GAC9E,IAAI,CAkCN;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,mBAAmB,EAC3B,gBAAgB,GAAE,0BAA0B,EAAO,EACnD,gBAAgB,UAAQ,EACxB,sBAAsB,GAAE,WAAW,EAAO,EAC1C,uBAAuB,GAAE,aAAa,GAAG,IAAW,EACpD,oBAAoB,GAAE,SAAS,EAAO,EACtC,qBAAqB,GAAE,eAAe,EAAO,EAC7C,8BAA8B,GAAE,mBAAmB,EAAO,GACzD,IAAI,CAuSN"}