@neurcode-ai/cli 0.9.65 → 0.9.66

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 (99) hide show
  1. package/dist/commands/bootstrap-policy.d.ts +29 -0
  2. package/dist/commands/bootstrap-policy.d.ts.map +1 -0
  3. package/dist/commands/bootstrap-policy.js +334 -0
  4. package/dist/commands/bootstrap-policy.js.map +1 -0
  5. package/dist/commands/doctor.d.ts.map +1 -1
  6. package/dist/commands/doctor.js +82 -0
  7. package/dist/commands/doctor.js.map +1 -1
  8. package/dist/commands/quickstart.d.ts +21 -0
  9. package/dist/commands/quickstart.d.ts.map +1 -0
  10. package/dist/commands/quickstart.js +178 -0
  11. package/dist/commands/quickstart.js.map +1 -0
  12. package/dist/commands/remediate-export.d.ts +31 -0
  13. package/dist/commands/remediate-export.d.ts.map +1 -0
  14. package/dist/commands/remediate-export.js +283 -0
  15. package/dist/commands/remediate-export.js.map +1 -0
  16. package/dist/commands/verify.d.ts.map +1 -1
  17. package/dist/commands/verify.js +106 -10
  18. package/dist/commands/verify.js.map +1 -1
  19. package/dist/governance/canonical-invariants.d.ts +88 -0
  20. package/dist/governance/canonical-invariants.d.ts.map +1 -0
  21. package/dist/governance/canonical-invariants.js +197 -0
  22. package/dist/governance/canonical-invariants.js.map +1 -0
  23. package/dist/governance/canonical-ordering.d.ts +76 -0
  24. package/dist/governance/canonical-ordering.d.ts.map +1 -0
  25. package/dist/governance/canonical-ordering.js +189 -0
  26. package/dist/governance/canonical-ordering.js.map +1 -0
  27. package/dist/governance/canonical-pipeline.d.ts +7 -0
  28. package/dist/governance/canonical-pipeline.d.ts.map +1 -1
  29. package/dist/governance/canonical-pipeline.js +184 -16
  30. package/dist/governance/canonical-pipeline.js.map +1 -1
  31. package/dist/governance/diff-line-provenance.d.ts +59 -0
  32. package/dist/governance/diff-line-provenance.d.ts.map +1 -0
  33. package/dist/governance/diff-line-provenance.js +118 -0
  34. package/dist/governance/diff-line-provenance.js.map +1 -0
  35. package/dist/governance/pilot-readiness.d.ts +34 -0
  36. package/dist/governance/pilot-readiness.d.ts.map +1 -0
  37. package/dist/governance/pilot-readiness.js +226 -0
  38. package/dist/governance/pilot-readiness.js.map +1 -0
  39. package/dist/governance/policy-parity-validator.d.ts +62 -0
  40. package/dist/governance/policy-parity-validator.d.ts.map +1 -0
  41. package/dist/governance/policy-parity-validator.js +137 -0
  42. package/dist/governance/policy-parity-validator.js.map +1 -0
  43. package/dist/governance/remediation-boundary.d.ts +55 -0
  44. package/dist/governance/remediation-boundary.d.ts.map +1 -0
  45. package/dist/governance/remediation-boundary.js +120 -0
  46. package/dist/governance/remediation-boundary.js.map +1 -0
  47. package/dist/governance/structural-cache.d.ts +103 -0
  48. package/dist/governance/structural-cache.d.ts.map +1 -0
  49. package/dist/governance/structural-cache.js +240 -0
  50. package/dist/governance/structural-cache.js.map +1 -0
  51. package/dist/governance/structural-on-diff.d.ts +22 -2
  52. package/dist/governance/structural-on-diff.d.ts.map +1 -1
  53. package/dist/governance/structural-on-diff.js +36 -4
  54. package/dist/governance/structural-on-diff.js.map +1 -1
  55. package/dist/governance/structural-policy-merge.d.ts +8 -0
  56. package/dist/governance/structural-policy-merge.d.ts.map +1 -1
  57. package/dist/governance/structural-policy-merge.js +7 -0
  58. package/dist/governance/structural-policy-merge.js.map +1 -1
  59. package/dist/governance/verify-runtime-guard.d.ts +99 -0
  60. package/dist/governance/verify-runtime-guard.d.ts.map +1 -0
  61. package/dist/governance/verify-runtime-guard.js +129 -0
  62. package/dist/governance/verify-runtime-guard.js.map +1 -0
  63. package/dist/index.js +50 -14
  64. package/dist/index.js.map +1 -1
  65. package/dist/intent-engine/repo-classifier.d.ts +64 -0
  66. package/dist/intent-engine/repo-classifier.d.ts.map +1 -0
  67. package/dist/intent-engine/repo-classifier.js +178 -0
  68. package/dist/intent-engine/repo-classifier.js.map +1 -0
  69. package/dist/structural-rules/index.d.ts +4 -0
  70. package/dist/structural-rules/index.d.ts.map +1 -1
  71. package/dist/structural-rules/index.js +18 -1
  72. package/dist/structural-rules/index.js.map +1 -1
  73. package/dist/structural-rules/python/PY003-broad-except-clause.d.ts +21 -0
  74. package/dist/structural-rules/python/PY003-broad-except-clause.d.ts.map +1 -1
  75. package/dist/structural-rules/python/PY003-broad-except-clause.js +212 -21
  76. package/dist/structural-rules/python/PY003-broad-except-clause.js.map +1 -1
  77. package/dist/structural-rules/python/PY011-thread-lifecycle.d.ts +11 -0
  78. package/dist/structural-rules/python/PY011-thread-lifecycle.d.ts.map +1 -0
  79. package/dist/structural-rules/python/PY011-thread-lifecycle.js +97 -0
  80. package/dist/structural-rules/python/PY011-thread-lifecycle.js.map +1 -0
  81. package/dist/structural-rules/python/PY012-asyncio-run-misuse.d.ts +11 -0
  82. package/dist/structural-rules/python/PY012-asyncio-run-misuse.d.ts.map +1 -0
  83. package/dist/structural-rules/python/PY012-asyncio-run-misuse.js +83 -0
  84. package/dist/structural-rules/python/PY012-asyncio-run-misuse.js.map +1 -0
  85. package/dist/structural-rules/python/PY013-mutable-default-arg.d.ts +11 -0
  86. package/dist/structural-rules/python/PY013-mutable-default-arg.d.ts.map +1 -0
  87. package/dist/structural-rules/python/PY013-mutable-default-arg.js +73 -0
  88. package/dist/structural-rules/python/PY013-mutable-default-arg.js.map +1 -0
  89. package/dist/structural-rules/python/PY014-fixed-sleep-retry.d.ts +11 -0
  90. package/dist/structural-rules/python/PY014-fixed-sleep-retry.d.ts.map +1 -0
  91. package/dist/structural-rules/python/PY014-fixed-sleep-retry.js +115 -0
  92. package/dist/structural-rules/python/PY014-fixed-sleep-retry.js.map +1 -0
  93. package/dist/structural-rules/types.d.ts +12 -0
  94. package/dist/structural-rules/types.d.ts.map +1 -1
  95. package/dist/utils/verify-runtime-stability.d.ts +142 -0
  96. package/dist/utils/verify-runtime-stability.d.ts.map +1 -0
  97. package/dist/utils/verify-runtime-stability.js +230 -0
  98. package/dist/utils/verify-runtime-stability.js.map +1 -0
  99. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stripStructuralPolicyRows = stripStructuralPolicyRows;
