@descryy/core 0.5.1 → 0.6.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/contracts/engine.d.ts.map +1 -1
- package/dist/contracts/engine.js +3 -1
- package/dist/contracts/engine.js.map +1 -1
- package/dist/contracts/index.d.ts +3 -1
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +2 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/observed-routes.d.ts +89 -0
- package/dist/contracts/observed-routes.d.ts.map +1 -0
- package/dist/contracts/observed-routes.js +114 -0
- package/dist/contracts/observed-routes.js.map +1 -0
- package/dist/contracts/orphans.d.ts +9 -2
- package/dist/contracts/orphans.d.ts.map +1 -1
- package/dist/contracts/orphans.js +9 -3
- package/dist/contracts/orphans.js.map +1 -1
- package/dist/contracts/paths.d.ts +14 -0
- package/dist/contracts/paths.d.ts.map +1 -1
- package/dist/contracts/paths.js +20 -0
- package/dist/contracts/paths.js.map +1 -1
- package/dist/governance/demotion-ledger.d.ts +76 -0
- package/dist/governance/demotion-ledger.d.ts.map +1 -0
- package/dist/governance/demotion-ledger.js +108 -0
- package/dist/governance/demotion-ledger.js.map +1 -0
- package/dist/governance/finding-funnel.d.ts +20 -1
- package/dist/governance/finding-funnel.d.ts.map +1 -1
- package/dist/governance/finding-funnel.js +28 -10
- package/dist/governance/finding-funnel.js.map +1 -1
- package/dist/governance/index.d.ts +2 -0
- package/dist/governance/index.d.ts.map +1 -1
- package/dist/governance/index.js +1 -0
- package/dist/governance/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/memory.d.ts.map +1 -1
- package/dist/query/memory.js +1 -0
- package/dist/query/memory.js.map +1 -1
- package/dist/query/provider.d.ts +11 -2
- package/dist/query/provider.d.ts.map +1 -1
- package/dist/query/provider.js.map +1 -1
- package/dist/query/sqlite.d.ts +4 -1
- package/dist/query/sqlite.d.ts.map +1 -1
- package/dist/query/sqlite.js +20 -5
- package/dist/query/sqlite.js.map +1 -1
- package/dist/query/traverse.d.ts +16 -0
- package/dist/query/traverse.d.ts.map +1 -1
- package/dist/query/traverse.js +46 -10
- package/dist/query/traverse.js.map +1 -1
- package/dist/sources/confirmed/incidents.d.ts +11 -3
- package/dist/sources/confirmed/incidents.d.ts.map +1 -1
- package/dist/sources/confirmed/incidents.js +15 -4
- package/dist/sources/confirmed/incidents.js.map +1 -1
- package/dist/store/reader.d.ts +1 -0
- package/dist/store/reader.d.ts.map +1 -1
- package/dist/store/reader.js +9 -0
- package/dist/store/reader.js.map +1 -1
- package/dist/validation/attributes.d.ts +5 -0
- package/dist/validation/attributes.d.ts.map +1 -1
- package/dist/validation/attributes.js +1 -0
- package/dist/validation/attributes.js.map +1 -1
- package/dist/validation/migration-integrity.d.ts +5 -0
- package/dist/validation/migration-integrity.d.ts.map +1 -1
- package/dist/validation/migration-integrity.js +2 -0
- package/dist/validation/migration-integrity.js.map +1 -1
- package/dist/validation/rollback.d.ts +6 -0
- package/dist/validation/rollback.d.ts.map +1 -1
- package/dist/validation/rollback.js +1 -0
- package/dist/validation/rollback.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The demotion ledger — `documents/plans/gate_loosening.md` §3.4.
|
|
3
|
+
*
|
|
4
|
+
* The question *"what did this run throw away, and which gate did it"* has had no answer.
|
|
5
|
+
* Each gate is individually defensible and the chain is conjunctive, so the cost of the
|
|
6
|
+
* composition is invisible from any one of them — §2 property 1, which nothing in the
|
|
7
|
+
* codebase computes or bounds.
|
|
8
|
+
*
|
|
9
|
+
* This computes it, and needs no new instrumentation to do so: every finding is already
|
|
10
|
+
* stored with the `G4Inputs` that graded it (`FindingRecord`), so the attribution is
|
|
11
|
+
* derivable over findings that already exist, retroactively.
|
|
12
|
+
*
|
|
13
|
+
* ## An instrument, not a second report surface
|
|
14
|
+
*
|
|
15
|
+
* §6 risk 3 is that this becomes a second uncapped list next to the first one. It is for
|
|
16
|
+
* tuning a threshold and should be judged on whether it changed one. Nothing here renders,
|
|
17
|
+
* and nothing here decides — `reportCategory` remains the only function that assigns a
|
|
18
|
+
* category, and this module only re-reads its inputs to say what the answer would have been
|
|
19
|
+
* without each cap.
|
|
20
|
+
*/
|
|
21
|
+
import { existenceCategory, reportCategory } from "@descryy/ir";
|
|
22
|
+
/**
|
|
23
|
+
* The two gates that can lower a category below what the evidence alone read.
|
|
24
|
+
*
|
|
25
|
+
* Not a list of every gate in the pipeline — the fabrication gates (G1, G2) reject a claim
|
|
26
|
+
* outright rather than demoting one, and the funnel's cap truncates a ranked list rather than
|
|
27
|
+
* changing any finding's category. Both are real losses and neither is a *demotion*; conflating
|
|
28
|
+
* them here would make the levels-lost totals below meaningless.
|
|
29
|
+
*/
|
|
30
|
+
export const DEMOTION_GATES = ["evidence-precondition", "reliability-cap"];
|
|
31
|
+
/** Strongest first, matching `@descryy/ir`'s own rank so the arithmetic agrees across packages. */
|
|
32
|
+
const RANK = {
|
|
33
|
+
confirmed: 2,
|
|
34
|
+
"strongly supported": 1,
|
|
35
|
+
unconfirmed: 0,
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* The evidence reading with **no** gate applied at all — not even G3's precondition.
|
|
39
|
+
*
|
|
40
|
+
* Deliberately not {@link existenceCategory}, which enforces the precondition first. The
|
|
41
|
+
* difference is the entire point of this module: without a pre-gate baseline there is nothing
|
|
42
|
+
* for G3 to be measured against, and a record where the precondition bound would look
|
|
43
|
+
* identical to one where nothing was ever observed.
|
|
44
|
+
*/
|
|
45
|
+
function evidenceReading(inputs) {
|
|
46
|
+
if (inputs.directMechanismEvidence)
|
|
47
|
+
return "confirmed";
|
|
48
|
+
return inputs.independentSignalTypes >= 1 ? "strongly supported" : "unconfirmed";
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Which gate, if any, lowered this finding's category, and by how much. `null` when nothing
|
|
52
|
+
* did. Pure and total; never throws.
|
|
53
|
+
*
|
|
54
|
+
* At most one gate is reported. When G3's precondition binds, every downstream value is already
|
|
55
|
+
* `unconfirmed` and the reliability cap has nothing left to lower — so attributing the loss to
|
|
56
|
+
* both would double-count one demotion.
|
|
57
|
+
*/
|
|
58
|
+
export function attributeDemotion(inputs) {
|
|
59
|
+
const raw = evidenceReading(inputs);
|
|
60
|
+
// G3 — binds only on a record claiming evidence it also says it does not have. In valid data
|
|
61
|
+
// this is unreachable (both M and E are computed from the same array), which is why a hit here
|
|
62
|
+
// is worth surfacing: it means a record disagrees with itself.
|
|
63
|
+
if (!inputs.hasRuntimeEvidence && RANK[raw] > RANK.unconfirmed) {
|
|
64
|
+
return {
|
|
65
|
+
gate: "evidence-precondition",
|
|
66
|
+
from: raw,
|
|
67
|
+
to: "unconfirmed",
|
|
68
|
+
levels: RANK[raw] - RANK.unconfirmed,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
const existence = existenceCategory(inputs);
|
|
72
|
+
const reported = reportCategory(inputs).category;
|
|
73
|
+
if (RANK[existence] <= RANK[reported])
|
|
74
|
+
return null;
|
|
75
|
+
return {
|
|
76
|
+
gate: "reliability-cap",
|
|
77
|
+
from: existence,
|
|
78
|
+
to: reported,
|
|
79
|
+
levels: RANK[existence] - RANK[reported],
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Aggregate the ledger over a run's findings. Order-independent and pure.
|
|
84
|
+
*
|
|
85
|
+
* Takes `G4Inputs` rather than `FindingRecord` so a caller holding either can use it — the
|
|
86
|
+
* inputs are the only part a demotion is computable from, and requiring the whole record would
|
|
87
|
+
* stop this being runnable over a stored inputs column alone.
|
|
88
|
+
*/
|
|
89
|
+
export function buildDemotionLedger(runs) {
|
|
90
|
+
const byGate = {
|
|
91
|
+
"evidence-precondition": { count: 0, levels: 0 },
|
|
92
|
+
"reliability-cap": { count: 0, levels: 0 },
|
|
93
|
+
};
|
|
94
|
+
let demoted = 0;
|
|
95
|
+
let confirmedToUnconfirmed = 0;
|
|
96
|
+
for (const inputs of runs) {
|
|
97
|
+
const demotion = attributeDemotion(inputs);
|
|
98
|
+
if (demotion === null)
|
|
99
|
+
continue;
|
|
100
|
+
demoted += 1;
|
|
101
|
+
const tally = byGate[demotion.gate];
|
|
102
|
+
byGate[demotion.gate] = { count: tally.count + 1, levels: tally.levels + demotion.levels };
|
|
103
|
+
if (demotion.from === "confirmed" && demotion.to === "unconfirmed")
|
|
104
|
+
confirmedToUnconfirmed += 1;
|
|
105
|
+
}
|
|
106
|
+
return { total: runs.length, demoted, byGate, confirmedToUnconfirmed };
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=demotion-ledger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demotion-ledger.js","sourceRoot":"","sources":["../../src/governance/demotion-ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGhE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,uBAAuB,EAAE,iBAAiB,CAAU,CAAC;AAIpF,mGAAmG;AACnG,MAAM,IAAI,GAA+C;IACvD,SAAS,EAAE,CAAC;IACZ,oBAAoB,EAAE,CAAC;IACvB,WAAW,EAAE,CAAC;CACf,CAAC;AAYF;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,MAAgB;IACvC,IAAI,MAAM,CAAC,uBAAuB;QAAE,OAAO,WAAW,CAAC;IACvD,OAAO,MAAM,CAAC,sBAAsB,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC;AACnF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAgB;IAChD,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAEpC,6FAA6F;IAC7F,+FAA+F;IAC/F,+DAA+D;IAC/D,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/D,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,GAAG;YACT,EAAE,EAAE,aAAa;YACjB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW;SACrC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;IACjD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnD,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;KACzC,CAAC;AACJ,CAAC;AAsBD;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAyB;IAC3D,MAAM,MAAM,GAAoC;QAC9C,uBAAuB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QAChD,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;KAC3C,CAAC;IAEF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAE/B,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,QAAQ,KAAK,IAAI;YAAE,SAAS;QAEhC,OAAO,IAAI,CAAC,CAAC;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3F,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,EAAE,KAAK,aAAa;YAAE,sBAAsB,IAAI,CAAC,CAAC;IAClG,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;AACzE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** §20.1 governance funnel — five filters ending in a hard cap; F2 (feedback-store false
|
|
2
2
|
* positives) and the cap itself were unimplemented until now. Caps are starting values (pr=5,
|
|
3
3
|
* §20.1's own 3+2 example). Never silently drops: every finding lands in reported/unconfirmed/suppressed. */
|
|
4
|
-
import { type Finding } from "@descryy/ir";
|
|
4
|
+
import { type Finding, type ReportCategory } from "@descryy/ir";
|
|
5
5
|
import type { Trigger } from "../scoping/tiers.ts";
|
|
6
6
|
/** Findings one run may report, per trigger. `pr`=5 is §20.1's own arithmetic (3+2). The rest
|
|
7
7
|
* scale to the reading surface (same shape as NODE_BUDGETS) — starting values, not measurements. */
|
|
@@ -22,6 +22,18 @@ export interface FindingFunnelOptions {
|
|
|
22
22
|
readonly isDismissed?: (finding: Finding) => boolean;
|
|
23
23
|
/** Overrides the trigger's cap. For a caller that has measured its own; not a way to opt out. */
|
|
24
24
|
readonly cap?: number;
|
|
25
|
+
/**
|
|
26
|
+
* The finding's **existence** category — how strongly the evidence says the failure is real,
|
|
27
|
+
* uncapped by the structural path (`@descryy/ir`'s `existenceCategory`).
|
|
28
|
+
*
|
|
29
|
+
* Caller-supplied for the same reason `isDismissed` is: `Finding` is §20's fourteen fields and
|
|
30
|
+
* stays fourteen, so the second axis arrives as a lookup rather than a fifteenth field. Absent
|
|
31
|
+
* means "read it off `confidence`", which reproduces the pre-existing routing exactly.
|
|
32
|
+
*
|
|
33
|
+
* Routing on this is `gate_loosening.md` §3.3: a reproduced failure whose cause was never
|
|
34
|
+
* traced is capped at `unconfirmed` on attribution and belongs in front of a developer anyway.
|
|
35
|
+
*/
|
|
36
|
+
readonly existenceOf?: (finding: Finding) => ReportCategory;
|
|
25
37
|
}
|
|
26
38
|
export interface FindingTruncation {
|
|
27
39
|
readonly total: number;
|
|
@@ -37,6 +49,13 @@ export interface FindingFunnelResult {
|
|
|
37
49
|
readonly unconfirmed: readonly Finding[];
|
|
38
50
|
/** Removed by F2, kept so the run can say what it hid and why that is not a silence. */
|
|
39
51
|
readonly suppressed: readonly Finding[];
|
|
52
|
+
/**
|
|
53
|
+
* Findings in `reported` whose own `confidence` would not have got them there — the failure
|
|
54
|
+
* is established, the cause is not. A renderer must label these as such: a confirmed symptom
|
|
55
|
+
* with an untraced cause is a different claim from a confirmed cause, and rule 7 forbids
|
|
56
|
+
* presenting the weaker one at the stronger one's weight. Empty when `existenceOf` is absent.
|
|
57
|
+
*/
|
|
58
|
+
readonly promotedByExistence: readonly Finding[];
|
|
40
59
|
readonly truncation: FindingTruncation;
|
|
41
60
|
}
|
|
42
61
|
/** §20.1's funnel. Pure and total — every input finding appears in exactly one output list.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finding-funnel.d.ts","sourceRoot":"","sources":["../../src/governance/finding-funnel.ts"],"names":[],"mappings":"AAAA;;8GAE8G;AAE9G,OAAO,EAAsB,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"finding-funnel.d.ts","sourceRoot":"","sources":["../../src/governance/finding-funnel.ts"],"names":[],"mappings":"AAAA;;8GAE8G;AAE9G,OAAO,EAAsB,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD;qGACqG;AACrG,eAAO,MAAM,YAAY;IACvB,yFAAyF;;IAEzF,uEAAuE;;IAEvE,kCAAkC;;IAElC,oFAAoF;;CAE1C,CAAC;AAc7C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;kEAC8D;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;IACrD,iGAAiG;IACjG,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,cAAc,CAAC;CAC7D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sGAAsG;IACtG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,SAAS,OAAO,EAAE,CAAC;IACzC,wFAAwF;IACxF,QAAQ,CAAC,UAAU,EAAE,SAAS,OAAO,EAAE,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,EAAE,SAAS,OAAO,EAAE,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;CACxC;AAED;yGACyG;AACzG,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,EAAE,oBAAoB,GAC5B,mBAAmB,CAqDrB;AAsBD;8EAC8E;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -28,27 +28,40 @@ const NOT_CONFIDENT = new Set(["unconfirmed", "not analysable", "unsupported"]);
|
|
|
28
28
|
* Deterministic ordering (replay guarantee, §9 layer 6): ties break on fingerprint, not input order. */
|
|
29
29
|
export function runFindingFunnel(findings, options) {
|
|
30
30
|
const isDismissed = options.isDismissed ?? (() => false);
|
|
31
|
+
const existenceOf = options.existenceOf ?? ((finding) => finding.confidence);
|
|
31
32
|
const suppressed = [];
|
|
32
33
|
const confident = [];
|
|
33
34
|
const unconfirmed = [];
|
|
35
|
+
const promotedByExistence = [];
|
|
34
36
|
for (const finding of findings) {
|
|
35
37
|
if (isDismissed(finding)) {
|
|
36
38
|
suppressed.push(finding);
|
|
37
39
|
continue;
|
|
38
40
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
// The stronger of the two axes decides routing: attribution says how well the cause is
|
|
42
|
+
// known, existence says whether the failure is real, and a developer needs the second one
|
|
43
|
+
// to decide whether to look at all.
|
|
44
|
+
const existence = existenceOf(finding);
|
|
45
|
+
const effective = CATEGORY_RANK[existence] > CATEGORY_RANK[finding.confidence] ? existence : finding.confidence;
|
|
46
|
+
if (NOT_CONFIDENT.has(effective))
|
|
47
|
+
unconfirmed.push({ finding, effective });
|
|
48
|
+
else {
|
|
49
|
+
confident.push({ finding, effective });
|
|
50
|
+
// Rule 7 cuts both ways: a finding that reached the reported set on evidence its
|
|
51
|
+
// attribution could not support is disclosed, never quietly upgraded.
|
|
52
|
+
if (NOT_CONFIDENT.has(finding.confidence))
|
|
53
|
+
promotedByExistence.push(finding);
|
|
54
|
+
}
|
|
43
55
|
}
|
|
44
|
-
const ranked =
|
|
56
|
+
const ranked = confident.sort(compareRanked).map((r) => r.finding);
|
|
45
57
|
const cap = Math.max(0, Math.floor(options.cap ?? FINDING_CAPS[options.trigger]));
|
|
46
58
|
const reported = ranked.slice(0, cap);
|
|
47
59
|
const dropped = ranked.length - reported.length;
|
|
48
60
|
return {
|
|
49
61
|
reported,
|
|
50
|
-
unconfirmed:
|
|
62
|
+
unconfirmed: unconfirmed.sort(compareRanked).map((r) => r.finding),
|
|
51
63
|
suppressed,
|
|
64
|
+
promotedByExistence,
|
|
52
65
|
truncation: {
|
|
53
66
|
total: ranked.length,
|
|
54
67
|
shown: reported.length,
|
|
@@ -61,16 +74,21 @@ export function runFindingFunnel(findings, options) {
|
|
|
61
74
|
},
|
|
62
75
|
};
|
|
63
76
|
}
|
|
64
|
-
function
|
|
65
|
-
|
|
77
|
+
function compareRanked(a, b) {
|
|
78
|
+
// Effective category first: is this real, however well the cause is known.
|
|
79
|
+
const byEffective = CATEGORY_RANK[b.effective] - CATEGORY_RANK[a.effective];
|
|
80
|
+
if (byEffective !== 0)
|
|
81
|
+
return byEffective;
|
|
82
|
+
// Then attribution, so a finding whose cause is also known outranks one whose cause is not.
|
|
83
|
+
const byCategory = CATEGORY_RANK[b.finding.confidence] - CATEGORY_RANK[a.finding.confidence];
|
|
66
84
|
if (byCategory !== 0)
|
|
67
85
|
return byCategory;
|
|
68
86
|
// Then by how well the code beneath it was understood — rule 3's axis.
|
|
69
|
-
const byResolution = Number(b.resolutionLevel) - Number(a.resolutionLevel);
|
|
87
|
+
const byResolution = Number(b.finding.resolutionLevel) - Number(a.finding.resolutionLevel);
|
|
70
88
|
if (byResolution !== 0)
|
|
71
89
|
return byResolution;
|
|
72
90
|
// A stable, content-derived tiebreak, so replay reproduces the order.
|
|
73
|
-
return findingFingerprint(a) < findingFingerprint(b) ? -1 : 1;
|
|
91
|
+
return findingFingerprint(a.finding) < findingFingerprint(b.finding) ? -1 : 1;
|
|
74
92
|
}
|
|
75
93
|
/** Re-exported so a caller wiring the funnel and ledger imports one module — implementation
|
|
76
94
|
* lives in @descryy/ir's identity module (DEC-NEXT-edge-id-prefix-split). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finding-funnel.js","sourceRoot":"","sources":["../../src/governance/finding-funnel.ts"],"names":[],"mappings":"AAAA;;8GAE8G;AAE9G,OAAO,EAAE,kBAAkB,EAAqC,MAAM,aAAa,CAAC;AAIpF;qGACqG;AACrG,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,yFAAyF;IACzF,WAAW,EAAE,CAAC;IACd,uEAAuE;IACvE,UAAU,EAAE,CAAC;IACb,kCAAkC;IAClC,EAAE,EAAE,CAAC;IACL,oFAAoF;IACpF,OAAO,EAAE,EAAE;CAC+B,CAAC;AAE7C,yEAAyE;AACzE,MAAM,aAAa,GAAmC;IACpD,SAAS,EAAE,CAAC;IACZ,oBAAoB,EAAE,CAAC;IACvB,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC;CACf,CAAC;AAEF,8FAA8F;AAC9F,MAAM,aAAa,GAAgC,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"finding-funnel.js","sourceRoot":"","sources":["../../src/governance/finding-funnel.ts"],"names":[],"mappings":"AAAA;;8GAE8G;AAE9G,OAAO,EAAE,kBAAkB,EAAqC,MAAM,aAAa,CAAC;AAIpF;qGACqG;AACrG,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,yFAAyF;IACzF,WAAW,EAAE,CAAC;IACd,uEAAuE;IACvE,UAAU,EAAE,CAAC;IACb,kCAAkC;IAClC,EAAE,EAAE,CAAC;IACL,oFAAoF;IACpF,OAAO,EAAE,EAAE;CAC+B,CAAC;AAE7C,yEAAyE;AACzE,MAAM,aAAa,GAAmC;IACpD,SAAS,EAAE,CAAC;IACZ,oBAAoB,EAAE,CAAC;IACvB,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC;CACf,CAAC;AAEF,8FAA8F;AAC9F,MAAM,aAAa,GAAgC,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC;AAgD7G;yGACyG;AACzG,MAAM,UAAU,gBAAgB,CAC9B,QAA4B,EAC5B,OAA6B;IAE7B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAEtF,MAAM,UAAU,GAAc,EAAE,CAAC;IACjC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,mBAAmB,GAAc,EAAE,CAAC;IAE1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QAED,uFAAuF;QACvF,0FAA0F;QAC1F,oCAAoC;QACpC,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,SAAS,GACb,aAAa,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAEhG,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;aACtE,CAAC;YACJ,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YACvC,iFAAiF;YACjF,sEAAsE;YACtE,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;gBAAE,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAEhD,OAAO;QACL,QAAQ;QACR,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAClE,UAAU;QACV,mBAAmB;QACnB,UAAU,EAAE;YACV,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,OAAO;YACP,UAAU,EACR,OAAO,KAAK,CAAC;gBACX,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,GAAG,OAAO,mBAAmB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,8BAA8B;oBACnF,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,wCAAwC,GAAG,cAAc;oBAC1F,0CAA0C;SACjD;KACF,CAAC;AACJ,CAAC;AAQD,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,2EAA2E;IAC3E,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5E,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAC1C,4FAA4F;IAC5F,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7F,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IACxC,uEAAuE;IACvE,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3F,IAAI,YAAY,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IAC5C,sEAAsE;IACtE,OAAO,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;8EAC8E;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -8,4 +8,6 @@ export { ESCALATION_TRIGGERS, checkEscalation } from "./escalation.ts";
|
|
|
8
8
|
export type { EscalationCheckInput, EscalationTrigger } from "./escalation.ts";
|
|
9
9
|
export { runFindingFunnel, findingFingerprint, FINDING_CAPS } from "./finding-funnel.ts";
|
|
10
10
|
export type { FindingFunnelOptions, FindingFunnelResult, FindingTruncation, } from "./finding-funnel.ts";
|
|
11
|
+
export { DEMOTION_GATES, attributeDemotion, buildDemotionLedger } from "./demotion-ledger.ts";
|
|
12
|
+
export type { Demotion, DemotionGate, DemotionLedger, GateTally } from "./demotion-ledger.ts";
|
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAErI,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEnG,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,cAAc,EACd,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzF,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAErI,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEnG,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,cAAc,EACd,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzF,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/governance/index.js
CHANGED
|
@@ -3,4 +3,5 @@ export { checkCandidateBoundary } from "./candidate-boundary.js";
|
|
|
3
3
|
export { BUDGET_CAP_NAMES, DEFAULT_INVESTIGATION_BUDGET, checkRunBudget, hypothesisRoundLimitReached, } from "./budget.js";
|
|
4
4
|
export { ESCALATION_TRIGGERS, checkEscalation } from "./escalation.js";
|
|
5
5
|
export { runFindingFunnel, findingFingerprint, FINDING_CAPS } from "./finding-funnel.js";
|
|
6
|
+
export { DEMOTION_GATES, attributeDemotion, buildDemotionLedger } from "./demotion-ledger.js";
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,cAAc,EACd,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AAUrB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,cAAc,EACd,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AAUrB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOzF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mechanical.d.ts","sourceRoot":"","sources":["../../src/multipr/mechanical.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;2EAC2E;AAC3E,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B;0EAC0E;AAC1E,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;iDAC6C;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,mFAAmF;IACnF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAE7E,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;kCAC8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,EAAE,CAAC;CAClF;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC;gDAC4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IACzC,0FAA0F;IAC1F,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAC3C,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,sDAAsD;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,eAAe,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC9D;gFAC4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACjC,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,qFAAqF;IACrF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;CAC7B;AA0HD;uFACuF;AACvF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,OAAO,GAAE,iBAAsB,GAC9B,WAAW,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"mechanical.d.ts","sourceRoot":"","sources":["../../src/multipr/mechanical.ts"],"names":[],"mappings":"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"}
|
|
@@ -144,6 +144,7 @@ export function classifyOverlaps(shared, aHunks, bHunks, options = {}) {
|
|
|
144
144
|
graphBuiltAt: null,
|
|
145
145
|
irSchemaVersion: 1,
|
|
146
146
|
commitSpread: 0,
|
|
147
|
+
repoCount: 0,
|
|
147
148
|
resolutionFloor: shared.length === 0 ? 0 : floor,
|
|
148
149
|
};
|
|
149
150
|
return { data: { classifications, analysed, checked: counts }, stamp, truncated: false, notes };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mechanical.js","sourceRoot":"","sources":["../../src/multipr/mechanical.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mechanical.js","sourceRoot":"","sources":["../../src/multipr/mechanical.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/query/memory.ts"],"names":[],"mappings":"AAAA;mGACmG;AAEnG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAY,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EAIL,KAAK,iBAAiB,EAEvB,MAAM,eAAe,CAAC;AAGvB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC;uGACmG;IACnG,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/query/memory.ts"],"names":[],"mappings":"AAAA;mGACmG;AAEnG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAY,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EAIL,KAAK,iBAAiB,EAEvB,MAAM,eAAe,CAAC;AAGvB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC;uGACmG;IACnG,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,iBAAiB,CAuE1E"}
|
package/dist/query/memory.js
CHANGED
|
@@ -17,6 +17,7 @@ export function createMemoryProvider(graph) {
|
|
|
17
17
|
// One snapshot, not multiple adapter_runs rows — no commit-spread signal to report; 1 is
|
|
18
18
|
// the healthy value, same as a single-commit SQLite store.
|
|
19
19
|
commitSpread: 1,
|
|
20
|
+
repoCount: 1,
|
|
20
21
|
};
|
|
21
22
|
// Indexed once, not filtered per call — the contract engine asks for three types in a row,
|
|
22
23
|
// and a linear scan each time turns an O(n) report into O(3n) for no reason.
|
package/dist/query/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/query/memory.ts"],"names":[],"mappings":"AAAA;mGACmG;AAInG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAIvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAavD,MAAM,UAAU,oBAAoB,CAAC,KAAkB;IACrD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,GAAwC;QACjD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;QAClC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;QACxC,eAAe,EAAE,iBAAiB;QAClC,yFAAyF;QACzF,2DAA2D;QAC3D,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/query/memory.ts"],"names":[],"mappings":"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"}
|
package/dist/query/provider.d.ts
CHANGED
|
@@ -21,9 +21,18 @@ export interface GraphStamp {
|
|
|
21
21
|
/** Epoch ms of the most recent write. Null on an empty graph. */
|
|
22
22
|
readonly graphBuiltAt: number | null;
|
|
23
23
|
readonly irSchemaVersion: number;
|
|
24
|
-
/**
|
|
25
|
-
* — part of
|
|
24
|
+
/** The most distinct commits any *one* repository's own runs span. >1 is a real
|
|
25
|
+
* staleness signal — part of that repository's graph describes code the rest no
|
|
26
|
+
* longer matches. Per-repository, not global (UAT phase 5): a workspace sharing
|
|
27
|
+
* one graph across repos via `link_workspace` has each repo at its own HEAD by
|
|
28
|
+
* design, and a global count of distinct commits across repos reported that
|
|
29
|
+
* deliberate sharing as decay — see `repoCount` for the (non-warning) fact it
|
|
30
|
+
* was conflating with staleness. */
|
|
26
31
|
readonly commitSpread: number;
|
|
32
|
+
/** How many distinct repositories the stored graph holds runs for. A neutral
|
|
33
|
+
* fact, not a warning — cross-repo sharing (`link_workspace`) is what makes
|
|
34
|
+
* cross-repo `contracts`/`validate`/`similar_incidents` work at all. */
|
|
35
|
+
readonly repoCount: number;
|
|
27
36
|
/** Lowest resolution anything in this answer rests on — rule 3's cap,
|
|
28
37
|
* computed per result. One R0 edge makes the whole result R0. */
|
|
29
38
|
readonly resolutionFloor: ResolutionLevel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/query/provider.ts"],"names":[],"mappings":"AAAA;;;;4EAI4E;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtG,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC;wEACoE;IACpE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;4DAE4D;AAC5D,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/query/provider.ts"],"names":[],"mappings":"AAAA;;;;4EAI4E;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtG,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC;wEACoE;IACpE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;4DAE4D;AAC5D,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;;;;;;yCAMqC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;6EAEyE;IACzE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;sEACkE;IAClE,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C;AAED,qFAAqF;AACrF,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;qFACiF;IACjF,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,qEAAqE;AACrE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,MAAM,EAAE,CAAC;IACpE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,MAAM,EAAE,CAAC;IACpE;;sEAEkE;IAClE,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACrD;wEACoE;IACpE,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB,CAAC;IACvG,yFAAyF;IACzF,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACjD;;4EAEwE;IACxE,UAAU,IAAI,SAAS,MAAM,EAAE,CAAC;CACjC;AAED,8DAA8D;AAC9D,eAAO,MAAM,sBAAsB,OAAQ,CAAC;AAE5C;;qCAEqC;AACrC,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAM5D;AAED,wFAAwF;AACxF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE,gBAAqB,GAC7B,MAAM,EAAE,CAYV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/query/provider.ts"],"names":[],"mappings":"AAAA;;;;4EAI4E;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/query/provider.ts"],"names":[],"mappings":"AAAA;;;;4EAI4E;AAkF5E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAE5C;;qCAEqC;AACrC,MAAM,UAAU,SAAS,CAAC,KAAwB;IAChD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QACtE,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QACtE,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,qBAAqB,CACnC,KAAwB,EACxB,UAA4B,EAAE;IAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,IAAI,QAAQ,GACV,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACvC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACZ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC;QACpC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5F,CAAC"}
|
package/dist/query/sqlite.d.ts
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
import { type AdjacencyProvider } from "./provider.ts";
|
|
5
5
|
import type { SqlDriver } from "../store/driver/driver.ts";
|
|
6
6
|
export declare function createStoreProvider(driver: SqlDriver): AdjacencyProvider;
|
|
7
|
-
/**
|
|
7
|
+
/** The most distinct commits any one repository's own `adapter_runs` rows span.
|
|
8
|
+
* One is healthy; more is real staleness. Grouped by repo, not global — see
|
|
9
|
+
* `GraphStamp.commitSpread`'s own doc for why a shared cross-repo graph must not
|
|
10
|
+
* be measured as one pool. */
|
|
8
11
|
export declare function commitSpread(driver: SqlDriver): number;
|
|
9
12
|
//# sourceMappingURL=sqlite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/query/sqlite.ts"],"names":[],"mappings":"AAAA;;0EAE0E;AAE1E,OAAO,EAGL,KAAK,iBAAiB,EAEvB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/query/sqlite.ts"],"names":[],"mappings":"AAAA;;0EAE0E;AAE1E,OAAO,EAGL,KAAK,iBAAiB,EAEvB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAS3D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,iBAAiB,CA6CxE;AAED;;;+BAG+B;AAC/B,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAUtD"}
|
package/dist/query/sqlite.js
CHANGED
|
@@ -18,27 +18,42 @@ export function createStoreProvider(driver) {
|
|
|
18
18
|
.all()
|
|
19
19
|
.map((row) => row.adapter_id),
|
|
20
20
|
baseStamp() {
|
|
21
|
-
// Most recent commit, plus
|
|
22
|
-
// staleness signal, surfaced as a note
|
|
21
|
+
// Most recent commit, plus the worst per-repo commit spread — >1 within
|
|
22
|
+
// one repo's own runs is a real staleness signal, surfaced as a note
|
|
23
|
+
// rather than averaged away. Grouped by repo (UAT phase 5, F-commit-
|
|
24
|
+
// spread): a global COUNT(DISTINCT commit_sha) across every repo in a
|
|
25
|
+
// shared workspace graph reports deliberate cross-repo sharing
|
|
26
|
+
// (`link_workspace`) as staleness, and never stops firing once a second
|
|
27
|
+
// repo exists. `repos` is that same multiplicity reported as a fact
|
|
28
|
+
// instead.
|
|
23
29
|
const row = driver
|
|
24
30
|
.prepare(`SELECT
|
|
25
31
|
(SELECT commit_sha FROM adapter_runs ORDER BY written_at DESC, id ASC LIMIT 1) AS commit_sha,
|
|
26
32
|
(SELECT MAX(written_at) FROM adapter_runs) AS built_at,
|
|
27
|
-
(SELECT
|
|
33
|
+
(SELECT COALESCE(MAX(n), 0) FROM (
|
|
34
|
+
SELECT COUNT(DISTINCT commit_sha) AS n FROM adapter_runs GROUP BY repo
|
|
35
|
+
)) AS commits,
|
|
36
|
+
(SELECT COUNT(DISTINCT repo) FROM adapter_runs) AS repos`)
|
|
28
37
|
.get();
|
|
29
38
|
return {
|
|
30
39
|
commitSha: row?.commit_sha ?? null,
|
|
31
40
|
graphBuiltAt: row?.built_at ?? null,
|
|
32
41
|
irSchemaVersion: IR_SCHEMA_VERSION,
|
|
33
42
|
commitSpread: row?.commits ?? 0,
|
|
43
|
+
repoCount: row?.repos ?? 0,
|
|
34
44
|
};
|
|
35
45
|
},
|
|
36
46
|
};
|
|
37
47
|
}
|
|
38
|
-
/**
|
|
48
|
+
/** The most distinct commits any one repository's own `adapter_runs` rows span.
|
|
49
|
+
* One is healthy; more is real staleness. Grouped by repo, not global — see
|
|
50
|
+
* `GraphStamp.commitSpread`'s own doc for why a shared cross-repo graph must not
|
|
51
|
+
* be measured as one pool. */
|
|
39
52
|
export function commitSpread(driver) {
|
|
40
53
|
return (driver
|
|
41
|
-
.prepare(
|
|
54
|
+
.prepare(`SELECT COALESCE(MAX(n), 0) AS n FROM (
|
|
55
|
+
SELECT COUNT(DISTINCT commit_sha) AS n FROM adapter_runs GROUP BY repo
|
|
56
|
+
)`)
|
|
42
57
|
.get()?.n ?? 0);
|
|
43
58
|
}
|
|
44
59
|
/** Reader filters type/limit in SQL; confidence floor applied here instead,
|
package/dist/query/sqlite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/query/sqlite.ts"],"names":[],"mappings":"AAAA;;0EAE0E;AAE1E,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;
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/query/sqlite.ts"],"names":[],"mappings":"AAAA;;0EAE0E;AAE1E,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;AAUvD,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,oEAAoE;QACpE,0EAA0E;QAC1E,UAAU,EAAE,GAAG,EAAE,CACf,MAAM;aACH,OAAO,CAAyB,kEAAkE,CAAC;aACnG,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;QAEjC,SAAS;YACP,wEAAwE;YACxE,qEAAqE;YACrE,qEAAqE;YACrE,sEAAsE;YACtE,+DAA+D;YAC/D,wEAAwE;YACxE,oEAAoE;YACpE,WAAW;YACX,MAAM,GAAG,GAAG,MAAM;iBACf,OAAO,CACN;;;;;;sEAM4D,CAC7D;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;gBAC/B,SAAS,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;aAC3B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;+BAG+B;AAC/B,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC5C,OAAO,CACL,MAAM;SACH,OAAO,CACN;;WAEG,CACJ;SACA,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CACjB,CAAC;AACJ,CAAC;AAED;6EAC6E;AAC7E,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"}
|
package/dist/query/traverse.d.ts
CHANGED
|
@@ -7,6 +7,22 @@ export type Direction = "out" | "in" | "both";
|
|
|
7
7
|
/** USES_API/SERVES_API — the two halves DEC-115 joins at one API_ENDPOINT; either side can exist
|
|
8
8
|
* without the other. Named once so `crossApiEndpoint` and its tests share one list. */
|
|
9
9
|
export declare const API_JOIN_EDGE_TYPES: readonly EdgeType[];
|
|
10
|
+
/**
|
|
11
|
+
* Edge types whose stored `from`/`to` runs opposite the direction data
|
|
12
|
+
* actually flows (F6, UAT Phase 5). `A READS B` means data moves from `B`
|
|
13
|
+
* into `A` — walking it `out` from a frontier node reaches what that node
|
|
14
|
+
* *consumes*, not what it produces, which is upstream, not downstream.
|
|
15
|
+
*
|
|
16
|
+
* Declared once here, beside the vocabulary that defines the types, rather
|
|
17
|
+
* than left for each caller to get right independently: `neighbours` below
|
|
18
|
+
* walks any type in this list in the opposite of the walk's own `direction`,
|
|
19
|
+
* so a caller naming `types` still reasons about one direction throughout —
|
|
20
|
+
* "downstream" or "upstream" of the seed — while the mixed-polarity edges
|
|
21
|
+
* under it are corrected transparently. Only types a caller explicitly lists
|
|
22
|
+
* in `types` are affected; an unrestricted walk (every caller but
|
|
23
|
+
* `dataFlowFrom` today) never mentions `READS` and is unchanged.
|
|
24
|
+
*/
|
|
25
|
+
export declare const REVERSE_POLARITY_EDGE_TYPES: readonly EdgeType[];
|
|
10
26
|
export interface TraversalOptions {
|
|
11
27
|
readonly types?: readonly EdgeType[];
|
|
12
28
|
readonly direction?: Direction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../src/query/traverse.ts"],"names":[],"mappings":"AAAA;;6FAE6F;AAE7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAMrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;AAE9C;wFACwF;AACxF,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;;gGAE4F;IAC5F,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;
|
|
1
|
+
{"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../src/query/traverse.ts"],"names":[],"mappings":"AAAA;;6FAE6F;AAE7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAMrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;AAE9C;wFACwF;AACxF,eAAO,MAAM,mBAAmB,EAAE,SAAS,QAAQ,EAA+B,CAAC;AAEnF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,QAAQ,EAAc,CAAC;AAM1E,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;;gGAE4F;IAC5F,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;AA0DD;gGACgG;AAChG,wBAAgB,GAAG,CACjB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE,gBAAqB,GAC7B,gBAAgB,CAoClB;AAED;;6GAE6G;AAC7G,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE7G;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD;;8FAE0F;IAC1F,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,yFAAyF;IACzF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;+GAE+G;AAC/G,wBAAgB,WAAW,CACzB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE,eAAoB,GAC5B,gBAAgB,CAwDlB;AAED;;yEAEyE;AACzE,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,gBAAqB,GAC7B,SAAS,MAAM,EAAE,CA8BnB"}
|