@neurcode-ai/cli 0.9.64 → 0.9.65
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.
- package/LICENSE +201 -0
- package/dist/commands/brain.d.ts.map +1 -1
- package/dist/commands/brain.js +273 -0
- package/dist/commands/brain.js.map +1 -1
- package/dist/commands/pilot-report.d.ts +9 -0
- package/dist/commands/pilot-report.d.ts.map +1 -0
- package/dist/commands/pilot-report.js +176 -0
- package/dist/commands/pilot-report.js.map +1 -0
- package/dist/commands/remediate-governance.d.ts +54 -0
- package/dist/commands/remediate-governance.d.ts.map +1 -0
- package/dist/commands/remediate-governance.js +375 -0
- package/dist/commands/remediate-governance.js.map +1 -0
- package/dist/commands/remediate.d.ts.map +1 -1
- package/dist/commands/remediate.js.map +1 -1
- package/dist/commands/replay.d.ts.map +1 -1
- package/dist/commands/replay.js +30 -0
- package/dist/commands/replay.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +307 -24
- package/dist/commands/verify.js.map +1 -1
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +1078 -0
- package/dist/daemon/server.js.map +1 -1
- package/dist/explainability/DeterminismClassifier.d.ts +34 -0
- package/dist/explainability/DeterminismClassifier.d.ts.map +1 -0
- package/dist/explainability/DeterminismClassifier.js +104 -0
- package/dist/explainability/DeterminismClassifier.js.map +1 -0
- package/dist/explainability/ViolationFormatter.d.ts +32 -0
- package/dist/explainability/ViolationFormatter.d.ts.map +1 -0
- package/dist/explainability/ViolationFormatter.js +252 -0
- package/dist/explainability/ViolationFormatter.js.map +1 -0
- package/dist/explainability/index.d.ts +15 -0
- package/dist/explainability/index.d.ts.map +1 -0
- package/dist/explainability/index.js +94 -0
- package/dist/explainability/index.js.map +1 -0
- package/dist/explainability/types.d.ts +37 -0
- package/dist/explainability/types.d.ts.map +1 -0
- package/dist/explainability/types.js +3 -0
- package/dist/explainability/types.js.map +1 -0
- package/dist/governance/canonical-pipeline.d.ts +38 -0
- package/dist/governance/canonical-pipeline.d.ts.map +1 -0
- package/dist/governance/canonical-pipeline.js +448 -0
- package/dist/governance/canonical-pipeline.js.map +1 -0
- package/dist/governance/structural-on-diff.d.ts +13 -0
- package/dist/governance/structural-on-diff.d.ts.map +1 -0
- package/dist/governance/structural-on-diff.js +35 -0
- package/dist/governance/structural-on-diff.js.map +1 -0
- package/dist/governance/structural-policy-merge.d.ts +14 -0
- package/dist/governance/structural-policy-merge.d.ts.map +1 -0
- package/dist/governance/structural-policy-merge.js +25 -0
- package/dist/governance/structural-policy-merge.js.map +1 -0
- package/dist/index.js +71 -0
- package/dist/index.js.map +1 -1
- package/dist/integrations/review-compression/index.d.ts +50 -0
- package/dist/integrations/review-compression/index.d.ts.map +1 -0
- package/dist/integrations/review-compression/index.js +158 -0
- package/dist/integrations/review-compression/index.js.map +1 -0
- package/dist/intent-engine/domain-taxonomy.d.ts +42 -0
- package/dist/intent-engine/domain-taxonomy.d.ts.map +1 -0
- package/dist/intent-engine/domain-taxonomy.js +534 -0
- package/dist/intent-engine/domain-taxonomy.js.map +1 -0
- package/dist/intent-engine/index.d.ts +1 -0
- package/dist/intent-engine/index.d.ts.map +1 -1
- package/dist/intent-engine/index.js +6 -1
- package/dist/intent-engine/index.js.map +1 -1
- package/dist/intent-engine/parser.d.ts.map +1 -1
- package/dist/intent-engine/parser.js +47 -0
- package/dist/intent-engine/parser.js.map +1 -1
- package/dist/intent-engine/semantic-expander.d.ts +104 -0
- package/dist/intent-engine/semantic-expander.d.ts.map +1 -0
- package/dist/intent-engine/semantic-expander.js +480 -0
- package/dist/intent-engine/semantic-expander.js.map +1 -0
- package/dist/patch-engine/patterns.d.ts.map +1 -1
- package/dist/patch-engine/patterns.js +8 -4
- package/dist/patch-engine/patterns.js.map +1 -1
- package/dist/semantic/index.d.ts +14 -0
- package/dist/semantic/index.d.ts.map +1 -0
- package/dist/semantic/index.js +30 -0
- package/dist/semantic/index.js.map +1 -0
- package/dist/semantic/tfidf-engine.d.ts +81 -0
- package/dist/semantic/tfidf-engine.d.ts.map +1 -0
- package/dist/semantic/tfidf-engine.js +278 -0
- package/dist/semantic/tfidf-engine.js.map +1 -0
- package/dist/semantic/vector-store.d.ts +108 -0
- package/dist/semantic/vector-store.d.ts.map +1 -0
- package/dist/semantic/vector-store.js +321 -0
- package/dist/semantic/vector-store.js.map +1 -0
- package/dist/structural-rules/context-severity.d.ts +46 -0
- package/dist/structural-rules/context-severity.d.ts.map +1 -0
- package/dist/structural-rules/context-severity.js +115 -0
- package/dist/structural-rules/context-severity.js.map +1 -0
- package/dist/structural-rules/distributed/DS001-saga-rollback-absence.d.ts +11 -0
- package/dist/structural-rules/distributed/DS001-saga-rollback-absence.d.ts.map +1 -0
- package/dist/structural-rules/distributed/DS001-saga-rollback-absence.js +212 -0
- package/dist/structural-rules/distributed/DS001-saga-rollback-absence.js.map +1 -0
- package/dist/structural-rules/distributed/DS002-missing-correlation-id.d.ts +11 -0
- package/dist/structural-rules/distributed/DS002-missing-correlation-id.d.ts.map +1 -0
- package/dist/structural-rules/distributed/DS002-missing-correlation-id.js +213 -0
- package/dist/structural-rules/distributed/DS002-missing-correlation-id.js.map +1 -0
- package/dist/structural-rules/distributed/index.d.ts +3 -0
- package/dist/structural-rules/distributed/index.d.ts.map +1 -0
- package/dist/structural-rules/distributed/index.js +8 -0
- package/dist/structural-rules/distributed/index.js.map +1 -0
- package/dist/structural-rules/engine.d.ts +25 -0
- package/dist/structural-rules/engine.d.ts.map +1 -0
- package/dist/structural-rules/engine.js +90 -0
- package/dist/structural-rules/engine.js.map +1 -0
- package/dist/structural-rules/index.d.ts +41 -0
- package/dist/structural-rules/index.d.ts.map +1 -0
- package/dist/structural-rules/index.js +141 -0
- package/dist/structural-rules/index.js.map +1 -0
- package/dist/structural-rules/python/PY001-asyncio-task-without-cancel.d.ts +11 -0
- package/dist/structural-rules/python/PY001-asyncio-task-without-cancel.d.ts.map +1 -0
- package/dist/structural-rules/python/PY001-asyncio-task-without-cancel.js +66 -0
- package/dist/structural-rules/python/PY001-asyncio-task-without-cancel.js.map +1 -0
- package/dist/structural-rules/python/PY002-unbounded-dict-singleton.d.ts +11 -0
- package/dist/structural-rules/python/PY002-unbounded-dict-singleton.d.ts.map +1 -0
- package/dist/structural-rules/python/PY002-unbounded-dict-singleton.js +135 -0
- package/dist/structural-rules/python/PY002-unbounded-dict-singleton.js.map +1 -0
- package/dist/structural-rules/python/PY003-broad-except-clause.d.ts +11 -0
- package/dist/structural-rules/python/PY003-broad-except-clause.d.ts.map +1 -0
- package/dist/structural-rules/python/PY003-broad-except-clause.js +86 -0
- package/dist/structural-rules/python/PY003-broad-except-clause.js.map +1 -0
- package/dist/structural-rules/python/PY004-swallowed-async-exception.d.ts +11 -0
- package/dist/structural-rules/python/PY004-swallowed-async-exception.d.ts.map +1 -0
- package/dist/structural-rules/python/PY004-swallowed-async-exception.js +167 -0
- package/dist/structural-rules/python/PY004-swallowed-async-exception.js.map +1 -0
- package/dist/structural-rules/python/PY005-fastapi-without-pydantic.d.ts +11 -0
- package/dist/structural-rules/python/PY005-fastapi-without-pydantic.d.ts.map +1 -0
- package/dist/structural-rules/python/PY005-fastapi-without-pydantic.js +154 -0
- package/dist/structural-rules/python/PY005-fastapi-without-pydantic.js.map +1 -0
- package/dist/structural-rules/python/PY006-blocking-io-in-async.d.ts +11 -0
- package/dist/structural-rules/python/PY006-blocking-io-in-async.d.ts.map +1 -0
- package/dist/structural-rules/python/PY006-blocking-io-in-async.js +130 -0
- package/dist/structural-rules/python/PY006-blocking-io-in-async.js.map +1 -0
- package/dist/structural-rules/python/PY007-sqlalchemy-session-leak.d.ts +11 -0
- package/dist/structural-rules/python/PY007-sqlalchemy-session-leak.d.ts.map +1 -0
- package/dist/structural-rules/python/PY007-sqlalchemy-session-leak.js +93 -0
- package/dist/structural-rules/python/PY007-sqlalchemy-session-leak.js.map +1 -0
- package/dist/structural-rules/python/PY008-celery-task-without-retry.d.ts +11 -0
- package/dist/structural-rules/python/PY008-celery-task-without-retry.d.ts.map +1 -0
- package/dist/structural-rules/python/PY008-celery-task-without-retry.js +154 -0
- package/dist/structural-rules/python/PY008-celery-task-without-retry.js.map +1 -0
- package/dist/structural-rules/python/PY009-unsafe-pickle-deserialization.d.ts +11 -0
- package/dist/structural-rules/python/PY009-unsafe-pickle-deserialization.d.ts.map +1 -0
- package/dist/structural-rules/python/PY009-unsafe-pickle-deserialization.js +133 -0
- package/dist/structural-rules/python/PY009-unsafe-pickle-deserialization.js.map +1 -0
- package/dist/structural-rules/python/PY010-leaked-aiohttp-session.d.ts +11 -0
- package/dist/structural-rules/python/PY010-leaked-aiohttp-session.d.ts.map +1 -0
- package/dist/structural-rules/python/PY010-leaked-aiohttp-session.js +80 -0
- package/dist/structural-rules/python/PY010-leaked-aiohttp-session.js.map +1 -0
- package/dist/structural-rules/rules/SR001-swallowed-async-rejection.d.ts +11 -0
- package/dist/structural-rules/rules/SR001-swallowed-async-rejection.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR001-swallowed-async-rejection.js +145 -0
- package/dist/structural-rules/rules/SR001-swallowed-async-rejection.js.map +1 -0
- package/dist/structural-rules/rules/SR002-unbounded-collection.d.ts +11 -0
- package/dist/structural-rules/rules/SR002-unbounded-collection.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR002-unbounded-collection.js +196 -0
- package/dist/structural-rules/rules/SR002-unbounded-collection.js.map +1 -0
- package/dist/structural-rules/rules/SR003-timer-without-cleanup.d.ts +11 -0
- package/dist/structural-rules/rules/SR003-timer-without-cleanup.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR003-timer-without-cleanup.js +148 -0
- package/dist/structural-rules/rules/SR003-timer-without-cleanup.js.map +1 -0
- package/dist/structural-rules/rules/SR004-request-boundary-no-validation.d.ts +11 -0
- package/dist/structural-rules/rules/SR004-request-boundary-no-validation.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR004-request-boundary-no-validation.js +162 -0
- package/dist/structural-rules/rules/SR004-request-boundary-no-validation.js.map +1 -0
- package/dist/structural-rules/rules/SR005-halfopen-probe-gate.d.ts +11 -0
- package/dist/structural-rules/rules/SR005-halfopen-probe-gate.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR005-halfopen-probe-gate.js +150 -0
- package/dist/structural-rules/rules/SR005-halfopen-probe-gate.js.map +1 -0
- package/dist/structural-rules/rules/SR006-fanout-error-sanitization.d.ts +11 -0
- package/dist/structural-rules/rules/SR006-fanout-error-sanitization.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR006-fanout-error-sanitization.js +161 -0
- package/dist/structural-rules/rules/SR006-fanout-error-sanitization.js.map +1 -0
- package/dist/structural-rules/rules/SR007-cross-request-error.d.ts +11 -0
- package/dist/structural-rules/rules/SR007-cross-request-error.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR007-cross-request-error.js +175 -0
- package/dist/structural-rules/rules/SR007-cross-request-error.js.map +1 -0
- package/dist/structural-rules/rules/SR008-background-task-orphan.d.ts +11 -0
- package/dist/structural-rules/rules/SR008-background-task-orphan.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR008-background-task-orphan.js +176 -0
- package/dist/structural-rules/rules/SR008-background-task-orphan.js.map +1 -0
- package/dist/structural-rules/rules/SR009-missing-retry-backoff.d.ts +11 -0
- package/dist/structural-rules/rules/SR009-missing-retry-backoff.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR009-missing-retry-backoff.js +168 -0
- package/dist/structural-rules/rules/SR009-missing-retry-backoff.js.map +1 -0
- package/dist/structural-rules/rules/SR010-retry-storm.d.ts +11 -0
- package/dist/structural-rules/rules/SR010-retry-storm.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR010-retry-storm.js +181 -0
- package/dist/structural-rules/rules/SR010-retry-storm.js.map +1 -0
- package/dist/structural-rules/rules/SR011-event-listener-leak.d.ts +11 -0
- package/dist/structural-rules/rules/SR011-event-listener-leak.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR011-event-listener-leak.js +208 -0
- package/dist/structural-rules/rules/SR011-event-listener-leak.js.map +1 -0
- package/dist/structural-rules/rules/SR012-promise-race-leak.d.ts +11 -0
- package/dist/structural-rules/rules/SR012-promise-race-leak.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR012-promise-race-leak.js +191 -0
- package/dist/structural-rules/rules/SR012-promise-race-leak.js.map +1 -0
- package/dist/structural-rules/rules/SR013-missing-idempotency-key.d.ts +11 -0
- package/dist/structural-rules/rules/SR013-missing-idempotency-key.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR013-missing-idempotency-key.js +219 -0
- package/dist/structural-rules/rules/SR013-missing-idempotency-key.js.map +1 -0
- package/dist/structural-rules/rules/SR014-mutable-closure-async.d.ts +11 -0
- package/dist/structural-rules/rules/SR014-mutable-closure-async.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR014-mutable-closure-async.js +208 -0
- package/dist/structural-rules/rules/SR014-mutable-closure-async.js.map +1 -0
- package/dist/structural-rules/rules/SR015-dangling-abort-controller.d.ts +11 -0
- package/dist/structural-rules/rules/SR015-dangling-abort-controller.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR015-dangling-abort-controller.js +190 -0
- package/dist/structural-rules/rules/SR015-dangling-abort-controller.js.map +1 -0
- package/dist/structural-rules/rules/SR016-unsafe-json-parse.d.ts +11 -0
- package/dist/structural-rules/rules/SR016-unsafe-json-parse.d.ts.map +1 -0
- package/dist/structural-rules/rules/SR016-unsafe-json-parse.js +187 -0
- package/dist/structural-rules/rules/SR016-unsafe-json-parse.js.map +1 -0
- package/dist/structural-rules/suppressions.d.ts +43 -0
- package/dist/structural-rules/suppressions.d.ts.map +1 -0
- package/dist/structural-rules/suppressions.js +115 -0
- package/dist/structural-rules/suppressions.js.map +1 -0
- package/dist/structural-rules/types.d.ts +43 -0
- package/dist/structural-rules/types.d.ts.map +1 -0
- package/dist/structural-rules/types.js +3 -0
- package/dist/structural-rules/types.js.map +1 -0
- package/dist/utils/brain-cache.d.ts +100 -0
- package/dist/utils/brain-cache.d.ts.map +1 -0
- package/dist/utils/brain-cache.js +346 -0
- package/dist/utils/brain-cache.js.map +1 -0
- package/dist/utils/governance-provenance.d.ts +95 -0
- package/dist/utils/governance-provenance.d.ts.map +1 -0
- package/dist/utils/governance-provenance.js +187 -0
- package/dist/utils/governance-provenance.js.map +1 -0
- package/dist/utils/pilot-metrics.d.ts +46 -0
- package/dist/utils/pilot-metrics.d.ts.map +1 -0
- package/dist/utils/pilot-metrics.js +240 -0
- package/dist/utils/pilot-metrics.js.map +1 -0
- package/dist/utils/replay-runtime.d.ts +34 -0
- package/dist/utils/replay-runtime.d.ts.map +1 -1
- package/dist/utils/replay-runtime.js +207 -0
- package/dist/utils/replay-runtime.js.map +1 -1
- package/dist/workspace/cross-repo-graph.d.ts +111 -0
- package/dist/workspace/cross-repo-graph.d.ts.map +1 -0
- package/dist/workspace/cross-repo-graph.js +450 -0
- package/dist/workspace/cross-repo-graph.js.map +1 -0
- package/dist/workspace/federated-context.d.ts +144 -0
- package/dist/workspace/federated-context.d.ts.map +1 -0
- package/dist/workspace/federated-context.js +347 -0
- package/dist/workspace/federated-context.js.map +1 -0
- package/dist/workspace/index.d.ts +38 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +48 -0
- package/dist/workspace/index.js.map +1 -0
- package/package.json +9 -9
|
@@ -10,6 +10,7 @@ const crypto_1 = require("crypto");
|
|
|
10
10
|
const fs_1 = require("fs");
|
|
11
11
|
const path_1 = require("path");
|
|
12
12
|
const execution_bus_1 = require("./execution-bus");
|
|
13
|
+
const canonical_pipeline_1 = require("../governance/canonical-pipeline");
|
|
13
14
|
const REPLAY_STATE_SCHEMA = 'neurcode.replay.state.v1';
|
|
14
15
|
const REPLAY_EXECUTION_SCHEMA = 'neurcode.replay.execution.v1';
|
|
15
16
|
const REPLAY_WORKSPACE_SCHEMA = 'neurcode.replay.workspace.v1';
|
|
@@ -193,6 +194,38 @@ function parseEvidenceDigest(root, filePath) {
|
|
|
193
194
|
const regressions = Array.isArray(parsed.regressions) ? parsed.regressions : [];
|
|
194
195
|
const flowIssues = Array.isArray(parsed.flowIssues) ? parsed.flowIssues : [];
|
|
195
196
|
const coverage = asNumber(canonical.driftScore) ?? asNumber(canonical.score);
|
|
197
|
+
const governanceVerification = asObject(canonical.governanceVerification);
|
|
198
|
+
const governanceFindingsRaw = Array.isArray(canonical.governanceFindings)
|
|
199
|
+
? canonical.governanceFindings
|
|
200
|
+
: (Array.isArray(governanceVerification?.findings) ? governanceVerification?.findings : []);
|
|
201
|
+
const governanceFindings = governanceFindingsRaw.filter((entry) => {
|
|
202
|
+
const record = asObject(entry);
|
|
203
|
+
return Boolean(record);
|
|
204
|
+
});
|
|
205
|
+
const determinismCounts = {};
|
|
206
|
+
let semanticTruncationCount = 0;
|
|
207
|
+
let federationTruncationCount = 0;
|
|
208
|
+
let graphTruncationCount = 0;
|
|
209
|
+
let provenanceMissingCount = 0;
|
|
210
|
+
for (const finding of governanceFindings) {
|
|
211
|
+
const determinism = asString(finding.determinismClassification) || 'unknown';
|
|
212
|
+
determinismCounts[determinism] = (determinismCounts[determinism] ?? 0) + 1;
|
|
213
|
+
const semanticMetadata = asObject(finding.semanticMetadata);
|
|
214
|
+
const graphMetadata = asObject(finding.graphMetadata);
|
|
215
|
+
const provenanceMetadata = asObject(finding.provenanceMetadata);
|
|
216
|
+
if (asBoolean(semanticMetadata?.indexTruncated) === true)
|
|
217
|
+
semanticTruncationCount += 1;
|
|
218
|
+
if (asBoolean(graphMetadata?.truncated) === true) {
|
|
219
|
+
graphTruncationCount += 1;
|
|
220
|
+
const fromRepo = asString(graphMetadata?.fromRepo);
|
|
221
|
+
const toRepo = asString(graphMetadata?.toRepo);
|
|
222
|
+
if (fromRepo || toRepo) {
|
|
223
|
+
federationTruncationCount += 1;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
if (!provenanceMetadata)
|
|
227
|
+
provenanceMissingCount += 1;
|
|
228
|
+
}
|
|
196
229
|
return {
|
|
197
230
|
file: toRelativeSafe(root, filePath),
|
|
198
231
|
timestamp: asString(parsed.timestamp) || nowIso(),
|
|
@@ -208,6 +241,14 @@ function parseEvidenceDigest(root, filePath) {
|
|
|
208
241
|
coverageScore: coverage === null ? null : clamp(Math.round(coverage * 100) / 100, 0, 100),
|
|
209
242
|
branch: asString(git.branch),
|
|
210
243
|
commitSha: asString(git.commitSha),
|
|
244
|
+
governanceFindingsCount: governanceFindings.length,
|
|
245
|
+
governanceDeterminismCounts: determinismCounts,
|
|
246
|
+
semanticTruncationCount,
|
|
247
|
+
federationTruncationCount,
|
|
248
|
+
graphTruncationCount,
|
|
249
|
+
provenanceMissingCount,
|
|
250
|
+
governanceEnvelopePresent: Boolean(governanceVerification),
|
|
251
|
+
canonicalVerifyOutput: asObject(parsed.canonicalVerifyOutput),
|
|
211
252
|
};
|
|
212
253
|
}
|
|
213
254
|
function parseControlPlaneSnapshotDigest(root, filePath) {
|
|
@@ -557,6 +598,163 @@ function buildDeterminismWarnings(index, controlPlane, workspace) {
|
|
|
557
598
|
}
|
|
558
599
|
return warnings;
|
|
559
600
|
}
|
|
601
|
+
function clampScore(value) {
|
|
602
|
+
return clamp(Math.round(value), 0, 100);
|
|
603
|
+
}
|
|
604
|
+
function summarizeReplayGovernanceReport(input) {
|
|
605
|
+
const { warnings, evidences, controlPlane, workspace } = input;
|
|
606
|
+
const latestEvidence = evidences[evidences.length - 1] || null;
|
|
607
|
+
const missingArtifactSummaries = [];
|
|
608
|
+
const semanticDegradationSummaries = [];
|
|
609
|
+
const federationDegradationSummaries = [];
|
|
610
|
+
const graphMismatchSummaries = [];
|
|
611
|
+
const provenanceMismatchSummaries = [];
|
|
612
|
+
const confidenceDriftSummaries = [];
|
|
613
|
+
if (!controlPlane) {
|
|
614
|
+
missingArtifactSummaries.push('Missing control-plane snapshot at replay timestamp.');
|
|
615
|
+
}
|
|
616
|
+
if (!workspace) {
|
|
617
|
+
missingArtifactSummaries.push('Missing workspace snapshot at replay timestamp.');
|
|
618
|
+
}
|
|
619
|
+
if (!latestEvidence) {
|
|
620
|
+
missingArtifactSummaries.push('No verification evidence artifact available at replay timestamp.');
|
|
621
|
+
}
|
|
622
|
+
if (warnings.length > 0) {
|
|
623
|
+
missingArtifactSummaries.push(...warnings);
|
|
624
|
+
}
|
|
625
|
+
if (latestEvidence) {
|
|
626
|
+
if (!latestEvidence.governanceEnvelopePresent) {
|
|
627
|
+
provenanceMismatchSummaries.push('Canonical governance envelope missing from latest evidence artifact.');
|
|
628
|
+
}
|
|
629
|
+
if (latestEvidence.semanticTruncationCount > 0) {
|
|
630
|
+
semanticDegradationSummaries.push(`${latestEvidence.semanticTruncationCount} finding(s) flagged semantic index truncation.`);
|
|
631
|
+
}
|
|
632
|
+
if (latestEvidence.federationTruncationCount > 0) {
|
|
633
|
+
federationDegradationSummaries.push(`${latestEvidence.federationTruncationCount} finding(s) indicate bounded federation truncation.`);
|
|
634
|
+
}
|
|
635
|
+
if (latestEvidence.graphTruncationCount > 0) {
|
|
636
|
+
graphMismatchSummaries.push(`${latestEvidence.graphTruncationCount} graph-linked finding(s) marked traversal truncation.`);
|
|
637
|
+
}
|
|
638
|
+
if (latestEvidence.provenanceMissingCount > 0) {
|
|
639
|
+
provenanceMismatchSummaries.push(`${latestEvidence.provenanceMissingCount} finding(s) missing provenance metadata.`);
|
|
640
|
+
}
|
|
641
|
+
if (latestEvidence.canonicalVerifyOutput) {
|
|
642
|
+
const integrity = (0, canonical_pipeline_1.evaluateGovernanceReplayIntegrity)({
|
|
643
|
+
evidencePayload: latestEvidence.canonicalVerifyOutput,
|
|
644
|
+
});
|
|
645
|
+
if (integrity.missingArtifacts.length > 0) {
|
|
646
|
+
missingArtifactSummaries.push(...integrity.missingArtifacts);
|
|
647
|
+
}
|
|
648
|
+
if (integrity.provenanceMismatches.length > 0) {
|
|
649
|
+
provenanceMismatchSummaries.push(...integrity.provenanceMismatches);
|
|
650
|
+
}
|
|
651
|
+
if (integrity.graphMismatches.length > 0) {
|
|
652
|
+
graphMismatchSummaries.push(...integrity.graphMismatches);
|
|
653
|
+
}
|
|
654
|
+
if (integrity.semanticTruncationMismatches.length > 0) {
|
|
655
|
+
semanticDegradationSummaries.push(...integrity.semanticTruncationMismatches);
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
const provenanceScore = latestEvidence
|
|
660
|
+
? clampScore(100
|
|
661
|
+
- (latestEvidence.provenanceMissingCount * 6)
|
|
662
|
+
- (latestEvidence.governanceEnvelopePresent ? 0 : 35))
|
|
663
|
+
: 10;
|
|
664
|
+
const semanticScore = latestEvidence
|
|
665
|
+
? clampScore(100 - (latestEvidence.semanticTruncationCount * 8))
|
|
666
|
+
: 20;
|
|
667
|
+
const federationScore = latestEvidence
|
|
668
|
+
? clampScore(100 - (latestEvidence.federationTruncationCount * 8))
|
|
669
|
+
: 30;
|
|
670
|
+
const graphScore = latestEvidence
|
|
671
|
+
? clampScore(100 - (latestEvidence.graphTruncationCount * 8))
|
|
672
|
+
: 30;
|
|
673
|
+
const artifactsScore = clampScore(100
|
|
674
|
+
- (missingArtifactSummaries.length * 10)
|
|
675
|
+
- (latestEvidence ? 0 : 30));
|
|
676
|
+
const overall = clampScore((provenanceScore * 0.25)
|
|
677
|
+
+ (graphScore * 0.2)
|
|
678
|
+
+ (semanticScore * 0.2)
|
|
679
|
+
+ (federationScore * 0.15)
|
|
680
|
+
+ (artifactsScore * 0.2));
|
|
681
|
+
if (overall < 95) {
|
|
682
|
+
confidenceDriftSummaries.push(`Replay confidence reduced to ${overall}/100 due to bounded degradation signals.`);
|
|
683
|
+
}
|
|
684
|
+
if (evidences.length > 1) {
|
|
685
|
+
const previousEvidence = evidences[evidences.length - 2];
|
|
686
|
+
if (latestEvidence
|
|
687
|
+
&& previousEvidence
|
|
688
|
+
&& latestEvidence.deterministicVerificationHash
|
|
689
|
+
&& previousEvidence.deterministicVerificationHash
|
|
690
|
+
&& latestEvidence.deterministicVerificationHash !== previousEvidence.deterministicVerificationHash) {
|
|
691
|
+
confidenceDriftSummaries.push('Deterministic verification hash changed since previous evidence artifact (semantic scope drift or code drift).');
|
|
692
|
+
}
|
|
693
|
+
if (latestEvidence
|
|
694
|
+
&& previousEvidence
|
|
695
|
+
&& latestEvidence.coverageScore !== null
|
|
696
|
+
&& previousEvidence.coverageScore !== null
|
|
697
|
+
&& Math.abs(latestEvidence.coverageScore - previousEvidence.coverageScore) >= 8) {
|
|
698
|
+
confidenceDriftSummaries.push(`Coverage/confidence drift detected (${previousEvidence.coverageScore} -> ${latestEvidence.coverageScore}).`);
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
if (semanticScore < 100) {
|
|
702
|
+
confidenceDriftSummaries.push(`Semantic completeness reduced (${semanticScore}/100).`);
|
|
703
|
+
}
|
|
704
|
+
if (federationScore < 100) {
|
|
705
|
+
confidenceDriftSummaries.push(`Federation completeness reduced (${federationScore}/100).`);
|
|
706
|
+
}
|
|
707
|
+
const reconstructionStatus = missingArtifactSummaries.length === 0
|
|
708
|
+
&& semanticDegradationSummaries.length === 0
|
|
709
|
+
&& federationDegradationSummaries.length === 0
|
|
710
|
+
&& graphMismatchSummaries.length === 0
|
|
711
|
+
&& provenanceMismatchSummaries.length === 0
|
|
712
|
+
? 'exact'
|
|
713
|
+
: 'bounded-degradation';
|
|
714
|
+
return {
|
|
715
|
+
reconstructionStatus,
|
|
716
|
+
canReconstructExactly: reconstructionStatus === 'exact',
|
|
717
|
+
missingArtifactSummaries: [...new Set(missingArtifactSummaries)],
|
|
718
|
+
semanticDegradationSummaries: [...new Set(semanticDegradationSummaries)],
|
|
719
|
+
federationDegradationSummaries: [...new Set(federationDegradationSummaries)],
|
|
720
|
+
graphMismatchSummaries: [...new Set(graphMismatchSummaries)],
|
|
721
|
+
provenanceMismatchSummaries: [...new Set(provenanceMismatchSummaries)],
|
|
722
|
+
confidenceDriftSummaries: [...new Set(confidenceDriftSummaries)],
|
|
723
|
+
confidence: {
|
|
724
|
+
overall,
|
|
725
|
+
provenance: {
|
|
726
|
+
score: provenanceScore,
|
|
727
|
+
note: latestEvidence?.governanceEnvelopePresent
|
|
728
|
+
? 'Canonical provenance envelope present.'
|
|
729
|
+
: 'Canonical provenance envelope missing.',
|
|
730
|
+
},
|
|
731
|
+
graph: {
|
|
732
|
+
score: graphScore,
|
|
733
|
+
note: latestEvidence?.graphTruncationCount
|
|
734
|
+
? 'Graph traversal truncation detected.'
|
|
735
|
+
: 'No graph truncation detected.',
|
|
736
|
+
},
|
|
737
|
+
semantic: {
|
|
738
|
+
score: semanticScore,
|
|
739
|
+
note: latestEvidence?.semanticTruncationCount
|
|
740
|
+
? 'Semantic truncation detected.'
|
|
741
|
+
: 'Semantic retrieval completeness intact for observed findings.',
|
|
742
|
+
},
|
|
743
|
+
federation: {
|
|
744
|
+
score: federationScore,
|
|
745
|
+
note: latestEvidence?.federationTruncationCount
|
|
746
|
+
? 'Federated context truncation detected.'
|
|
747
|
+
: 'No federated truncation detected.',
|
|
748
|
+
},
|
|
749
|
+
artifacts: {
|
|
750
|
+
score: artifactsScore,
|
|
751
|
+
note: missingArtifactSummaries.length > 0
|
|
752
|
+
? `${missingArtifactSummaries.length} artifact warning(s) present.`
|
|
753
|
+
: 'No missing artifact warnings.',
|
|
754
|
+
},
|
|
755
|
+
},
|
|
756
|
+
};
|
|
757
|
+
}
|
|
560
758
|
function replayGovernanceState(request, cwd = process.cwd()) {
|
|
561
759
|
const paths = toReplayPaths(cwd);
|
|
562
760
|
const asOf = parseRequiredTimestamp(request.at);
|
|
@@ -682,6 +880,12 @@ function replayGovernanceState(request, cwd = process.cwd()) {
|
|
|
682
880
|
const posture = computePosture(executions, evidences);
|
|
683
881
|
const hotspots = buildHotspots(executions);
|
|
684
882
|
const warnings = buildDeterminismWarnings(index, controlPlane, workspace);
|
|
883
|
+
const reconstruction = summarizeReplayGovernanceReport({
|
|
884
|
+
warnings,
|
|
885
|
+
evidences,
|
|
886
|
+
controlPlane,
|
|
887
|
+
workspace,
|
|
888
|
+
});
|
|
685
889
|
const determinismPayload = {
|
|
686
890
|
asOf,
|
|
687
891
|
controlPlaneSnapshotId: controlPlane?.snapshotId || null,
|
|
@@ -711,6 +915,7 @@ function replayGovernanceState(request, cwd = process.cwd()) {
|
|
|
711
915
|
workspaceSnapshots: index.workspaceSnapshots.length,
|
|
712
916
|
},
|
|
713
917
|
},
|
|
918
|
+
reconstruction,
|
|
714
919
|
controlPlane: {
|
|
715
920
|
snapshotId: controlPlane?.snapshotId || null,
|
|
716
921
|
createdAt: controlPlane?.createdAt || null,
|
|
@@ -837,6 +1042,7 @@ function replayExecution(request, cwd = process.cwd()) {
|
|
|
837
1042
|
regressionRate: stateAtExecution.posture.regressionRate,
|
|
838
1043
|
latestVerdict: stateAtExecution.posture.latestVerdict,
|
|
839
1044
|
},
|
|
1045
|
+
reconstruction: stateAtExecution.reconstruction,
|
|
840
1046
|
};
|
|
841
1047
|
}
|
|
842
1048
|
function replayWorkspace(request, cwd = process.cwd()) {
|
|
@@ -892,6 +1098,7 @@ function replayWorkspace(request, cwd = process.cwd()) {
|
|
|
892
1098
|
}),
|
|
893
1099
|
warnings,
|
|
894
1100
|
},
|
|
1101
|
+
reconstruction: state.reconstruction,
|
|
895
1102
|
};
|
|
896
1103
|
}
|
|
897
1104
|
function replayTimeline(request = {}, cwd = process.cwd()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay-runtime.js","sourceRoot":"","sources":["../../src/utils/replay-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"replay-runtime.js","sourceRoot":"","sources":["../../src/utils/replay-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-Repo Dependency Graph
|
|
3
|
+
*
|
|
4
|
+
* Detects coupling between repositories that is INVISIBLE to single-repo graph analysis.
|
|
5
|
+
* This is the key gap for microservice architectures where:
|
|
6
|
+
* - Service A calls Service B over HTTP/gRPC
|
|
7
|
+
* - Service C publishes Kafka events that Service D consumes
|
|
8
|
+
* - All services share a contract package (@company/shared-types)
|
|
9
|
+
* - Environment variables encode service discovery (AUTH_SERVICE_URL)
|
|
10
|
+
*
|
|
11
|
+
* Each detected edge has:
|
|
12
|
+
* - A `via` classification (how the coupling manifests)
|
|
13
|
+
* - A `confidence` level (high = structural proof, low = pattern heuristic)
|
|
14
|
+
* - `evidence` lines that prove the coupling exists
|
|
15
|
+
*
|
|
16
|
+
* The graph is deterministic: same inputs → identical edges, same ordering.
|
|
17
|
+
* All regex patterns are pre-compiled and stateless.
|
|
18
|
+
*/
|
|
19
|
+
import type { BrainRepositoryMap } from '@neurcode-ai/core';
|
|
20
|
+
import type { WorkspaceRepository } from '../utils/workspace-runtime';
|
|
21
|
+
export type CrossRepoEdgeVia = 'http-client' | 'grpc-client' | 'event-publish' | 'event-subscribe' | 'shared-contract' | 'env-service-url' | 'openapi-client' | 'db-shared-schema';
|
|
22
|
+
export type CrossRepoEdgeConfidence = 'high' | 'medium' | 'low';
|
|
23
|
+
export interface CrossRepoEdge {
|
|
24
|
+
/** Source: repo + file that creates the coupling */
|
|
25
|
+
fromRepo: string;
|
|
26
|
+
fromFile: string;
|
|
27
|
+
/** Target: resolved repo name (from workspace topology) */
|
|
28
|
+
toRepo: string;
|
|
29
|
+
/**
|
|
30
|
+
* toFile is set when we can pin the coupling to a specific file in the target repo
|
|
31
|
+
* (e.g., a shared contract file). Null when we only know the target service.
|
|
32
|
+
*/
|
|
33
|
+
toFile: string | null;
|
|
34
|
+
/** Mechanism of the coupling */
|
|
35
|
+
via: CrossRepoEdgeVia;
|
|
36
|
+
/** How confident we are this is a real cross-repo dependency */
|
|
37
|
+
confidence: CrossRepoEdgeConfidence;
|
|
38
|
+
/**
|
|
39
|
+
* The actual code lines that prove this edge exists.
|
|
40
|
+
* Always populated — no evidence → no edge.
|
|
41
|
+
*/
|
|
42
|
+
evidence: string[];
|
|
43
|
+
/**
|
|
44
|
+
* Human-readable explanation of what this coupling means for blast radius.
|
|
45
|
+
* Used in context packages and advisory reports.
|
|
46
|
+
*/
|
|
47
|
+
impactSummary: string;
|
|
48
|
+
}
|
|
49
|
+
export interface CrossRepoBuildOptions {
|
|
50
|
+
/**
|
|
51
|
+
* Maximum number of files to scan per repo.
|
|
52
|
+
* Prevents runaway on massive monorepos. Default: 2000.
|
|
53
|
+
*/
|
|
54
|
+
maxFilesPerRepo?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Whether to follow symlinks during glob scan. Default: false.
|
|
57
|
+
*/
|
|
58
|
+
followSymlinks?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface CrossRepoGraph {
|
|
61
|
+
generatedAt: string;
|
|
62
|
+
repos: string[];
|
|
63
|
+
edges: CrossRepoEdge[];
|
|
64
|
+
stats: {
|
|
65
|
+
filesScanned: number;
|
|
66
|
+
edgesDetected: number;
|
|
67
|
+
byVia: Record<CrossRepoEdgeVia, number>;
|
|
68
|
+
byConfidence: Record<CrossRepoEdgeConfidence, number>;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export interface CrossRepoGraphBuilderInput {
|
|
72
|
+
/** All repos in the workspace topology */
|
|
73
|
+
repos: WorkspaceRepository[];
|
|
74
|
+
/**
|
|
75
|
+
* Pre-loaded brain maps keyed by repo name.
|
|
76
|
+
* Optional — if absent for a repo, we fall back to direct file scanning.
|
|
77
|
+
*/
|
|
78
|
+
brainMaps?: Record<string, BrainRepositoryMap>;
|
|
79
|
+
options?: CrossRepoBuildOptions;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Build the cross-repo dependency graph for a workspace.
|
|
83
|
+
*
|
|
84
|
+
* This function:
|
|
85
|
+
* 1. Scans source files in each repo for cross-service coupling signals
|
|
86
|
+
* 2. Resolves each signal to a target repo using the workspace topology
|
|
87
|
+
* 3. Returns typed, evidence-backed edges with confidence scores
|
|
88
|
+
*
|
|
89
|
+
* Deterministic: same workspace config + same file contents → same graph.
|
|
90
|
+
*/
|
|
91
|
+
export declare function buildCrossRepoGraph(input: CrossRepoGraphBuilderInput): CrossRepoGraph;
|
|
92
|
+
/**
|
|
93
|
+
* Get all repos that are directly affected when a change occurs in `repoName`.
|
|
94
|
+
* Returns repos that import from / depend on `repoName`.
|
|
95
|
+
*/
|
|
96
|
+
export declare function getDownstreamRepos(graph: CrossRepoGraph, repoName: string): string[];
|
|
97
|
+
/**
|
|
98
|
+
* Get all repos that `repoName` directly depends on (calls/imports).
|
|
99
|
+
*/
|
|
100
|
+
export declare function getUpstreamRepos(graph: CrossRepoGraph, repoName: string): string[];
|
|
101
|
+
/**
|
|
102
|
+
* Get all edges involving a specific file change in a specific repo.
|
|
103
|
+
* Used to find "what cross-repo coupling does this file touch?"
|
|
104
|
+
*/
|
|
105
|
+
export declare function getEdgesForFile(graph: CrossRepoGraph, repoName: string, filePath: string): CrossRepoEdge[];
|
|
106
|
+
/**
|
|
107
|
+
* Get all edges that point TO a specific file in a repo.
|
|
108
|
+
* Used to find "who depends on this file?"
|
|
109
|
+
*/
|
|
110
|
+
export declare function getEdgesPointingToFile(graph: CrossRepoGraph, repoName: string, filePath: string): CrossRepoEdge[];
|
|
111
|
+
//# sourceMappingURL=cross-repo-graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-repo-graph.d.ts","sourceRoot":"","sources":["../../src/workspace/cross-repo-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAItE,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,aAAa,GACb,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,gCAAgC;IAChC,GAAG,EAAE,gBAAgB,CAAC;IAEtB,gEAAgE;IAChE,UAAU,EAAE,uBAAuB,CAAC;IAEpC;;;OAGG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACxC,YAAY,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;KACvD,CAAC;CACH;AA4LD,MAAM,WAAW,0BAA0B;IACzC,0CAA0C;IAC1C,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAE7B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAE/C,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,0BAA0B,GAAG,cAAc,CAsKrF;AAiGD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAUlF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,CAIjB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,CAIjB"}
|