3
4
  exports.findingFromStructural = findingFromStructural;
4
5
  exports.findingFromPolicyEngine = findingFromPolicyEngine;
5
6
  exports.findingFromIntentIssue = findingFromIntentIssue;
@@ -12,9 +13,20 @@ exports.attachCanonicalGovernance = attachCanonicalGovernance;
12
13
  exports.evaluateGovernanceReplayIntegrity = evaluateGovernanceReplayIntegrity;
13
14
  const crypto_1 = require("crypto");
14
15
  const contracts_1 = require("@neurcode-ai/contracts");
16
+ const canonical_invariants_1 = require("./canonical-invariants");
17
+ const canonical_ordering_1 = require("./canonical-ordering");
15
18
  function stableFindingId(parts) {
16
19
  return (0, crypto_1.createHash)('sha256').update(parts.join('\x1e')).digest('hex').slice(0, 32);
17
20
  }
21
+ /**
22
+ * Strip structural:* prefixed violations from the policy-engine row list.
23
+ * These are already represented in structuralViolations — keeping them in
24
+ * policyViolations causes cross-source duplicate GovernanceFinding objects.
25
+ * Called by attachCanonicalGovernance before building the envelope.
26
+ */
27
+ function stripStructuralPolicyRows(violations) {
28
+ return violations.filter(v => !String(v.rule ?? '').startsWith('structural:'));
29
+ }
18
30
  function rankDeterminism(d) {
19
31
  switch (d) {
20
32
  case 'deterministic-structural':
@@ -198,19 +210,60 @@ function behavioralClusterKey(finding) {
198
210
  return 'operational-governance-risk';
199
211
  }
200
212
  function compressByLocation(findings) {
213
+ // ── Pass 1: build a ruleId-aware identity map for structural findings ─────
214
+ // Key: filePath + line + ruleId (from structuralMetadata)
215
+ // This ensures that when the same structural violation appears from both
216
+ // the structural-rules source AND a policy-engine structural:* row,
217
+ // we can identify and absorb the duplicate before bucket compression.
218
+ const structuralById = new Map();
219
+ for (const f of findings) {
220
+ if (f.sourceSystem === 'structural-rules' && f.structuralMetadata?.ruleId) {
221
+ const key = `${f.evidence.filePath ?? ''}\x00${f.evidence.line ?? 0}\x00${f.structuralMetadata.ruleId}`;
222
+ structuralById.set(key, f);
223
+ }
224
+ }
225
+ // ── Pass 2: bucket by location + behavior, absorb structural duplicates ───
201
226
  const buckets = new Map();
227
+ let duplicateCount = 0;
202
228
  for (const f of findings) {
229
+ // If this is a policy-engine row that mirrors a structural finding, absorb it
230
+ if (f.sourceSystem === 'policy-engine') {
231
+ const ruleId = String(f.structuralMetadata?.ruleId ?? f.title.match(/^Policy · structural:(.+)$/)?.[1] ?? '');
232
+ if (ruleId) {
233
+ const structKey = `${f.evidence.filePath ?? ''}\x00${f.evidence.line ?? 0}\x00${ruleId}`;
234
+ const primary = structuralById.get(structKey);
235
+ if (primary) {
236
+ // Absorb into structural primary's mergedFrom — do not add to buckets
237
+ const mergedFrom = [...(primary.mergedFrom ?? [primary.id]), f.id];
238
+ structuralById.set(structKey, { ...primary, mergedFrom });
239
+ duplicateCount++;
240
+ continue;
241
+ }
242
+ }
243
+ }
203
244
  const fp = f.evidence.filePath ?? 'unknown';
204
245
  const ln = f.evidence.line ?? 0;
205
246
  const sev = f.severity;
247
+ const ruleKey = f.structuralMetadata?.ruleId ?? '';
206
248
  const behavior = behavioralClusterKey(f);
207
- const key = `${fp}\x00${ln}\x00${sev}\x00${behavior}`;
249
+ // Include ruleId in the bucket key so distinct rules at the same line
250
+ // are never merged — only identical-rule duplicates across source systems.
251
+ const key = `${fp}\x00${ln}\x00${sev}\x00${ruleKey}\x00${behavior}`;
208
252
  const list = buckets.get(key) ?? [];
209
253
  list.push(f);
210
254
  buckets.set(key, list);
211
255
  }
256
+ // ── Pass 3: replace bucket entries with absorbed structural findings ───────
257
+ // Update bucket entries to use the absorbed (mergedFrom-enriched) versions
258
+ for (const [key, group] of buckets) {
259
+ buckets.set(key, group.map(f => {
260
+ if (f.sourceSystem !== 'structural-rules' || !f.structuralMetadata?.ruleId)
261
+ return f;
262
+ const structKey = `${f.evidence.filePath ?? ''}\x00${f.evidence.line ?? 0}\x00${f.structuralMetadata.ruleId}`;
263
+ return structuralById.get(structKey) ?? f;
264
+ }));
265
+ }
212
266
  const merged = [];
213
- let duplicateCount = 0;
214
267
  for (const [, group] of buckets) {
215
268
  if (group.length === 1) {
216
269
  merged.push(group[0]);
@@ -273,7 +326,11 @@ function buildGovernanceVerificationEnvelope(input) {
273
326
  for (const v of input.structuralViolations ?? []) {
274
327
  raw.push(findingFromStructural(v));
275
328
  }
276
- for (const v of input.policyViolations ?? []) {
329
+ // Strip structural:* policy rows they duplicate structuralViolations entries.
330
+ // The canonical dedup in compressByLocation handles any that slip through,
331
+ // but stripping here prevents them from appearing as independent findings.
332
+ const filteredPolicyViolations = stripStructuralPolicyRows(input.policyViolations ?? []);
333
+ for (const v of filteredPolicyViolations) {
277
334
  raw.push(findingFromPolicyEngine(v));
278
335
  }
279
336
  for (const i of input.intentIssues ?? []) {
@@ -291,17 +348,38 @@ function buildGovernanceVerificationEnvelope(input) {
291
348
  for (const c of input.constraintMessages ?? []) {
292
349
  raw.push(findingFromGovernanceConstraint(c.message, c.file ?? '.neurcode/policy-compiled'));
293
350
  }
294
- for (const f of raw) {
351
+ // NOTE: provenance is assigned after canonical sort below (post compressByLocation).
352
+ const { merged: rawMerged, duplicateCount } = compressByLocation(raw);
353
+ // Phase 1: Apply canonical deterministic ordering BEFORE checksum, provenance,
354
+ // and envelope emission. This is the single authoritative sort point.
355
+ // sortCanonicalFindingsStable is pure, never mutates input.
356
+ const merged = (0, canonical_ordering_1.sortCanonicalFindingsStable)(rawMerged);
357
+ // Phase 1: Validate that the sort produced a correctly ordered array.
358
+ // If ordering drift is detected, emit warning but do NOT throw.
359
+ (0, canonical_ordering_1.validateCanonicalOrder)(merged, 'buildGovernanceVerificationEnvelope');
360
+ // Phase 3: Assign provenance AFTER ordering so that provenance assignment
361
+ // order matches the canonical finding order.
362
+ for (const f of merged) {
295
363
  if (input.provenance && !f.provenanceMetadata) {
296
364
  f.provenanceMetadata = { ...input.provenance };
297
365
  }
298
366
  }
299
- const { merged, duplicateCount } = compressByLocation(raw);
367
+ // legacyDebt findings: those demoted from BLOCKING to ADVISORY due to
368
+ // diff-scope enforcement (Phase 2). Count separately for observability.
369
+ const legacyDebtCount = merged.filter(f => f.legacyDebt === true).length;
370
+ // Phase 3: Compute deterministic replay checksum over the canonically ordered finding set.
371
+ // Input is already sorted by sortCanonicalFindingsStable — checksum is stable.
372
+ const replayChecksum = (0, canonical_invariants_1.computeCanonicalFindingChecksum)(merged);
373
+ // Phase 1 invariant guard: warn if any structural:* policy rows leaked through.
374
+ (0, canonical_invariants_1.assertNoStructuralPolicyRows)(input.policyViolations ?? [], 'buildGovernanceVerificationEnvelope');
300
375
  return {
301
376
  schemaVersion: contracts_1.GOVERNANCE_FINDINGS_SCHEMA_VERSION,
302
377
  generatedAt: new Date().toISOString(),
303
378
  findings: merged,
304
379
  compressedDuplicateCount: duplicateCount,
380
+ deduplicatedFindingCount: duplicateCount,
381
+ legacyDebtFindingCount: legacyDebtCount,
382
+ replayChecksum,
305
383
  reviewerSummary: buildReviewerSummary(merged),
306
384
  };
307
385
  }
@@ -363,7 +441,9 @@ function scopeHintsFromPayload(payload) {
363
441
  */
364
442
  function attachCanonicalGovernance(payload) {
365
443
  const structuralViolations = asStructuralViolations(payload.structuralViolations);
366
- const policyViolations = asRuleViolationsFromPayloadViolations(payload);
444
+ // Strip structural:* rows before building the envelope — these are echoed
445
+ // from mergeStructuralIntoPolicyViolations() and would cause duplicates.
446
+ const policyViolations = stripStructuralPolicyRows(asRuleViolationsFromPayloadViolations(payload));
367
447
  const intentIssues = Array.isArray(payload.intentIssues) ? payload.intentIssues : [];
368
448
  const flowIssues = Array.isArray(payload.flowIssues) ? payload.flowIssues : [];
369
449
  const regressions = Array.isArray(payload.regressions) ? payload.regressions : [];
@@ -395,6 +475,7 @@ function evaluateGovernanceReplayIntegrity(input) {
395
475
  const graphMismatches = [];
396
476
  const semanticTruncationMismatches = [];
397
477
  const notes = [];
478
+ const driftReasons = new Set();
398
479
  const ev = input.evidencePayload.governanceVerification;
399
480
  const rec = input.reconstructedPayload?.governanceVerification;
400
481
  if (!ev && !rec) {
@@ -406,23 +487,101 @@ function evaluateGovernanceReplayIntegrity(input) {
406
487
  graphMismatches,
407
488
  semanticTruncationMismatches,
408
489
  notes,
490
+ driftReasons: [],
409
491
  };
410
492
  }
411
493
  if (ev && !rec) {
412
494
  missingArtifacts.push('governanceVerification missing from reconstructed payload');
413
495
  }
414
496
  else if (ev && rec) {
497
+ // ── 1. Schema version ──────────────────────────────────────────────────────
415
498
  if (ev.schemaVersion !== rec.schemaVersion) {
416
499
  provenanceMismatches.push(`schemaVersion drift: evidence=${ev.schemaVersion} replay=${rec.schemaVersion}`);
500
+ driftReasons.add('provenance-drift');
417
501
  }
502
+ // ── 2. Finding count equality ──────────────────────────────────────────────
418
503
  if (ev.findings.length !== rec.findings.length) {
419
504
  provenanceMismatches.push(`findings count drift: evidence=${ev.findings.length} replay=${rec.findings.length}`);
420
505
  }
421
- const evIds = new Set(ev.findings.map((f) => f.id));
422
- for (const f of rec.findings) {
423
- if (!evIds.has(f.id)) {
424
- provenanceMismatches.push(`unexpected finding id in replay: ${f.id}`);
506
+ // ── 3. Missing / extra findings ────────────────────────────────────────────
507
+ const evById = new Map(ev.findings.map(f => [f.id, f]));
508
+ const recById = new Map(rec.findings.map(f => [f.id, f]));
509
+ for (const [id] of evById) {
510
+ if (!recById.has(id)) {
511
+ graphMismatches.push(`missing-finding in replay: ${id}`);
512
+ driftReasons.add('missing-finding');
513
+ }
514
+ }
515
+ for (const [id] of recById) {
516
+ if (!evById.has(id)) {
517
+ graphMismatches.push(`extra-finding in replay: ${id}`);
518
+ driftReasons.add('extra-finding');
519
+ }
520
+ }
521
+ // ── 4. Per-finding semantic equality (severity, determinism, provenance, suppression) ──
522
+ for (const [id, evF] of evById) {
523
+ const recF = recById.get(id);
524
+ if (!recF)
525
+ continue; // already reported as missing above
526
+ if (evF.severity !== recF.severity) {
527
+ graphMismatches.push(`severity-drift on ${id}: evidence=${evF.severity} replay=${recF.severity}`);
528
+ driftReasons.add('severity-drift');
529
+ }
530
+ if (evF.determinismClassification !== recF.determinismClassification) {
531
+ graphMismatches.push(`determinism-drift on ${id}: ` +
532
+ `evidence=${evF.determinismClassification} replay=${recF.determinismClassification}`);
533
+ driftReasons.add('determinism-drift');
534
+ }
535
+ // Provenance: compare planId if present
536
+ const evProv = evF.provenanceMetadata;
537
+ const recProv = recF.provenanceMetadata;
538
+ if (evProv && recProv) {
539
+ if (evProv.planId !== recProv.planId) {
540
+ provenanceMismatches.push(`provenance planId drift on ${id}: evidence=${evProv.planId} replay=${recProv.planId}`);
541
+ driftReasons.add('provenance-drift');
542
+ }
543
+ }
544
+ else if (evProv && !recProv) {
545
+ provenanceMismatches.push(`provenance-drift on ${id}: evidence has provenanceMetadata, replay does not`);
546
+ driftReasons.add('provenance-drift');
425
547
  }
548
+ // Structural policyRef: compare via structuralMetadata
549
+ const evSM = evF.structuralMetadata;
550
+ const recSM = recF.structuralMetadata;
551
+ if (evSM && recSM && evSM.policyRef !== recSM.policyRef) {
552
+ provenanceMismatches.push(`policyRef drift on ${id}: evidence=${evSM.policyRef} replay=${recSM.policyRef}`);
553
+ driftReasons.add('provenance-drift');
554
+ }
555
+ // Suppression: compare suppressionMetadata presence
556
+ const evSupp = evF.suppressionMetadata;
557
+ const recSupp = recF.suppressionMetadata;
558
+ if (Boolean(evSupp) !== Boolean(recSupp)) {
559
+ graphMismatches.push(`suppression-drift on ${id}: ` +
560
+ `evidence ${evSupp ? 'suppressed' : 'not-suppressed'} vs ` +
561
+ `replay ${recSupp ? 'suppressed' : 'not-suppressed'}`);
562
+ driftReasons.add('suppression-drift');
563
+ }
564
+ }
565
+ // ── 5. Canonical ordering equality ────────────────────────────────────────
566
+ // Both arrays should be in canonical order. Compare the ordered ID sequences.
567
+ const evOrderedIds = ev.findings.map(f => f.id).join('\x00');
568
+ const recOrderedIds = rec.findings.map(f => f.id).join('\x00');
569
+ if (evOrderedIds !== recOrderedIds && ev.findings.length === rec.findings.length) {
570
+ graphMismatches.push('finding-order-drift: canonical ordering differs between evidence and replay');
571
+ driftReasons.add('finding-order-drift');
572
+ }
573
+ // ── 6. Checksum equality ───────────────────────────────────────────────────
574
+ if (ev.replayChecksum && rec.replayChecksum) {
575
+ if (ev.replayChecksum !== rec.replayChecksum) {
576
+ const comparison = (0, canonical_invariants_1.compareForReplayEquivalence)(ev.findings, rec.findings);
577
+ graphMismatches.push(`checksum-drift: evidence=${ev.replayChecksum.slice(0, 16)} ` +
578
+ `replay=${rec.replayChecksum.slice(0, 16)}` +
579
+ (comparison.driftDetails ? ` (${comparison.driftDetails})` : ''));
580
+ driftReasons.add('checksum-drift');
581
+ }
582
+ }
583
+ else if (ev.replayChecksum && !rec.replayChecksum) {
584
+ notes.push('Replay envelope missing replayChecksum (older CLI version); falling back to per-field comparison.');
426
585
  }
427
586
  }
428
587
  const trunc = input.evidencePayload.semanticTruncation
@@ -430,12 +589,20 @@ function evaluateGovernanceReplayIntegrity(input) {
430
589
  if (trunc === true) {
431
590
  semanticTruncationMismatches.push('Semantic or index truncation flagged on payload');
432
591
  }
433
- const status = missingArtifacts.length === 0
434
- && provenanceMismatches.length === 0
435
- && graphMismatches.length === 0
436
- && semanticTruncationMismatches.length === 0
437
- ? 'exact'
438
- : 'bounded-degradation';
592
+ const hasDrift = driftReasons.size > 0 && (driftReasons.has('checksum-drift') ||
593
+ driftReasons.has('severity-drift') ||
594
+ driftReasons.has('determinism-drift') ||
595
+ driftReasons.has('finding-order-drift') ||
596
+ driftReasons.has('missing-finding') ||
597
+ driftReasons.has('extra-finding'));
598
+ const status = hasDrift
599
+ ? 'drift-detected'
600
+ : missingArtifacts.length === 0
601
+ && provenanceMismatches.length === 0
602
+ && graphMismatches.length === 0
603
+ && semanticTruncationMismatches.length === 0
604
+ ? 'exact'
605
+ : 'bounded-degradation';
439
606
  return {
440
607
  status,
441
608
  missingArtifacts,
@@ -443,6 +610,7 @@ function evaluateGovernanceReplayIntegrity(input) {
443
610
  graphMismatches,
444
611
  semanticTruncationMismatches,
445
612
  notes,
613
+ driftReasons: [...driftReasons].sort(),
446
614
  };
447
615
  }
448
616
  //# sourceMappingURL=canonical-pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-pipeline.js","sourceRoot":"","sources":["../../src/governance/canonical-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonical-pipeline.js","sourceRoot":"","sources":["../../src/governance/canonical-pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Diff Line Provenance (Phase 2 — Diff-Scoped Enforcement)
3
+ *
4
+ * Builds a per-file index of which line numbers were modified in the current
5
+ * diff. Used to classify structural violations as either:
6
+ *
7
+ * introducedOnModifiedLine: true → violation sits on a changed line
8
+ * → BLOCKING eligible (normal behaviour)
9
+ *
10
+ * introducedOnModifiedLine: false → violation is on an unmodified line
11
+ * → demoted to ADVISORY, tagged legacyDebt
12
+ *
13
+ * Only added diff lines are indexed (type === 'added'). Removed lines are by
14
+ * definition gone from the file and cannot carry current violations.
15
+ *
16
+ * The index is a Map<filePath, Set<1-based line number>> built entirely from
17
+ * the parsed diff — no disk I/O.
18
+ */
19
+ import type { DiffFile } from '@neurcode-ai/diff-parser';
20
+ import type { StructuralViolation } from '../structural-rules/types';
21
+ /** Maps relative file path → set of 1-based line numbers that were added/modified. */
22
+ export type ModifiedLineIndex = Map<string, Set<number>>;
23
+ /**
24
+ * Build a modified-line index from a parsed diff.
25
+ *
26
+ * For each file in the diff, collect all line numbers that are 'added' in any
27
+ * hunk. These are the only lines that could carry new violations.
28
+ *
29
+ * Hunk format from diff-parser: each hunk has a `newStart` (1-based line
30
+ * number of the first line in the post-diff file) and lines with type
31
+ * 'added' | 'removed' | 'context'.
32
+ */
33
+ export declare function buildModifiedLineIndex(diffFiles: DiffFile[]): ModifiedLineIndex;
34
+ /**
35
+ * Classify a structural violation's provenance against the modified-line index.
36
+ *
37
+ * Returns a new StructuralViolation (never mutates the input) with:
38
+ * - introducedOnModifiedLine set
39
+ * - legacyDebt set if demoting
40
+ * - severity demoted to ADVISORY if legacyDebt
41
+ *
42
+ * @param violation The raw violation from the rule engine
43
+ * @param index The modified-line index for this diff
44
+ * @param strictMode If true (--strict-full-file), skip demotion entirely
45
+ */
46
+ export declare function classifyViolationProvenance(violation: StructuralViolation, index: ModifiedLineIndex, strictMode?: boolean): StructuralViolation;
47
+ /**
48
+ * Apply provenance classification to a batch of violations.
49
+ *
50
+ * @param violations Raw violations from rule engine
51
+ * @param index Modified-line index for this diff
52
+ * @param strictMode If true, no demotion applied (--strict-full-file)
53
+ */
54
+ export declare function applyDiffScopedProvenance(violations: StructuralViolation[], index: ModifiedLineIndex, strictMode?: boolean): {
55
+ violations: StructuralViolation[];
56
+ legacyDebtCount: number;
57
+ newViolationCount: number;
58
+ };
59
+ //# sourceMappingURL=diff-line-provenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-line-provenance.d.ts","sourceRoot":"","sources":["../../src/governance/diff-line-provenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIrE,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAIzD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CA4B/E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,iBAAiB,EACxB,UAAU,UAAQ,GACjB,mBAAmB,CA0BrB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,mBAAmB,EAAE,EACjC,KAAK,EAAE,iBAAiB,EACxB,UAAU,UAAQ,GACjB;IACD,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAgBA"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ /**
3
+ * Diff Line Provenance (Phase 2 — Diff-Scoped Enforcement)
4
+ *
5
+ * Builds a per-file index of which line numbers were modified in the current
6
+ * diff. Used to classify structural violations as either:
7
+ *
8
+ * introducedOnModifiedLine: true → violation sits on a changed line
9
+ * → BLOCKING eligible (normal behaviour)
10
+ *
11
+ * introducedOnModifiedLine: false → violation is on an unmodified line
12
+ * → demoted to ADVISORY, tagged legacyDebt
13
+ *
14
+ * Only added diff lines are indexed (type === 'added'). Removed lines are by
15
+ * definition gone from the file and cannot carry current violations.
16
+ *
17
+ * The index is a Map<filePath, Set<1-based line number>> built entirely from
18
+ * the parsed diff — no disk I/O.
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.buildModifiedLineIndex = buildModifiedLineIndex;
22
+ exports.classifyViolationProvenance = classifyViolationProvenance;
23
+ exports.applyDiffScopedProvenance = applyDiffScopedProvenance;
24
+ // ── Public API ────────────────────────────────────────────────────────────────
25
+ /**
26
+ * Build a modified-line index from a parsed diff.
27
+ *
28
+ * For each file in the diff, collect all line numbers that are 'added' in any
29
+ * hunk. These are the only lines that could carry new violations.
30
+ *
31
+ * Hunk format from diff-parser: each hunk has a `newStart` (1-based line
32
+ * number of the first line in the post-diff file) and lines with type
33
+ * 'added' | 'removed' | 'context'.
34
+ */
35
+ function buildModifiedLineIndex(diffFiles) {
36
+ const index = new Map();
37
+ for (const file of diffFiles) {
38
+ const modifiedLines = new Set();
39
+ for (const hunk of file.hunks ?? []) {
40
+ // newStart is the 1-based line number of the first line in the new file
41
+ let currentNewLine = hunk.newStart ?? 1;
42
+ for (const line of hunk.lines ?? []) {
43
+ if (line.type === 'added') {
44
+ modifiedLines.add(currentNewLine);
45
+ currentNewLine++;
46
+ }
47
+ else if (line.type === 'context') {
48
+ // Context lines advance the new-file line counter but are not modified
49
+ currentNewLine++;
50
+ }
51
+ // Removed lines don't appear in the new file, don't advance new counter
52
+ }
53
+ }
54
+ if (modifiedLines.size > 0) {
55
+ index.set(file.path, modifiedLines);
56
+ }
57
+ }
58
+ return index;
59
+ }
60
+ /**
61
+ * Classify a structural violation's provenance against the modified-line index.
62
+ *
63
+ * Returns a new StructuralViolation (never mutates the input) with:
64
+ * - introducedOnModifiedLine set
65
+ * - legacyDebt set if demoting
66
+ * - severity demoted to ADVISORY if legacyDebt
67
+ *
68
+ * @param violation The raw violation from the rule engine
69
+ * @param index The modified-line index for this diff
70
+ * @param strictMode If true (--strict-full-file), skip demotion entirely
71
+ */
72
+ function classifyViolationProvenance(violation, index, strictMode = false) {
73
+ // In strict full-file mode, do not apply diff-scoping
74
+ if (strictMode)
75
+ return violation;
76
+ const modifiedLines = index.get(violation.filePath);
77
+ // File not in diff at all — should not happen (we only analyze diff files)
78
+ // but treat conservatively: do not demote, leave unclassified
79
+ if (!modifiedLines) {
80
+ return { ...violation, introducedOnModifiedLine: false, legacyDebt: true, severity: 'ADVISORY' };
81
+ }
82
+ const onModifiedLine = modifiedLines.has(violation.line);
83
+ if (onModifiedLine) {
84
+ return { ...violation, introducedOnModifiedLine: true };
85
+ }
86
+ // Violation is on an unmodified (historical) line — demote
87
+ return {
88
+ ...violation,
89
+ introducedOnModifiedLine: false,
90
+ legacyDebt: true,
91
+ // Demote BLOCKING → ADVISORY for legacy debt; ADVISORY stays ADVISORY
92
+ severity: 'ADVISORY',
93
+ };
94
+ }
95
+ /**
96
+ * Apply provenance classification to a batch of violations.
97
+ *
98
+ * @param violations Raw violations from rule engine
99
+ * @param index Modified-line index for this diff
100
+ * @param strictMode If true, no demotion applied (--strict-full-file)
101
+ */
102
+ function applyDiffScopedProvenance(violations, index, strictMode = false) {
103
+ const result = [];
104
+ let legacyDebtCount = 0;
105
+ let newViolationCount = 0;
106
+ for (const v of violations) {
107
+ const classified = classifyViolationProvenance(v, index, strictMode);
108
+ result.push(classified);
109
+ if (classified.legacyDebt) {
110
+ legacyDebtCount++;
111
+ }
112
+ else if (classified.introducedOnModifiedLine === true) {
113
+ newViolationCount++;
114
+ }
115
+ }
116
+ return { violations: result, legacyDebtCount, newViolationCount };
117
+ }
118
+ //# sourceMappingURL=diff-line-provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-line-provenance.js","sourceRoot":"","sources":["../../src/governance/diff-line-provenance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Pilot Readiness Validator (Phase 6 — Pilot Readiness Hardening)
3
+ *
4
+ * Checks that a repository meets all prerequisites for a reliable Neurcode
5
+ * onboarding. Designed to be runnable in under 10 seconds with no external
6
+ * network calls.
7
+ *
8
+ * Usage: runPilotReadinessCheck(projectRoot) → PilotReadinessReport
9
+ *
10
+ * Returns:
11
+ * ready: true if all blockers pass (warnings are non-blocking)
12
+ * blockers: list of hard failures that prevent governance from running
13
+ * warnings: list of soft issues that degrade experience but don't block
14
+ */
15
+ export interface PilotReadinessReport {
16
+ ready: boolean;
17
+ blockers: string[];
18
+ warnings: string[];
19
+ checks: PilotReadinessCheck[];
20
+ durationMs: number;
21
+ }
22
+ export interface PilotReadinessCheck {
23
+ name: string;
24
+ status: 'pass' | 'warn' | 'fail';
25
+ message: string;
26
+ }
27
+ /**
28
+ * Run all pilot readiness checks for a repository.
29
+ *
30
+ * @param projectRoot Absolute path to the project root
31
+ * @returns PilotReadinessReport with ready flag, blockers, warnings, and per-check results
32
+ */
33
+ export declare function runPilotReadinessCheck(projectRoot: string): PilotReadinessReport;
34
+ //# sourceMappingURL=pilot-readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pilot-readiness.d.ts","sourceRoot":"","sources":["../../src/governance/pilot-readiness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAuLD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CA6BhF"}