@descryy/core 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/budget/index.d.ts +3 -0
- package/dist/budget/index.d.ts.map +1 -0
- package/dist/budget/index.js +2 -0
- package/dist/budget/index.js.map +1 -0
- package/dist/budget/size.d.ts +43 -0
- package/dist/budget/size.d.ts.map +1 -0
- package/dist/budget/size.js +52 -0
- package/dist/budget/size.js.map +1 -0
- package/dist/contracts/engine.d.ts.map +1 -1
- package/dist/contracts/engine.js +16 -9
- package/dist/contracts/engine.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/multipr/mechanical.d.ts.map +1 -1
- package/dist/multipr/mechanical.js +1 -0
- package/dist/multipr/mechanical.js.map +1 -1
- package/dist/query/confirmed-facts.d.ts +21 -5
- package/dist/query/confirmed-facts.d.ts.map +1 -1
- package/dist/query/confirmed-facts.js +30 -7
- package/dist/query/confirmed-facts.js.map +1 -1
- package/dist/query/index.d.ts +2 -0
- package/dist/query/index.d.ts.map +1 -1
- package/dist/query/index.js +1 -0
- package/dist/query/index.js.map +1 -1
- package/dist/query/memory.d.ts.map +1 -1
- package/dist/query/memory.js +4 -0
- package/dist/query/memory.js.map +1 -1
- package/dist/query/provider.d.ts +7 -0
- package/dist/query/provider.d.ts.map +1 -1
- package/dist/query/provider.js.map +1 -1
- package/dist/query/queries.d.ts.map +1 -1
- package/dist/query/queries.js +39 -15
- package/dist/query/queries.js.map +1 -1
- package/dist/query/resolution-floor.d.ts +36 -0
- package/dist/query/resolution-floor.d.ts.map +1 -0
- package/dist/query/resolution-floor.js +39 -0
- package/dist/query/resolution-floor.js.map +1 -0
- package/dist/query/sqlite.d.ts.map +1 -1
- package/dist/query/sqlite.js +1 -0
- package/dist/query/sqlite.js.map +1 -1
- package/dist/query/traverse.d.ts.map +1 -1
- package/dist/query/traverse.js +0 -0
- package/dist/query/traverse.js.map +1 -1
- package/dist/scoping/traverse.d.ts.map +1 -1
- package/dist/scoping/traverse.js +18 -4
- package/dist/scoping/traverse.js.map +1 -1
- package/dist/sources/confirmed/incidents.d.ts +47 -0
- package/dist/sources/confirmed/incidents.d.ts.map +1 -0
- package/dist/sources/confirmed/incidents.js +173 -0
- package/dist/sources/confirmed/incidents.js.map +1 -0
- package/dist/sources/confirmed/index.d.ts +3 -0
- package/dist/sources/confirmed/index.d.ts.map +1 -0
- package/dist/sources/confirmed/index.js +2 -0
- package/dist/sources/confirmed/index.js.map +1 -0
- package/dist/sources/git/diff.d.ts +37 -0
- package/dist/sources/git/diff.d.ts.map +1 -1
- package/dist/sources/git/diff.js +59 -8
- package/dist/sources/git/diff.js.map +1 -1
- package/dist/sources/git/incidents.d.ts +109 -0
- package/dist/sources/git/incidents.d.ts.map +1 -0
- package/dist/sources/git/incidents.js +187 -0
- package/dist/sources/git/incidents.js.map +1 -0
- package/dist/sources/git/index.d.ts +4 -2
- package/dist/sources/git/index.d.ts.map +1 -1
- package/dist/sources/git/index.js +2 -1
- package/dist/sources/git/index.js.map +1 -1
- package/dist/sources/git/source.d.ts.map +1 -1
- package/dist/sources/git/source.js +0 -0
- package/dist/sources/git/source.js.map +1 -1
- package/dist/tiers/certify.d.ts.map +1 -1
- package/dist/tiers/certify.js +47 -3
- package/dist/tiers/certify.js.map +1 -1
- package/package.json +2 -2
package/dist/query/queries.js
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* see `rootCauseSearch`. Reporting a partial answer as a whole one is the
|
|
16
16
|
* exact failure the honest-degradation rule exists to prevent.
|
|
17
17
|
*/
|
|
18
|
+
import { createResolutionFloor } from "./resolution-floor.js";
|
|
18
19
|
import { bfs, findPath, weightedBfs } from "./traverse.js";
|
|
19
20
|
function stampFor(provider, resolutionFloor) {
|
|
20
21
|
return { ...provider.baseStamp(), resolutionFloor };
|
|
@@ -71,7 +72,9 @@ export function impactOf(provider, seeds, options = {}) {
|
|
|
71
72
|
export function rootCauseSearch(provider, nodeId) {
|
|
72
73
|
const types = ["INCIDENT_CORRELATED", "FIXED_BY"];
|
|
73
74
|
const matches = [];
|
|
74
|
-
|
|
75
|
+
// R0 when no incident edge matched — a search that examined nothing must not
|
|
76
|
+
// stamp itself R4. See `createResolutionFloor`.
|
|
77
|
+
const floor = createResolutionFloor();
|
|
75
78
|
for (const edge of [...provider.incoming(nodeId, { types }), ...provider.outgoing(nodeId, { types })]) {
|
|
76
79
|
const otherId = edge.from === nodeId ? edge.to : edge.from;
|
|
77
80
|
const node = provider.node(otherId);
|
|
@@ -79,11 +82,10 @@ export function rootCauseSearch(provider, nodeId) {
|
|
|
79
82
|
continue;
|
|
80
83
|
if (node.type !== "INCIDENT" && node.type !== "FIX_PATTERN")
|
|
81
84
|
continue;
|
|
82
|
-
|
|
83
|
-
floor = edge.resolution;
|
|
85
|
+
floor.observe(edge.resolution);
|
|
84
86
|
matches.push({ incident: node, via: edge.type });
|
|
85
87
|
}
|
|
86
|
-
return result(provider, matches, floor, false, [
|
|
88
|
+
return result(provider, matches, floor.value(), false, [
|
|
87
89
|
"Structural incident links only. Embedding similarity was not run — this build has no " +
|
|
88
90
|
"vector store (§8.2), so a similar past incident with no graph edge to this node will " +
|
|
89
91
|
"not appear here. Absence is not evidence.",
|
|
@@ -168,15 +170,17 @@ export function traceApi(provider, fromNodeId, toNodeId, options = {}) {
|
|
|
168
170
|
if (node !== undefined)
|
|
169
171
|
path.push(node);
|
|
170
172
|
}
|
|
171
|
-
|
|
173
|
+
// R0 when no path was found. The note below already says nothing was
|
|
174
|
+
// traversed; stamping R4 beside it said the opposite in the field the
|
|
175
|
+
// reliability cap is actually derived from.
|
|
176
|
+
const floor = createResolutionFloor();
|
|
172
177
|
for (const edge of edges)
|
|
173
|
-
|
|
174
|
-
floor = edge.resolution;
|
|
178
|
+
floor.observe(edge.resolution);
|
|
175
179
|
const notes = edges.length === 0
|
|
176
180
|
? ["No path found. The two nodes may be genuinely unconnected, or connected only by " +
|
|
177
181
|
"edges this resolution level cannot resolve."]
|
|
178
182
|
: [];
|
|
179
|
-
return result(provider, { path, hops: edges.length }, floor, false, notes);
|
|
183
|
+
return result(provider, { path, hops: edges.length }, floor.value(), false, notes);
|
|
180
184
|
}
|
|
181
185
|
/**
|
|
182
186
|
* The scoped subgraph, ranked, intersected with `TESTS` edges.
|
|
@@ -242,7 +246,7 @@ export function changesWith(provider, nodeId) {
|
|
|
242
246
|
...provider.incoming(nodeId, { types: ["CHANGES_WITH"] }),
|
|
243
247
|
];
|
|
244
248
|
const byOther = new Map();
|
|
245
|
-
|
|
249
|
+
const floor = createResolutionFloor();
|
|
246
250
|
for (const edge of edges) {
|
|
247
251
|
const otherId = edge.from === nodeId ? edge.to : edge.from;
|
|
248
252
|
if (otherId === nodeId)
|
|
@@ -250,18 +254,38 @@ export function changesWith(provider, nodeId) {
|
|
|
250
254
|
const node = provider.node(otherId);
|
|
251
255
|
if (node === undefined)
|
|
252
256
|
continue;
|
|
253
|
-
|
|
254
|
-
floor = edge.resolution;
|
|
257
|
+
floor.observe(edge.resolution);
|
|
255
258
|
const support = typeof edge.attrs?.["support"] === "number" ? edge.attrs["support"] : 0;
|
|
256
259
|
byOther.set(otherId, { node, support, confidence: edge.confidence });
|
|
257
260
|
}
|
|
258
261
|
const data = [...byOther.values()].sort((a, b) => b.support - a.support || a.node.id.localeCompare(b.node.id));
|
|
259
262
|
const notes = [];
|
|
260
263
|
if (data.length === 0) {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
+
// This note used to claim an ambiguity the graph does not actually have.
|
|
265
|
+
// It said the query "cannot tell apart" a file below the thresholds from a
|
|
266
|
+
// graph built without git history — but the `FILE` node's own
|
|
267
|
+
// `changeCount` is written by the git-history source and by nothing else,
|
|
268
|
+
// so its presence *is* the evidence that history ran for this file. UAT
|
|
269
|
+
// Phase 3 item 6: a 21-commit file came back empty here and the caller was
|
|
270
|
+
// told the reason was unknowable, when half of it was already on the node.
|
|
271
|
+
const changeCount = provider.node(nodeId)?.attrs?.["changeCount"];
|
|
272
|
+
if (typeof changeCount === "number" && changeCount > 0) {
|
|
273
|
+
notes.push(`No CHANGES_WITH edge touches this node, and git history did run for it: the graph records ` +
|
|
274
|
+
`${changeCount} commit(s) touching this file. So this is a threshold result, not a missing ` +
|
|
275
|
+
"source — no single partner co-changed with it often enough, relative to how often it " +
|
|
276
|
+
"changes, to clear the support and confidence floors recorded when the graph was built. " +
|
|
277
|
+
"Note that the confidence floor divides by the more-frequently-changed file's own total, " +
|
|
278
|
+
"so a file that changes very often needs proportionally more co-changes with any one " +
|
|
279
|
+
"partner to couple to it at all — which is deliberate (it stops a busy config file " +
|
|
280
|
+
"coupling to everything) and does mean the busiest files report the fewest partners.");
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
notes.push("No CHANGES_WITH edge touches this node, and the node carries no recorded change count " +
|
|
284
|
+
"either. That may mean the file has no co-change history above the recorded " +
|
|
285
|
+
"support/confidence thresholds, or that git history was skipped when the graph was " +
|
|
286
|
+
"built — with no change count on the node, this query cannot tell the two apart.");
|
|
287
|
+
}
|
|
264
288
|
}
|
|
265
|
-
return result(provider, data,
|
|
289
|
+
return result(provider, data, floor.value(), false, notes);
|
|
266
290
|
}
|
|
267
291
|
//# sourceMappingURL=queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/query/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/query/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAuC,MAAM,eAAe,CAAC;AAEhG,SAAS,QAAQ,CACf,QAA2B,EAC3B,eAAgC;IAEhC,OAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,MAAM,CACb,QAA2B,EAC3B,IAAO,EACP,eAAgC,EAChC,SAAkB,EAClB,KAAe;IAEf,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CACR,kFAAkF;YAChF,kDAAkD,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAChF,CAAC;AAED,8EAA8E;AAC9E,SAAS,OAAO,CACd,QAA2B,EAC3B,OAA2B;IAE3B,MAAM,GAAG,GAAqD,EAAE,CAAC;IACjE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAYD,MAAM,UAAU,QAAQ,CACtB,QAA2B,EAC3B,KAAwB,EACxB,UAAyB,EAAE;IAE3B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE;QAC3C,SAAS,EAAE,IAAI;QACf,GAAG,OAAO;QACV,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;KAC7E,CAAC,CAAC;IACH,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,oBAAoB;IACpB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CACR,6DAA6D,OAAO,CAAC,eAAe,IAAI;YACtF,+EAA+E;YAC/E,4CAA4C,CAC/C,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACjH,CAAC;AAWD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAC7B,QAA2B,EAC3B,MAAc;IAEd,MAAM,KAAK,GAAe,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,6EAA6E;IAC7E,gDAAgD;IAChD,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;QACtG,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;YAAE,SAAS;QACtE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACrD,uFAAuF;YACrF,uFAAuF;YACvF,2CAA2C;KAC9C,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAE9E,MAAM,UAAU,aAAa,CAC3B,QAA2B,EAC3B,MAAc,EACd,UAAkD,EAAE;IAEpD,4EAA4E;IAC5E,yEAAyE;IACzE,mDAAmD;IACnD,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;QACtC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC;QAC/B,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;KACpE,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAEzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CACR,4BAA4B,OAAO,CAAC,eAAe,yCAAyC;YAC1F,uFAAuF,CAC1F,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,wFAAwF;YACtF,oDAAoD,CACvD,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACpF,CAAC;AAED,8EAA8E;AAC9E,iDAAiD;AACjD,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAE7F,MAAM,UAAU,YAAY,CAC1B,QAA2B,EAC3B,MAAc,EACd,UAA4B,EAAE;IAE9B,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;QACtC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,CAAC,GAAG,oBAAoB,CAAC;QAChC,GAAG,OAAO;KACX,CAAC,CAAC;IAEH,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;QAChC,2EAA2E;QAC3E,2DAA2D;QAC3D,KAAK,CAAC,IAAI,CACR,mEAAmE,OAAO,CAAC,eAAe,IAAI;YAC5F,mFAAmF,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACjH,CAAC;AAED,8EAA8E;AAC9E,oDAAoD;AACpD,8EAA8E;AAE9E,MAAM,UAAU,QAAQ,CACtB,QAA2B,EAC3B,UAAkB,EAClB,QAAgB,EAChB,UAA4B,EAAE;IAE9B,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1F,MAAM,GAAG,GAAa,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,mEAAmE;QACnE,wEAAwE;QACxE,yEAAyE;QACzE,qEAAqE;QACrE,wEAAwE;QACxE,qEAAqE;QACrE,sEAAsE;QACtE,sEAAsE;QACtE,iCAAiC;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QACrC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,4CAA4C;IAC5C,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEzD,MAAM,KAAK,GACT,KAAK,CAAC,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC,kFAAkF;gBAClF,6CAA6C,CAAC;QACjD,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACrF,CAAC;AAYD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,QAA2B,EAC3B,OAA0B,EAC1B,UAAyB,EAAE;IAE3B,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,6EAA6E;QAC7E,4EAA4E;QAC5E,KAAK,CAAC,IAAI,CACR,GAAG,QAAQ,CAAC,MAAM,qEAAqE;YACrF,mCAAmC,CACtC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE;QACrE,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK;KACN,CAAC;AACJ,CAAC;AAcD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,WAAW,CAAC,QAA2B,EAAE,MAAc;IACrE,MAAM,KAAK,GAAG;QACZ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;QACzD,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;KAC1D,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3D,IAAI,OAAO,KAAK,MAAM;YAAE,SAAS,CAAC,uEAAuE;QACzG,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/G,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,yEAAyE;QACzE,2EAA2E;QAC3E,8DAA8D;QAC9D,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,2EAA2E;QAC3E,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACvD,KAAK,CAAC,IAAI,CACR,4FAA4F;gBAC1F,GAAG,WAAW,8EAA8E;gBAC5F,uFAAuF;gBACvF,yFAAyF;gBACzF,0FAA0F;gBAC1F,sFAAsF;gBACtF,oFAAoF;gBACpF,qFAAqF,CACxF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CACR,wFAAwF;gBACtF,6EAA6E;gBAC7E,oFAAoF;gBACpF,iFAAiF,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A running minimum over resolution levels that knows the difference between
|
|
3
|
+
* "the weakest evidence was R4" and "there was no evidence."
|
|
4
|
+
*
|
|
5
|
+
* The bug it removes, found in UAT: `propagation` refused an answer — no edge
|
|
6
|
+
* of any walked type touched the node, so the traversal followed nothing — and
|
|
7
|
+
* stamped that reply `resolutionFloor: 4`, `reliabilityCap: "A"`. The strongest
|
|
8
|
+
* tier in the system, on a walk that examined zero edges. Nothing computed it;
|
|
9
|
+
* it was the identity value of a `let floor = 4` running minimum, surviving
|
|
10
|
+
* untouched because the loop that would have lowered it never ran.
|
|
11
|
+
*
|
|
12
|
+
* That is the empty-denominator failure this project catches everywhere else,
|
|
13
|
+
* appearing in the resolution axis: a reply that found nothing and a reply
|
|
14
|
+
* resting on runtime-witnessed evidence produced the same number, and the
|
|
15
|
+
* number is the one that reliability class is derived from — so the reply that
|
|
16
|
+
* knew least was labelled most trustworthy.
|
|
17
|
+
*
|
|
18
|
+
* R0 is the answer for the empty case, and it is not a new convention:
|
|
19
|
+
* `minimumResolution` in `@descryy/ir` already returns R0 over an empty graph
|
|
20
|
+
* path, ratified by DEC-NEXT-empty-graph-path-resolution-floor (option A —
|
|
21
|
+
* "no hop resolved anything, so nothing above R0 has been established"), and
|
|
22
|
+
* `coChanges`/`similarIncidents` already special-case their own empty sets to
|
|
23
|
+
* 0 by hand. This makes the same rule the default rather than something each
|
|
24
|
+
* call site has to remember.
|
|
25
|
+
*/
|
|
26
|
+
import type { ResolutionLevel } from "@descryy/ir";
|
|
27
|
+
export interface ResolutionFloor {
|
|
28
|
+
/** Fold one edge's (or hop's) resolution into the running minimum. */
|
|
29
|
+
observe(resolution: ResolutionLevel): void;
|
|
30
|
+
/** The minimum observed, or **R0** when nothing was observed at all. */
|
|
31
|
+
value(): ResolutionLevel;
|
|
32
|
+
/** Whether anything was observed. For a caller that discloses the difference. */
|
|
33
|
+
observed(): boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function createResolutionFloor(): ResolutionFloor;
|
|
36
|
+
//# sourceMappingURL=resolution-floor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolution-floor.d.ts","sourceRoot":"","sources":["../../src/query/resolution-floor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,OAAO,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IAC3C,wEAAwE;IACxE,KAAK,IAAI,eAAe,CAAC;IACzB,iFAAiF;IACjF,QAAQ,IAAI,OAAO,CAAC;CACrB;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CAWvD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A running minimum over resolution levels that knows the difference between
|
|
3
|
+
* "the weakest evidence was R4" and "there was no evidence."
|
|
4
|
+
*
|
|
5
|
+
* The bug it removes, found in UAT: `propagation` refused an answer — no edge
|
|
6
|
+
* of any walked type touched the node, so the traversal followed nothing — and
|
|
7
|
+
* stamped that reply `resolutionFloor: 4`, `reliabilityCap: "A"`. The strongest
|
|
8
|
+
* tier in the system, on a walk that examined zero edges. Nothing computed it;
|
|
9
|
+
* it was the identity value of a `let floor = 4` running minimum, surviving
|
|
10
|
+
* untouched because the loop that would have lowered it never ran.
|
|
11
|
+
*
|
|
12
|
+
* That is the empty-denominator failure this project catches everywhere else,
|
|
13
|
+
* appearing in the resolution axis: a reply that found nothing and a reply
|
|
14
|
+
* resting on runtime-witnessed evidence produced the same number, and the
|
|
15
|
+
* number is the one that reliability class is derived from — so the reply that
|
|
16
|
+
* knew least was labelled most trustworthy.
|
|
17
|
+
*
|
|
18
|
+
* R0 is the answer for the empty case, and it is not a new convention:
|
|
19
|
+
* `minimumResolution` in `@descryy/ir` already returns R0 over an empty graph
|
|
20
|
+
* path, ratified by DEC-NEXT-empty-graph-path-resolution-floor (option A —
|
|
21
|
+
* "no hop resolved anything, so nothing above R0 has been established"), and
|
|
22
|
+
* `coChanges`/`similarIncidents` already special-case their own empty sets to
|
|
23
|
+
* 0 by hand. This makes the same rule the default rather than something each
|
|
24
|
+
* call site has to remember.
|
|
25
|
+
*/
|
|
26
|
+
export function createResolutionFloor() {
|
|
27
|
+
let lowest = 4;
|
|
28
|
+
let seen = false;
|
|
29
|
+
return {
|
|
30
|
+
observe(resolution) {
|
|
31
|
+
if (!seen || resolution < lowest)
|
|
32
|
+
lowest = resolution;
|
|
33
|
+
seen = true;
|
|
34
|
+
},
|
|
35
|
+
value: () => (seen ? lowest : 0),
|
|
36
|
+
observed: () => seen,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=resolution-floor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolution-floor.js","sourceRoot":"","sources":["../../src/query/resolution-floor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAaH,MAAM,UAAU,qBAAqB;IACnC,IAAI,MAAM,GAAoB,CAAC,CAAC;IAChC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,OAAO;QACL,OAAO,CAAC,UAAU;YAChB,IAAI,CAAC,IAAI,IAAI,UAAU,GAAG,MAAM;gBAAE,MAAM,GAAG,UAAU,CAAC;YACtD,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/query/sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAGL,KAAK,iBAAiB,EAEvB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAQ3D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/query/sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAGL,KAAK,iBAAiB,EAEvB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAQ3D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,iBAAiB,CA6BxE;AAED,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAMtD"}
|
package/dist/query/sqlite.js
CHANGED
package/dist/query/sqlite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/query/sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,sBAAsB,GAIvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AASvD,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,OAAO;QACL,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,QAAQ,EAAE,CAAC,EAAE,EAAE,OAA0B,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QACjG,QAAQ,EAAE,CAAC,EAAE,EAAE,OAA0B,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QACjG,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,sBAAsB,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;QACvF,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;QAElE,SAAS;YACP,0EAA0E;YAC1E,yEAAyE;YACzE,oEAAoE;YACpE,sEAAsE;YACtE,MAAM,GAAG,GAAG,MAAM;iBACf,OAAO,CACN;;;8EAGoE,CACrE;iBACA,GAAG,EAAE,CAAC;YACT,OAAO;gBACL,SAAS,EAAE,GAAG,EAAE,UAAU,IAAI,IAAI;gBAClC,YAAY,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI;gBACnC,eAAe,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/query/sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,sBAAsB,GAIvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AASvD,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,OAAO;QACL,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,QAAQ,EAAE,CAAC,EAAE,EAAE,OAA0B,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QACjG,QAAQ,EAAE,CAAC,EAAE,EAAE,OAA0B,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QACjG,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,sBAAsB,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;QACvF,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;QAElE,SAAS;YACP,0EAA0E;YAC1E,yEAAyE;YACzE,oEAAoE;YACpE,sEAAsE;YACtE,MAAM,GAAG,GAAG,MAAM;iBACf,OAAO,CACN;;;8EAGoE,CACrE;iBACA,GAAG,EAAE,CAAC;YACT,OAAO;gBACL,SAAS,EAAE,GAAG,EAAE,UAAU,IAAI,IAAI;gBAClC,YAAY,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI;gBACnC,eAAe,EAAE,iBAAiB;gBAClC,YAAY,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC;aAChC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC5C,OAAO,CACL,MAAM;SACH,OAAO,CAAgB,0DAA0D,CAAC;SAClF,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAClB,KAAmB,EACnB,UAA4B,EAAE;IAE9B,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC;IACpC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../src/query/traverse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../src/query/traverse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,QAAQ,EAA+B,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,qFAAqF;IACrF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C;AA2CD;;;;;GAKG;AACH,wBAAgB,GAAG,CACjB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE,gBAAqB,GAC7B,gBAAgB,CAqClB;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,yFAAyF;IACzF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE,eAAoB,GAC5B,gBAAgB,CAyDlB;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,gBAAqB,GAC7B,SAAS,MAAM,EAAE,CA8BnB"}
|
package/dist/query/traverse.js
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../src/query/traverse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;
|
|
1
|
+
{"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../src/query/traverse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../src/scoping/traverse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAY,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../src/scoping/traverse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAY,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAc,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIvF,OAAO,EAAyB,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,KAAK;IACpB,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,mFAAmF;IACnF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AASD,wBAAgB,WAAW,CACzB,QAAQ,EAAE,iBAAiB,EAC3B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,GAAE,YAAiB,GACzB,WAAW,CAAC,KAAK,CAAC,CAsKpB"}
|
package/dist/scoping/traverse.js
CHANGED
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
* can keep a node that later scores below threshold, never drop one that would
|
|
26
26
|
* have scored above it.
|
|
27
27
|
*/
|
|
28
|
+
import { createResolutionFloor } from "../query/resolution-floor.js";
|
|
28
29
|
import { attenuationFor } from "./fanout.js";
|
|
29
30
|
import { finalScore, HistoryFactors, hopDecay, maxBoost } from "./score.js";
|
|
30
31
|
import { NODE_BUDGETS, tierFor } from "./tiers.js";
|
|
@@ -58,7 +59,10 @@ export function scopeChange(provider, changedIds, options = {}) {
|
|
|
58
59
|
const pruneAt = config.threshold / maxBoost(config);
|
|
59
60
|
const best = new Map();
|
|
60
61
|
const queue = [];
|
|
61
|
-
|
|
62
|
+
// R0, not R4, when no edge is ever traversed — see `createResolutionFloor`.
|
|
63
|
+
// An isolated node is a walk that examined nothing, and a bare `let floor = 4`
|
|
64
|
+
// would report that as the strongest evidence tier in the system.
|
|
65
|
+
const floor = createResolutionFloor();
|
|
62
66
|
for (const id of changedIds) {
|
|
63
67
|
best.set(id, { score: 1, depth: 0, via: null });
|
|
64
68
|
queue.push({ id, score: 1, depth: 0 });
|
|
@@ -104,8 +108,7 @@ export function scopeChange(provider, changedIds, options = {}) {
|
|
|
104
108
|
const existing = best.get(next);
|
|
105
109
|
if (existing !== undefined && existing.score >= score)
|
|
106
110
|
continue;
|
|
107
|
-
|
|
108
|
-
resolutionFloor = edge.resolution;
|
|
111
|
+
floor.observe(edge.resolution);
|
|
109
112
|
best.set(next, { score, depth: current.depth + 1, via: edge });
|
|
110
113
|
queue.push({ id: next, score, depth: current.depth + 1 });
|
|
111
114
|
}
|
|
@@ -146,7 +149,18 @@ export function scopeChange(provider, changedIds, options = {}) {
|
|
|
146
149
|
`node(s) were dropped, all scoring at or below ${worstKept.toFixed(3)}. They were not ` +
|
|
147
150
|
`examined and are not reported as clean.`);
|
|
148
151
|
}
|
|
149
|
-
|
|
152
|
+
const resolutionFloor = floor.value();
|
|
153
|
+
if (!floor.observed()) {
|
|
154
|
+
// R0 here means "no edge was followed", which is a different fact from "an
|
|
155
|
+
// edge was followed and resolved no better than R0" — and the sentence
|
|
156
|
+
// below would state the second. Naming the real one, rather than letting a
|
|
157
|
+
// reader infer a badly-resolved walk where no walk happened.
|
|
158
|
+
notes.push("No edge was traversed from the changed node(s) at all, so this radius rests on no edge " +
|
|
159
|
+
"evidence. That is not a finding that nothing is affected: the graph holds no traversable " +
|
|
160
|
+
"edge touching them, which a graph built without the source that would carry those edges " +
|
|
161
|
+
"produces just as readily as a genuinely isolated symbol.");
|
|
162
|
+
}
|
|
163
|
+
else if (resolutionFloor <= 1) {
|
|
150
164
|
notes.push(`This blast radius rests on edges resolved no better than R${resolutionFloor}. Cross-file ` +
|
|
151
165
|
"calls are not reliably resolved at that level, so the radius is a lower bound.");
|
|
152
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../src/scoping/traverse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,OAAO,EAAgC,MAAM,YAAY,CAAC;AACjF,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GAEtB,MAAM,cAAc,CAAC;AAgCtB;;;;GAIG;AACH,MAAM,UAAU,GAA0B,IAAI,GAAG,CAAW,CAAC,cAAc,CAAC,CAAC,CAAC;AAE9E,MAAM,UAAU,WAAW,CACzB,QAA2B,EAC3B,UAA6B,EAC7B,UAAwB,EAAE;IAE1B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,sBAAsB,CAAC;IACxD,4DAA4D;IAC5D,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE9B,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,8BAA8B;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC;IAC/E,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,IAAI,YAAY,EAAE,CAAC;QAC/E,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,OAAO,CAAC,YAAY,4CAA4C;YAC9E,IAAI,YAAY,wEAAwE;YACxF,sEAAsE,YAAY,GAAG,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAY,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,iBAAiB,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAgE,CAAC;IACrF,MAAM,KAAK,GAAmD,EAAE,CAAC;IACjE,
|
|
1
|
+
{"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../src/scoping/traverse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `IRSource` that projects developer-confirmed incidents into the graph.
|
|
3
|
+
*
|
|
4
|
+
* ## Why a source, and not a direct write
|
|
5
|
+
*
|
|
6
|
+
* A `ConfirmedIncident` lives in `.descry/config.json` because it is testimony
|
|
7
|
+
* — a developer fixed something and said so, and no commit records that they
|
|
8
|
+
* said it (see the type's own doc). But a store is derived data: DEC-017 drops
|
|
9
|
+
* every derived table on a schema change and rebuilds from source. So a
|
|
10
|
+
* confirmed incident written *only* into the graph would survive until the next
|
|
11
|
+
* IR-version bump and then vanish, which is the failure the EARNED partition
|
|
12
|
+
* exists to prevent — arriving through a writer that simply did not think about
|
|
13
|
+
* it.
|
|
14
|
+
*
|
|
15
|
+
* Making this a source solves it by construction. The file is the record; the
|
|
16
|
+
* graph is a projection of the record; every `analyze` re-projects. There is no
|
|
17
|
+
* migration to write and no earned table to extend, and the same discipline
|
|
18
|
+
* every other producer in this system already follows applies unchanged: a
|
|
19
|
+
* batch in, `writeBatch` out, invalidation by producer id.
|
|
20
|
+
*
|
|
21
|
+
* ## Identity
|
|
22
|
+
*
|
|
23
|
+
* The `INCIDENT` node keys on `confirmed:<confirmedAt>:<summary>` — the moment
|
|
24
|
+
* the developer said it, plus what they said. Deliberately **not** the file set:
|
|
25
|
+
* node ids never contain a path (renames churn them and silently destroy
|
|
26
|
+
* incident links), and a developer correcting the file list of an incident they
|
|
27
|
+
* already recorded is editing one incident rather than creating a second.
|
|
28
|
+
*
|
|
29
|
+
* ## What it does not do
|
|
30
|
+
*
|
|
31
|
+
* It mints no `FIX_PATTERN` unless the record names a fixing commit, and it
|
|
32
|
+
* never infers one from HEAD. "The developer confirmed an incident" and "the
|
|
33
|
+
* developer confirmed which commit fixed it" are separate claims, and only the
|
|
34
|
+
* second one licenses a `FIXED_BY` edge.
|
|
35
|
+
*/
|
|
36
|
+
import { type ConfirmedIncident, type IdentityScope, type IRSource } from "@descryy/ir";
|
|
37
|
+
export declare const CONFIRMED_INCIDENT_SOURCE_ID = "confirmed-incidents";
|
|
38
|
+
export declare const CONFIRMED_INCIDENT_SOURCE_VERSION = "0.1.0";
|
|
39
|
+
export interface ConfirmedIncidentSourceOptions {
|
|
40
|
+
readonly repo: string;
|
|
41
|
+
/** Every confirmed incident on record. Entries for another repo are ignored. */
|
|
42
|
+
readonly incidents: readonly ConfirmedIncident[];
|
|
43
|
+
}
|
|
44
|
+
/** The `INCIDENT` node id for one record. Stable across re-projections. */
|
|
45
|
+
export declare function confirmedIncidentId(scope: IdentityScope, incident: ConfirmedIncident): string;
|
|
46
|
+
export declare function createConfirmedIncidentSource(options: ConfirmedIncidentSourceOptions): IRSource;
|
|
47
|
+
//# sourceMappingURL=incidents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incidents.d.ts","sourceRoot":"","sources":["../../../src/sources/confirmed/incidents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAIlB,KAAK,QAAQ,EAEd,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAClE,eAAO,MAAM,iCAAiC,UAAU,CAAC;AAGzD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAClD;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAE7F;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,8BAA8B,GAAG,QAAQ,CA0I/F"}
|