@descryy/core 0.6.3 → 0.7.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/query/index.d.ts +3 -1
- package/dist/query/index.d.ts.map +1 -1
- package/dist/query/index.js +2 -1
- package/dist/query/index.js.map +1 -1
- package/dist/query/model-table.d.ts +7 -0
- package/dist/query/model-table.d.ts.map +1 -1
- package/dist/query/model-table.js +7 -4
- package/dist/query/model-table.js.map +1 -1
- package/dist/query/persistence-reach.d.ts +150 -0
- package/dist/query/persistence-reach.d.ts.map +1 -0
- package/dist/query/persistence-reach.js +393 -0
- package/dist/query/persistence-reach.js.map +1 -0
- package/dist/store/reader.d.ts.map +1 -1
- package/dist/store/reader.js +6 -1
- package/dist/store/reader.js.map +1 -1
- package/dist/store/schema.d.ts +2 -2
- package/dist/store/schema.d.ts.map +1 -1
- package/dist/store/schema.js +2 -1
- package/dist/store/schema.js.map +1 -1
- package/dist/store/writer.d.ts.map +1 -1
- package/dist/store/writer.js +4 -3
- package/dist/store/writer.js.map +1 -1
- package/dist/tiers/certify.d.ts +174 -0
- package/dist/tiers/certify.d.ts.map +1 -1
- package/dist/tiers/certify.js +309 -5
- package/dist/tiers/certify.js.map +1 -1
- package/dist/tiers/index.d.ts +1 -1
- package/dist/tiers/index.d.ts.map +1 -1
- package/dist/tiers/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence-reach.js","sourceRoot":"","sources":["../../src/query/persistence-reach.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/store/reader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAIL,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/store/reader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAIL,KAAK,QAAQ,EAEb,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,QAAQ,EAEb,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA6GpD,wBAAgB,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGzE;AAED;;mIAEmI;AACnI,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CA2B1D;AAED;;4GAE4G;AAC5G,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,MAAM,GACZ;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAU3D;AAED;;sOAEsO;AACtO,wBAAgB,SAAS,CACvB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE;IACR,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,MAAM,EAAE,CAkCV;AAED;uGACuG;AACvG,wBAAgB,QAAQ,CACtB,MAAM,EAAE,SAAS,EACjB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5D,MAAM,EAAE,CAEV;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,SAAS,EACjB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5D,MAAM,EAAE,CAEV;AA0BD;;sKAEsK;AACtK,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACvE;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAYjE;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CASrD;AAED;;iFAEiF;AACjF,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAqBrD"}
|
package/dist/store/reader.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { canonicalJson, isEdgeType, isNodeType, } from "@descryy/ir";
|
|
7
7
|
import { DERIVED_TABLES, EARNED_TABLES } from "./schema.js";
|
|
8
|
-
const NODE_COLUMNS = "id, type, name, file_path, start_line, end_line, language, produced_by, resolution, attrs";
|
|
8
|
+
const NODE_COLUMNS = "id, type, name, file_path, start_line, end_line, language, produced_by, resolution, attrs, external";
|
|
9
9
|
const EDGE_COLUMNS = "id, source, target, type, resolution, confidence, produced_by, observed_by_run, attrs";
|
|
10
10
|
const UNRESOLVED_REF_COLUMNS = "from_node_id, edge_type, raw_target, file_path, line, produced_by, reason, attrs";
|
|
11
11
|
function toNode(row) {
|
|
@@ -27,6 +27,11 @@ function toNode(row) {
|
|
|
27
27
|
producedBy: row.produced_by,
|
|
28
28
|
resolution: row.resolution,
|
|
29
29
|
attrs: JSON.parse(row.attrs),
|
|
30
|
+
// Absent, not null: `external` is a discriminator, and `{ external:
|
|
31
|
+
// undefined }` on every in-repo node would make it look answered.
|
|
32
|
+
...(row.external === null
|
|
33
|
+
? {}
|
|
34
|
+
: { external: JSON.parse(row.external) }),
|
|
30
35
|
};
|
|
31
36
|
}
|
|
32
37
|
function toEdge(row) {
|
package/dist/store/reader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/store/reader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,aAAa,EACb,UAAU,EACV,UAAU,
|
|
1
|
+
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/store/reader.ts"],"names":[],"mappings":"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"}
|
package/dist/store/schema.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* `(source/target, type)` indices (max in-degree 1,036). Derived/earned: DEC-017. */
|
|
6
6
|
/** Bumped when the IR itself changes shape, not when an adapter changes.
|
|
7
7
|
* DEC-017: on mismatch, refuse to read, drop derived, rebuild, migrate earned. */
|
|
8
|
-
export declare const IR_SCHEMA_VERSION =
|
|
8
|
+
export declare const IR_SCHEMA_VERSION = 5;
|
|
9
9
|
/** Tag on every node id, derived from the constant, not restated — a
|
|
10
10
|
* literal here would keep validating the old scheme after an id change. */
|
|
11
11
|
export declare const NODE_ID_SCHEME: string;
|
|
@@ -22,5 +22,5 @@ export type EarnedTable = (typeof EARNED_TABLES)[number];
|
|
|
22
22
|
* `DERIVED_TABLES`) — `PRAGMA foreign_keys` can't change mid-transaction,
|
|
23
23
|
* so wrong order fails or leans on cascade to rescue it. */
|
|
24
24
|
export declare const DERIVED_DROP_ORDER: readonly ["embeddings", "unresolved_refs", "edges", "nodes", "file_hashes", "adapter_runs"];
|
|
25
|
-
export declare const SCHEMA_SQL = "\n-- ---------------------------------------------------------------------------\n-- graph_meta \u2014 identity of the store itself. Read before anything else.\n-- ---------------------------------------------------------------------------\nCREATE TABLE IF NOT EXISTS graph_meta (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n) STRICT;\n\n-- ---------------------------------------------------------------------------\n-- adapter_runs \u2014 one row per accepted IRBatch. \u00A724.1's adapter registry state\n-- and DEC-015's invalidation key are the same thing, so they are one table.\n--\n-- id is derived (hash of producer + repo + commit + source files), never an\n-- autoincrement rowid: re-ingesting an identical batch must reuse the same row,\n-- or idempotence is impossible to state.\n-- ---------------------------------------------------------------------------\nCREATE TABLE IF NOT EXISTS adapter_runs (\n id TEXT PRIMARY KEY,\n repo TEXT NOT NULL,\n -- The identity scope workspace-scoped ids in this batch were computed under\n -- (DEC-054). NULL means \"this repository alone\". Recorded because the scope is\n -- configuration: once it changes, no node id in this run can be re-derived from\n -- the row itself, and a workspace typo is otherwise invisible after the fact.\n workspace TEXT,\n commit_sha TEXT NOT NULL,\n adapter_id TEXT NOT NULL, -- the part before '@'\n adapter_version TEXT NOT NULL, -- the part after '@'\n produced_by TEXT NOT NULL, -- adapter_id@adapter_version, as written on every row\n reached_resolution INTEGER NOT NULL,\n source_files TEXT NOT NULL, -- JSON array; the invalidation key (DEC-015)\n file_count INTEGER NOT NULL,\n written_at INTEGER NOT NULL\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS idx_runs_adapter ON adapter_runs(adapter_id);\nCREATE INDEX IF NOT EXISTS idx_runs_producer ON adapter_runs(produced_by);\n\n-- ---------------------------------------------------------------------------\n-- nodes\n-- ---------------------------------------------------------------------------\nCREATE TABLE IF NOT EXISTS nodes (\n id TEXT PRIMARY KEY,\n type TEXT NOT NULL,\n name TEXT NOT NULL,\n file_path TEXT, -- null for fileless types (DEC-014)\n start_line INTEGER,\n end_line INTEGER,\n language TEXT, -- correction 4: nullable\n produced_by TEXT NOT NULL,\n resolution INTEGER NOT NULL,\n attrs TEXT NOT NULL, -- JSON; correction 1\n run_id TEXT NOT NULL REFERENCES adapter_runs(id) ON DELETE CASCADE\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS idx_nodes_type ON nodes(type);\nCREATE INDEX IF NOT EXISTS idx_nodes_name ON nodes(name);\nCREATE INDEX IF NOT EXISTS idx_nodes_file ON nodes(file_path);\nCREATE INDEX IF NOT EXISTS idx_nodes_resolution ON nodes(resolution);\nCREATE INDEX IF NOT EXISTS idx_nodes_run ON nodes(run_id);\n\n-- ---------------------------------------------------------------------------\n-- edges. Primary key is hash(from, to, type) per DEC-012, so two adapters\n-- finding the same relationship collide by construction \u2014 which is what makes\n-- a merge policy statable at all. 30% of prior-art edges were exact\n-- duplicates, so this is load-bearing rather than tidy.\n-- ---------------------------------------------------------------------------\nCREATE TABLE IF NOT EXISTS edges (\n id TEXT PRIMARY KEY,\n source TEXT NOT NULL REFERENCES nodes(id) ON DELETE CASCADE,\n target TEXT NOT NULL REFERENCES nodes(id) ON DELETE CASCADE,\n type TEXT NOT NULL,\n resolution INTEGER NOT NULL,\n confidence REAL NOT NULL,\n produced_by TEXT NOT NULL,\n observed_by_run TEXT, -- present exactly when resolution = 4\n attrs TEXT, -- JSON or null; corrections 1 and 2\n run_id TEXT NOT NULL REFERENCES adapter_runs(id) ON DELETE CASCADE,\n CHECK (resolution BETWEEN 0 AND 4),\n CHECK (confidence BETWEEN 0.0 AND 1.0),\n CHECK ((resolution = 4) = (observed_by_run IS NOT NULL))\n) STRICT;\n\n-- Correction 5: the real access paths. Every hop filters by type.\nCREATE INDEX IF NOT EXISTS idx_edges_source_type ON edges(source, type);\nCREATE INDEX IF NOT EXISTS idx_edges_target_type ON edges(target, type);\nCREATE INDEX IF NOT EXISTS idx_edges_resolution ON edges(resolution);\nCREATE INDEX IF NOT EXISTS idx_edges_run ON edges(run_id);\n\n-- ---------------------------------------------------------------------------\n-- unresolved_refs \u2014 DEC-016. What an adapter saw but could not resolve.\n--\n-- Not edges, because a name-matched guess is a false claim under \u00A711B.1. Not\n-- discarded either, because then \u00A711B.6 recall has no denominator and \u00A720.2's\n-- \"not analysable\" category has nothing to count. On the prior-art graphs this\n-- is 52-60% of everything emitted.\n-- ---------------------------------------------------------------------------\n-- id is a content hash, never an autoincrement rowid: an insertion-order key\n-- would make the permuted-ingest determinism proof impossible to state, and two\n-- byte-identical references are the same reference.\nCREATE TABLE IF NOT EXISTS unresolved_refs (\n id TEXT PRIMARY KEY,\n from_node_id TEXT NOT NULL REFERENCES nodes(id) ON DELETE CASCADE,\n edge_type TEXT NOT NULL,\n raw_target TEXT NOT NULL,\n file_path TEXT,\n line INTEGER,\n produced_by TEXT NOT NULL,\n reason TEXT NOT NULL,\n -- DEC-242's attrs.blockedBy/attrs.refusalClass live here, JSON or null --\n -- same optional-attrs treatment as edges (correction 2), and deliberately\n -- excluded from id's content hash below: this is classification of a\n -- refusal, not part of what makes two refusals the same refusal. Added in\n -- schema version 3 -- DEC-017 governs what that bump costs an existing\n -- store (drop derived, rebuild; earned tables untouched).\n attrs TEXT,\n run_id TEXT NOT NULL REFERENCES adapter_runs(id) ON DELETE CASCADE\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS idx_unresolved_from ON unresolved_refs(from_node_id);\nCREATE INDEX IF NOT EXISTS idx_unresolved_target ON unresolved_refs(raw_target);\nCREATE INDEX IF NOT EXISTS idx_unresolved_run ON unresolved_refs(run_id);\n\n-- ---------------------------------------------------------------------------\n-- file_hashes \u2014 \u00A711.14 rebuild acceleration. Layer 1 change detection is\n-- defined against this table and v2.1 never declared it.\n-- ---------------------------------------------------------------------------\nCREATE TABLE IF NOT EXISTS file_hashes (\n file_path TEXT PRIMARY KEY,\n hash TEXT NOT NULL,\n last_parsed_at INTEGER NOT NULL\n) STRICT;\n\n-- ---------------------------------------------------------------------------\n-- embeddings \u2014 pointer table only. No vector extension is loaded in this build;\n-- \u00A78.2 keeps vectors in pgvector hosted or a local extension, and a column of\n-- serialised floats with no index would be a scan, not a search.\n-- ---------------------------------------------------------------------------\nCREATE TABLE IF NOT EXISTS embeddings (\n node_id TEXT PRIMARY KEY REFERENCES nodes(id) ON DELETE CASCADE,\n vector_reference TEXT NOT NULL,\n model_version TEXT NOT NULL\n) STRICT;\n\n-- ===========================================================================\n-- EARNED \u2014 DEC-017. Never dropped. No REFERENCES into the derived tables:\n-- a foreign key would cascade these away with the graph they describe, which\n-- is precisely the outcome the partition exists to prevent.\n-- ===========================================================================\n\n-- R4 evidence. An edge witnessed firing during a live run (\u00A711B.3). This is the\n-- product's core moat and cannot be recomputed from source at any price.\nCREATE TABLE IF NOT EXISTS observed_edges (\n edge_id TEXT NOT NULL,\n run_id TEXT NOT NULL,\n from_node_id TEXT NOT NULL,\n to_node_id TEXT NOT NULL,\n edge_type TEXT NOT NULL,\n commit_sha TEXT NOT NULL,\n observed_at INTEGER NOT NULL,\n PRIMARY KEY (edge_id, run_id)\n) STRICT;\n\n-- Which tests actually ran, and what happened. The coverage axis \u2014 AI layer \u00A720's\n-- \"Verification status\" \u2014 a different question from confidence, needing a\n-- different carrier.\n--\n-- Earned for the same reason as observed_edges, one step over: nothing in the\n-- source says which tests executed, so a rebuild that dropped this would turn\n-- \"what I actually verified\" silently back into \"what might be affected\".\n--\n-- Not an edge, deliberately. A test-runner's evidence carries no stack, so an\n-- observed test names exactly one node \u2014 its own TEST_CASE \u2014 and pairing it with\n-- a function it merely co-occurred with would mint an edge from temporal\n-- coincidence. That is why this is a table and not a promotion of a TESTS edge\n-- to R4; see DEC-NEXT-test-run-coverage-has-no-carrier.md.\n--\n-- (node_id, run_id) is the identity: two runs of one test are two facts, while a\n-- retry inside one run is the same fact re-observed, so the latter updates in\n-- place. Within-run retries are therefore not distinguishable here \u2014 a disclosed\n-- limit, not an oversight; this table is a coverage carrier, not a flake detector.\nCREATE TABLE IF NOT EXISTS observed_tests (\n node_id TEXT NOT NULL,\n run_id TEXT NOT NULL,\n qualified_name TEXT NOT NULL,\n outcome TEXT NOT NULL, -- 'passed' | 'failed' | 'skipped'\n -- REAL, not INTEGER, and this was an INTEGER until a real run proved it could\n -- not be. Runners report fractional milliseconds \u2014 node:test emits 2.316958 \u2014\n -- and a STRICT table refuses that value outright, so every write failed on\n -- first contact with an actual suite while the unit tests, which all passed\n -- integer literals, stayed green. Rounding was the other option and is worse:\n -- sub-millisecond tests are ordinary here, and 0.36 rounded to 0 reads as\n -- \"instant\", the same falsehood the null-rather-than-zero rule below refuses.\n duration_ms REAL,\n commit_sha TEXT NOT NULL,\n observed_at INTEGER NOT NULL,\n PRIMARY KEY (node_id, run_id)\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS idx_observed_tests_run ON observed_tests(run_id);\n\n-- \u00A711B.5. A human said an edge was wrong, or runtime contradicted it. Feeding\n-- this back is how precision improves; losing it repeats the same false claim.\nCREATE TABLE IF NOT EXISTS edge_corrections (\n edge_id TEXT PRIMARY KEY,\n verdict TEXT NOT NULL, -- 'wrong' | 'right'\n reason TEXT NOT NULL,\n corrected_at INTEGER NOT NULL\n) STRICT;\n\n-- \u00A714.2. One pull request's computed scope, and it is EARNED rather than derived\n-- for a reason that is easy to get backwards.\n--\n-- Everything else on the derived side can be regenerated from source because the\n-- source is what produced it. A PR scope cannot: it was computed against a graph\n-- at one commit, and that graph moves. Recomputing it later answers a DIFFERENT\n-- question and returns a plausible answer to it \u2014 so dropping this table does\n-- not lose time, it loses the COMPARISON BASIS. Overlap scoring between two PRs\n-- is only meaningful when both scopes were computed against the same graph, and\n-- nothing in a recomputed row would say that it was not.\n--\n-- graph_commit_sha is therefore not decoration: it is the field that makes two\n-- rows comparable or not, and a reader that ignores it will happily overlap a\n-- scope from last week with one from today and report a number.\n--\n-- scope_json holds the node id set. Kept opaque here on purpose: the shape of a\n-- scope is the scoping layer's business, and a column per dimension would need\n-- a migration every time that layer learns something. What the store guarantees\n-- is that the bytes come back unchanged with the commit they were computed at.\nCREATE TABLE IF NOT EXISTS pr_scopes (\n pr_id TEXT NOT NULL,\n repo TEXT NOT NULL,\n -- The head commit of the PR itself.\n head_sha TEXT NOT NULL,\n -- The commit the GRAPH was at when this scope was computed. Two scopes are\n -- comparable only when these agree.\n graph_commit_sha TEXT NOT NULL,\n scope_json TEXT NOT NULL,\n node_count INTEGER NOT NULL,\n computed_at INTEGER NOT NULL,\n PRIMARY KEY (repo, pr_id, graph_commit_sha)\n) STRICT;\n\n-- The access path for overlap scoring: every scope computed against one graph.\n-- Without it, comparing N PRs scans the whole table N times.\nCREATE INDEX IF NOT EXISTS idx_pr_scopes_graph ON pr_scopes(repo, graph_commit_sha);\n\n-- Incident and fix-pattern links. Accumulated from real failures over time.\nCREATE TABLE IF NOT EXISTS incident_links (\n incident_node_id TEXT NOT NULL,\n target_node_id TEXT NOT NULL,\n kind TEXT NOT NULL,\n created_at INTEGER NOT NULL,\n PRIMARY KEY (incident_node_id, target_node_id, kind)\n) STRICT;\n";
|
|
25
|
+
export declare const SCHEMA_SQL = "\n-- ---------------------------------------------------------------------------\n-- graph_meta \u2014 identity of the store itself. Read before anything else.\n-- ---------------------------------------------------------------------------\nCREATE TABLE IF NOT EXISTS graph_meta (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n) STRICT;\n\n-- ---------------------------------------------------------------------------\n-- adapter_runs \u2014 one row per accepted IRBatch. \u00A724.1's adapter registry state\n-- and DEC-015's invalidation key are the same thing, so they are one table.\n--\n-- id is derived (hash of producer + repo + commit + source files), never an\n-- autoincrement rowid: re-ingesting an identical batch must reuse the same row,\n-- or idempotence is impossible to state.\n-- ---------------------------------------------------------------------------\nCREATE TABLE IF NOT EXISTS adapter_runs (\n id TEXT PRIMARY KEY,\n repo TEXT NOT NULL,\n -- The identity scope workspace-scoped ids in this batch were computed under\n -- (DEC-054). NULL means \"this repository alone\". Recorded because the scope is\n -- configuration: once it changes, no node id in this run can be re-derived from\n -- the row itself, and a workspace typo is otherwise invisible after the fact.\n workspace TEXT,\n commit_sha TEXT NOT NULL,\n adapter_id TEXT NOT NULL, -- the part before '@'\n adapter_version TEXT NOT NULL, -- the part after '@'\n produced_by TEXT NOT NULL, -- adapter_id@adapter_version, as written on every row\n reached_resolution INTEGER NOT NULL,\n source_files TEXT NOT NULL, -- JSON array; the invalidation key (DEC-015)\n file_count INTEGER NOT NULL,\n written_at INTEGER NOT NULL\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS idx_runs_adapter ON adapter_runs(adapter_id);\nCREATE INDEX IF NOT EXISTS idx_runs_producer ON adapter_runs(produced_by);\n\n-- ---------------------------------------------------------------------------\n-- nodes\n-- ---------------------------------------------------------------------------\nCREATE TABLE IF NOT EXISTS nodes (\n id TEXT PRIMARY KEY,\n type TEXT NOT NULL,\n name TEXT NOT NULL,\n file_path TEXT, -- null for fileless types (DEC-014)\n start_line INTEGER,\n end_line INTEGER,\n language TEXT, -- correction 4: nullable\n produced_by TEXT NOT NULL,\n resolution INTEGER NOT NULL,\n attrs TEXT NOT NULL, -- JSON; correction 1\n external TEXT, -- JSON ExternalProvenance, null for every in-repo node\n run_id TEXT NOT NULL REFERENCES adapter_runs(id) ON DELETE CASCADE\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS idx_nodes_type ON nodes(type);\nCREATE INDEX IF NOT EXISTS idx_nodes_name ON nodes(name);\nCREATE INDEX IF NOT EXISTS idx_nodes_file ON nodes(file_path);\nCREATE INDEX IF NOT EXISTS idx_nodes_resolution ON nodes(resolution);\nCREATE INDEX IF NOT EXISTS idx_nodes_run ON nodes(run_id);\n\n-- ---------------------------------------------------------------------------\n-- edges. Primary key is hash(from, to, type) per DEC-012, so two adapters\n-- finding the same relationship collide by construction \u2014 which is what makes\n-- a merge policy statable at all. 30% of prior-art edges were exact\n-- duplicates, so this is load-bearing rather than tidy.\n-- ---------------------------------------------------------------------------\nCREATE TABLE IF NOT EXISTS edges (\n id TEXT PRIMARY KEY,\n source TEXT NOT NULL REFERENCES nodes(id) ON DELETE CASCADE,\n target TEXT NOT NULL REFERENCES nodes(id) ON DELETE CASCADE,\n type TEXT NOT NULL,\n resolution INTEGER NOT NULL,\n confidence REAL NOT NULL,\n produced_by TEXT NOT NULL,\n observed_by_run TEXT, -- present exactly when resolution = 4\n attrs TEXT, -- JSON or null; corrections 1 and 2\n run_id TEXT NOT NULL REFERENCES adapter_runs(id) ON DELETE CASCADE,\n CHECK (resolution BETWEEN 0 AND 4),\n CHECK (confidence BETWEEN 0.0 AND 1.0),\n CHECK ((resolution = 4) = (observed_by_run IS NOT NULL))\n) STRICT;\n\n-- Correction 5: the real access paths. Every hop filters by type.\nCREATE INDEX IF NOT EXISTS idx_edges_source_type ON edges(source, type);\nCREATE INDEX IF NOT EXISTS idx_edges_target_type ON edges(target, type);\nCREATE INDEX IF NOT EXISTS idx_edges_resolution ON edges(resolution);\nCREATE INDEX IF NOT EXISTS idx_edges_run ON edges(run_id);\n\n-- ---------------------------------------------------------------------------\n-- unresolved_refs \u2014 DEC-016. What an adapter saw but could not resolve.\n--\n-- Not edges, because a name-matched guess is a false claim under \u00A711B.1. Not\n-- discarded either, because then \u00A711B.6 recall has no denominator and \u00A720.2's\n-- \"not analysable\" category has nothing to count. On the prior-art graphs this\n-- is 52-60% of everything emitted.\n-- ---------------------------------------------------------------------------\n-- id is a content hash, never an autoincrement rowid: an insertion-order key\n-- would make the permuted-ingest determinism proof impossible to state, and two\n-- byte-identical references are the same reference.\nCREATE TABLE IF NOT EXISTS unresolved_refs (\n id TEXT PRIMARY KEY,\n from_node_id TEXT NOT NULL REFERENCES nodes(id) ON DELETE CASCADE,\n edge_type TEXT NOT NULL,\n raw_target TEXT NOT NULL,\n file_path TEXT,\n line INTEGER,\n produced_by TEXT NOT NULL,\n reason TEXT NOT NULL,\n -- DEC-242's attrs.blockedBy/attrs.refusalClass live here, JSON or null --\n -- same optional-attrs treatment as edges (correction 2), and deliberately\n -- excluded from id's content hash below: this is classification of a\n -- refusal, not part of what makes two refusals the same refusal. Added in\n -- schema version 3 -- DEC-017 governs what that bump costs an existing\n -- store (drop derived, rebuild; earned tables untouched).\n attrs TEXT,\n run_id TEXT NOT NULL REFERENCES adapter_runs(id) ON DELETE CASCADE\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS idx_unresolved_from ON unresolved_refs(from_node_id);\nCREATE INDEX IF NOT EXISTS idx_unresolved_target ON unresolved_refs(raw_target);\nCREATE INDEX IF NOT EXISTS idx_unresolved_run ON unresolved_refs(run_id);\n\n-- ---------------------------------------------------------------------------\n-- file_hashes \u2014 \u00A711.14 rebuild acceleration. Layer 1 change detection is\n-- defined against this table and v2.1 never declared it.\n-- ---------------------------------------------------------------------------\nCREATE TABLE IF NOT EXISTS file_hashes (\n file_path TEXT PRIMARY KEY,\n hash TEXT NOT NULL,\n last_parsed_at INTEGER NOT NULL\n) STRICT;\n\n-- ---------------------------------------------------------------------------\n-- embeddings \u2014 pointer table only. No vector extension is loaded in this build;\n-- \u00A78.2 keeps vectors in pgvector hosted or a local extension, and a column of\n-- serialised floats with no index would be a scan, not a search.\n-- ---------------------------------------------------------------------------\nCREATE TABLE IF NOT EXISTS embeddings (\n node_id TEXT PRIMARY KEY REFERENCES nodes(id) ON DELETE CASCADE,\n vector_reference TEXT NOT NULL,\n model_version TEXT NOT NULL\n) STRICT;\n\n-- ===========================================================================\n-- EARNED \u2014 DEC-017. Never dropped. No REFERENCES into the derived tables:\n-- a foreign key would cascade these away with the graph they describe, which\n-- is precisely the outcome the partition exists to prevent.\n-- ===========================================================================\n\n-- R4 evidence. An edge witnessed firing during a live run (\u00A711B.3). This is the\n-- product's core moat and cannot be recomputed from source at any price.\nCREATE TABLE IF NOT EXISTS observed_edges (\n edge_id TEXT NOT NULL,\n run_id TEXT NOT NULL,\n from_node_id TEXT NOT NULL,\n to_node_id TEXT NOT NULL,\n edge_type TEXT NOT NULL,\n commit_sha TEXT NOT NULL,\n observed_at INTEGER NOT NULL,\n PRIMARY KEY (edge_id, run_id)\n) STRICT;\n\n-- Which tests actually ran, and what happened. The coverage axis \u2014 AI layer \u00A720's\n-- \"Verification status\" \u2014 a different question from confidence, needing a\n-- different carrier.\n--\n-- Earned for the same reason as observed_edges, one step over: nothing in the\n-- source says which tests executed, so a rebuild that dropped this would turn\n-- \"what I actually verified\" silently back into \"what might be affected\".\n--\n-- Not an edge, deliberately. A test-runner's evidence carries no stack, so an\n-- observed test names exactly one node \u2014 its own TEST_CASE \u2014 and pairing it with\n-- a function it merely co-occurred with would mint an edge from temporal\n-- coincidence. That is why this is a table and not a promotion of a TESTS edge\n-- to R4; see DEC-NEXT-test-run-coverage-has-no-carrier.md.\n--\n-- (node_id, run_id) is the identity: two runs of one test are two facts, while a\n-- retry inside one run is the same fact re-observed, so the latter updates in\n-- place. Within-run retries are therefore not distinguishable here \u2014 a disclosed\n-- limit, not an oversight; this table is a coverage carrier, not a flake detector.\nCREATE TABLE IF NOT EXISTS observed_tests (\n node_id TEXT NOT NULL,\n run_id TEXT NOT NULL,\n qualified_name TEXT NOT NULL,\n outcome TEXT NOT NULL, -- 'passed' | 'failed' | 'skipped'\n -- REAL, not INTEGER, and this was an INTEGER until a real run proved it could\n -- not be. Runners report fractional milliseconds \u2014 node:test emits 2.316958 \u2014\n -- and a STRICT table refuses that value outright, so every write failed on\n -- first contact with an actual suite while the unit tests, which all passed\n -- integer literals, stayed green. Rounding was the other option and is worse:\n -- sub-millisecond tests are ordinary here, and 0.36 rounded to 0 reads as\n -- \"instant\", the same falsehood the null-rather-than-zero rule below refuses.\n duration_ms REAL,\n commit_sha TEXT NOT NULL,\n observed_at INTEGER NOT NULL,\n PRIMARY KEY (node_id, run_id)\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS idx_observed_tests_run ON observed_tests(run_id);\n\n-- \u00A711B.5. A human said an edge was wrong, or runtime contradicted it. Feeding\n-- this back is how precision improves; losing it repeats the same false claim.\nCREATE TABLE IF NOT EXISTS edge_corrections (\n edge_id TEXT PRIMARY KEY,\n verdict TEXT NOT NULL, -- 'wrong' | 'right'\n reason TEXT NOT NULL,\n corrected_at INTEGER NOT NULL\n) STRICT;\n\n-- \u00A714.2. One pull request's computed scope, and it is EARNED rather than derived\n-- for a reason that is easy to get backwards.\n--\n-- Everything else on the derived side can be regenerated from source because the\n-- source is what produced it. A PR scope cannot: it was computed against a graph\n-- at one commit, and that graph moves. Recomputing it later answers a DIFFERENT\n-- question and returns a plausible answer to it \u2014 so dropping this table does\n-- not lose time, it loses the COMPARISON BASIS. Overlap scoring between two PRs\n-- is only meaningful when both scopes were computed against the same graph, and\n-- nothing in a recomputed row would say that it was not.\n--\n-- graph_commit_sha is therefore not decoration: it is the field that makes two\n-- rows comparable or not, and a reader that ignores it will happily overlap a\n-- scope from last week with one from today and report a number.\n--\n-- scope_json holds the node id set. Kept opaque here on purpose: the shape of a\n-- scope is the scoping layer's business, and a column per dimension would need\n-- a migration every time that layer learns something. What the store guarantees\n-- is that the bytes come back unchanged with the commit they were computed at.\nCREATE TABLE IF NOT EXISTS pr_scopes (\n pr_id TEXT NOT NULL,\n repo TEXT NOT NULL,\n -- The head commit of the PR itself.\n head_sha TEXT NOT NULL,\n -- The commit the GRAPH was at when this scope was computed. Two scopes are\n -- comparable only when these agree.\n graph_commit_sha TEXT NOT NULL,\n scope_json TEXT NOT NULL,\n node_count INTEGER NOT NULL,\n computed_at INTEGER NOT NULL,\n PRIMARY KEY (repo, pr_id, graph_commit_sha)\n) STRICT;\n\n-- The access path for overlap scoring: every scope computed against one graph.\n-- Without it, comparing N PRs scans the whole table N times.\nCREATE INDEX IF NOT EXISTS idx_pr_scopes_graph ON pr_scopes(repo, graph_commit_sha);\n\n-- Incident and fix-pattern links. Accumulated from real failures over time.\nCREATE TABLE IF NOT EXISTS incident_links (\n incident_node_id TEXT NOT NULL,\n target_node_id TEXT NOT NULL,\n kind TEXT NOT NULL,\n created_at INTEGER NOT NULL,\n PRIMARY KEY (incident_node_id, target_node_id, kind)\n) STRICT;\n";
|
|
26
26
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"AAAA;;;;sFAIsF;AAItF;mFACmF;AACnF,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;4EAC4E;AAC5E,eAAO,MAAM,cAAc,QAAkC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,cAAc,6FAOjB,CAAC;AAEX;wEACwE;AACxE,eAAO,MAAM,aAAa,kGAMhB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;6DAE6D;AAC7D,eAAO,MAAM,kBAAkB,6FAOa,CAAC;AAE7C,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"AAAA;;;;sFAIsF;AAItF;mFACmF;AACnF,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;4EAC4E;AAC5E,eAAO,MAAM,cAAc,QAAkC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,cAAc,6FAOjB,CAAC;AAEX;wEACwE;AACxE,eAAO,MAAM,aAAa,kGAMhB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;6DAE6D;AAC7D,eAAO,MAAM,kBAAkB,6FAOa,CAAC;AAE7C,eAAO,MAAM,UAAU,gnaAgQtB,CAAC"}
|
package/dist/store/schema.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { NODE_ID_PREFIX } from "@descryy/ir";
|
|
7
7
|
/** Bumped when the IR itself changes shape, not when an adapter changes.
|
|
8
8
|
* DEC-017: on mismatch, refuse to read, drop derived, rebuild, migrate earned. */
|
|
9
|
-
export const IR_SCHEMA_VERSION =
|
|
9
|
+
export const IR_SCHEMA_VERSION = 5; // 4 -> 5: nodes.external, the dependency boundary (DEC-NEXT-external-symbol-nodes-at-the-dependency-boundary)
|
|
10
10
|
/** Tag on every node id, derived from the constant, not restated — a
|
|
11
11
|
* literal here would keep validating the old scheme after an id change. */
|
|
12
12
|
export const NODE_ID_SCHEME = NODE_ID_PREFIX.replace(":", "");
|
|
@@ -93,6 +93,7 @@ CREATE TABLE IF NOT EXISTS nodes (
|
|
|
93
93
|
produced_by TEXT NOT NULL,
|
|
94
94
|
resolution INTEGER NOT NULL,
|
|
95
95
|
attrs TEXT NOT NULL, -- JSON; correction 1
|
|
96
|
+
external TEXT, -- JSON ExternalProvenance, null for every in-repo node
|
|
96
97
|
run_id TEXT NOT NULL REFERENCES adapter_runs(id) ON DELETE CASCADE
|
|
97
98
|
) STRICT;
|
|
98
99
|
|
package/dist/store/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"AAAA;;;;sFAIsF;AAEtF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;mFACmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"AAAA;;;;sFAIsF;AAEtF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;mFACmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,8GAA8G;AAElJ;4EAC4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO;IACP,OAAO;IACP,iBAAiB;IACjB,aAAa;IACb,YAAY;IACZ,cAAc;CACN,CAAC;AAEX;wEACwE;AACxE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,WAAW;CACH,CAAC;AAKX;;6DAE6D;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,YAAY;IACZ,iBAAiB;IACjB,OAAO;IACP,OAAO;IACP,aAAa;IACb,cAAc;CAC4B,CAAC;AAE7C,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgQzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/store/writer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAyB,KAAK,OAAO,EAAmC,MAAM,aAAa,CAAC;AAGnG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;+DAC2D;IAC3D,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;0DACsD;IACtD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAYD;;4DAE4D;AAC5D,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI/C;AAwBD;iEACiE;AACjE,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,YAAiB,GACzB,WAAW,
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/store/writer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAyB,KAAK,OAAO,EAAmC,MAAM,aAAa,CAAC;AAGnG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;+DAC2D;IAC3D,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;0DACsD;IACtD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAYD;;4DAE4D;AAC5D,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI/C;AAwBD;iEACiE;AACjE,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,YAAiB,GACzB,WAAW,CAqOb;AAED;;;;;;;;;;;;;;;0EAe0E;AAC1E,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,GAClC;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAa9B;AAYD;;gEAEgE;AAChE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAK/F;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,IAAI,CAON;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAInF"}
|
package/dist/store/writer.js
CHANGED
|
@@ -97,13 +97,14 @@ export function writeBatch(driver, batch, options = {}) {
|
|
|
97
97
|
// application code, short of its `disputedAttrs` bookkeeping, which only
|
|
98
98
|
// matters when both sources are visible to one `buildGraph` call anyway.
|
|
99
99
|
const insertNode = driver.prepare(`INSERT INTO nodes
|
|
100
|
-
(id, type, name, file_path, start_line, end_line, language, produced_by, resolution, attrs, run_id)
|
|
101
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
100
|
+
(id, type, name, file_path, start_line, end_line, language, produced_by, resolution, attrs, external, run_id)
|
|
101
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
102
102
|
ON CONFLICT(id) DO UPDATE SET
|
|
103
103
|
type = excluded.type, name = excluded.name, file_path = excluded.file_path,
|
|
104
104
|
start_line = excluded.start_line, end_line = excluded.end_line,
|
|
105
105
|
language = excluded.language, produced_by = excluded.produced_by,
|
|
106
106
|
resolution = excluded.resolution,
|
|
107
|
+
external = excluded.external,
|
|
107
108
|
attrs = CASE
|
|
108
109
|
WHEN nodes.run_id = excluded.run_id
|
|
109
110
|
OR nodes.run_id IN (SELECT id FROM temp.supplied WHERE kind = 'run')
|
|
@@ -115,7 +116,7 @@ export function writeBatch(driver, batch, options = {}) {
|
|
|
115
116
|
OR nodes.run_id IN (SELECT id FROM temp.supplied WHERE kind = 'run')
|
|
116
117
|
OR (${NODE_MERGE_CONDITION})`);
|
|
117
118
|
for (const node of batch.nodes) {
|
|
118
|
-
insertNode.run(node.id, node.type, node.name, node.file, node.range?.startLine ?? null, node.range?.endLine ?? null, node.language, node.producedBy, node.resolution, canonicalJson(node.attrs), runId);
|
|
119
|
+
insertNode.run(node.id, node.type, node.name, node.file, node.range?.startLine ?? null, node.range?.endLine ?? null, node.language, node.producedBy, node.resolution, canonicalJson(node.attrs), node.external === undefined ? null : canonicalJson(node.external), runId);
|
|
119
120
|
remember.run("node", node.id);
|
|
120
121
|
}
|
|
121
122
|
// Retire the prior runs — everything still pointing at them is what this
|
package/dist/store/writer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/store/writer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAiD,MAAM,aAAa,CAAC;AAEnG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAuB/E,kFAAkF;AAClF,SAAS,aAAa,CAAC,UAAkB;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED;;4DAE4D;AAC5D,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,MAAM,OAAO,CAClB,aAAa,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAC9F,EAAE,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,GAAkB;IACtC,OAAO,MAAM,OAAO,CAClB,aAAa,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CACjG,EAAE,CAAC;AACN,CAAC;AAED;;4EAE4E;AAC5E,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAWD;iEACiE;AACjE,MAAM,UAAU,UAAU,CACxB,MAAiB,EACjB,KAAc,EACd,UAAwB,EAAE;IAE1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAEjD,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7B,6CAA6C;QAE7C,MAAM,SAAS,GAAG,MAAM;aACrB,OAAO,CAAS,yFAAyF,CAAC;aAC1G,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;aACjC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAa,CAAC;YACvD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEL,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAa,EAAE,CAAC;gBAC5D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEhE,8EAA8E;QAC9E,+EAA+E;QAC/E,MAAM,CAAC,IAAI,CACT,yGAAyG,CAC1G,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC;QAChG,4EAA4E;QAC5E,gFAAgF;QAChF,iFAAiF;QACjF,KAAK,MAAM,GAAG,IAAI,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAEzD,8CAA8C;QAE9C,MAAM;aACH,OAAO,CACN;;;;;;;;;4CASoC,CACrC;aACA,GAAG,CACF,KAAK,EACL,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,IAAI,IAAI,EACvB,KAAK,CAAC,SAAS,EACf,SAAS,EACT,OAAO,EACP,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,iBAAiB,EACvB,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,EAC7C,KAAK,CAAC,WAAW,CAAC,MAAM,EACxB,GAAG,EAAE,CACN,CAAC;QAEJ,4EAA4E;QAC5E,sEAAsE;QAEtE,kEAAkE;QAElE,6EAA6E;QAC7E,uEAAuE;QACvE,wEAAwE;QACxE,uEAAuE;QACvE,0EAA0E;QAC1E,yEAAyE;QACzE,sEAAsE;QACtE,iEAAiE;QACjE,iEAAiE;QACjE,uEAAuE;QACvE,kEAAkE;QAClE,2EAA2E;QAC3E,6EAA6E;QAC7E,wEAAwE;QACxE,sEAAsE;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAC/B
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/store/writer.ts"],"names":[],"mappings":"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"}
|
package/dist/tiers/certify.d.ts
CHANGED
|
@@ -28,6 +28,17 @@ export interface PrecisionDraw {
|
|
|
28
28
|
/** The negative control over the same adjudicator. Must be ~0. */
|
|
29
29
|
readonly controlDrawn: number;
|
|
30
30
|
readonly controlCorrect: number;
|
|
31
|
+
/** Control rows drawn but never scored, because the swap could not be made WRONG — every
|
|
32
|
+
* candidate the pool offered was itself a real edge, so the row tested nothing. Excluded from
|
|
33
|
+
* `controlDrawn` (zero out of zero is undefined, and a swap nothing tested must not be scored
|
|
34
|
+
* like one that was tested and rejected) and recorded here instead of vanishing.
|
|
35
|
+
*
|
|
36
|
+
* `undefined` is not zero: a grader with no such bucket decided every swap it drew, and is
|
|
37
|
+
* charged nothing — same reason an absent `decided` is not charged COVERAGE_FLOOR.
|
|
38
|
+
*
|
|
39
|
+
* It IS a weakening of the control, and `CONTROL_CONSTRUCTION_FLOOR` is what stops it being an
|
|
40
|
+
* unlimited one — a denominator the grader may shrink is one the grader can shrink to one row. */
|
|
41
|
+
readonly controlUncontrollable?: number;
|
|
31
42
|
/** Did the adapter's author pick this repo? DEC-075 §6.2 requires two that didn't. Declared, not inferred. */
|
|
32
43
|
readonly authorChose: boolean;
|
|
33
44
|
/** Who recorded this, so an attested claim has a name against it. */
|
|
@@ -49,6 +60,105 @@ export interface ConformanceEvidence {
|
|
|
49
60
|
* corpus's fault) — conflating them failed every adapter at Tier C on a low-resolution sweep. */
|
|
50
61
|
readonly manifestClean: boolean;
|
|
51
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Which denominator a recall figure is over. **The headline is `wholeCodebase`,
|
|
65
|
+
* ruled and not inferred.**
|
|
66
|
+
*
|
|
67
|
+
* `inCodebase` divides by the references whose TARGET is declared inside the
|
|
68
|
+
* repository, so every call into a library is absent from its denominator — the
|
|
69
|
+
* axis excluded precisely the part of the codebase the graph could not
|
|
70
|
+
* represent, which made it the most flattering figure available and the least
|
|
71
|
+
* answerable one. External-symbol nodes made those references representable and
|
|
72
|
+
* measured what it was worth: go/gin 24.5% → 59.5%, python/dispatch 11.8% →
|
|
73
|
+
* 37.3%, both at zero false positives. Once a call into a library can be a
|
|
74
|
+
* node, the axis that counts it is the one that answers "how much of my code
|
|
75
|
+
* did you analyse".
|
|
76
|
+
*
|
|
77
|
+
* `narrow` is `found / (found + missing)` — what every `bench/<lang>-recall.mjs`
|
|
78
|
+
* prints and what every earlier recall number in this repository means. It is
|
|
79
|
+
* the narrowest of the three and is kept only for continuity.
|
|
80
|
+
*
|
|
81
|
+
* Both narrower axes are reportable. Neither is the headline, and a draw that
|
|
82
|
+
* offers one as its headline is refused with that reason — see
|
|
83
|
+
* {@link ruleRecallDraw}.
|
|
84
|
+
*/
|
|
85
|
+
export type RecallAxis = "wholeCodebase" | "inCodebase" | "narrow";
|
|
86
|
+
/**
|
|
87
|
+
* A recall measurement, as `bench/recall-baseline.json` records one.
|
|
88
|
+
*
|
|
89
|
+
* Deliberately NOT shaped like {@link PrecisionDraw}: it carries no control and
|
|
90
|
+
* no `authorChose`, because it gates nothing and therefore needs neither. What
|
|
91
|
+
* it does carry is the pair that makes a recall figure readable at all — the
|
|
92
|
+
* denominator's axis, and the draw size that denominator came out of.
|
|
93
|
+
*/
|
|
94
|
+
export interface RecallDraw {
|
|
95
|
+
readonly repository: string;
|
|
96
|
+
/** Which denominator {@link denominator} is. Required: a rate with no stated
|
|
97
|
+
* axis is three different claims wearing one number. */
|
|
98
|
+
readonly axis: RecallAxis;
|
|
99
|
+
/** Every site the instrument drew, before any exclusion. Coverage's denominator. */
|
|
100
|
+
readonly drawn: number;
|
|
101
|
+
/** The figure's own denominator: `drawn` minus whatever this axis excludes. */
|
|
102
|
+
readonly denominator: number;
|
|
103
|
+
/** How many of `denominator` reached the graph. */
|
|
104
|
+
readonly found: number;
|
|
105
|
+
/** The second axis, disclosed beside the headline so a reader has both.
|
|
106
|
+
* Optional; its absence is printed as absence, never as agreement. */
|
|
107
|
+
readonly secondAxis?: {
|
|
108
|
+
readonly axis: RecallAxis;
|
|
109
|
+
readonly found: number;
|
|
110
|
+
readonly denominator: number;
|
|
111
|
+
};
|
|
112
|
+
/** What the generated-code exclusion removed from this draw, if it was applied.
|
|
113
|
+
* `undefined` means no exclusion was recorded — printed as such, because an
|
|
114
|
+
* undisclosed exclusion and no exclusion must not read the same. */
|
|
115
|
+
readonly generatedExcluded?: {
|
|
116
|
+
readonly files: number;
|
|
117
|
+
readonly sites: number;
|
|
118
|
+
readonly rules: readonly string[];
|
|
119
|
+
};
|
|
120
|
+
/** Who recorded it. Same rule as everywhere else here: unattributable is not admissible. */
|
|
121
|
+
readonly recordedBy: string;
|
|
122
|
+
}
|
|
123
|
+
/** One {@link RecallDraw}, ruled. `admissible` is about the FIGURE, never about the adapter. */
|
|
124
|
+
export interface RecallRuling {
|
|
125
|
+
readonly repository: string;
|
|
126
|
+
readonly axis: RecallAxis;
|
|
127
|
+
readonly found: number;
|
|
128
|
+
readonly denominator: number;
|
|
129
|
+
readonly drawn: number;
|
|
130
|
+
/** `found / denominator`, or `null` where the denominator is zero — which is
|
|
131
|
+
* undefined, not 0% and not 100%. */
|
|
132
|
+
readonly rate: number | null;
|
|
133
|
+
/** `denominator / drawn`: how much of its own draw the instrument was willing
|
|
134
|
+
* to be graded on. `null` where there is no draw to divide by. */
|
|
135
|
+
readonly coverage: number | null;
|
|
136
|
+
/** Does this figure say anything at all? False does NOT mean the adapter fell
|
|
137
|
+
* short — it means the figure is a claim about what the instrument judged, or
|
|
138
|
+
* is over the wrong denominator. */
|
|
139
|
+
readonly admissible: boolean;
|
|
140
|
+
readonly detail: string;
|
|
141
|
+
readonly secondAxis?: RecallDraw["secondAxis"];
|
|
142
|
+
readonly generatedExcluded?: RecallDraw["generatedExcluded"];
|
|
143
|
+
readonly recordedBy: string;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* What the certificate says about recall.
|
|
147
|
+
*
|
|
148
|
+
* `not-measured` is its own state and is printed. A certificate that simply
|
|
149
|
+
* omitted recall when none was recorded would let "we never measured how much
|
|
150
|
+
* of your codebase we reached" and "we reached it" render identically, which is
|
|
151
|
+
* the silent degradation rule 7 forbids.
|
|
152
|
+
*/
|
|
153
|
+
export type RecallDisclosure = {
|
|
154
|
+
readonly state: "not-measured";
|
|
155
|
+
readonly detail: string;
|
|
156
|
+
readonly rows: readonly [];
|
|
157
|
+
} | {
|
|
158
|
+
readonly state: "disclosed";
|
|
159
|
+
readonly detail: string;
|
|
160
|
+
readonly rows: readonly RecallRuling[];
|
|
161
|
+
};
|
|
52
162
|
export interface GateEvidence {
|
|
53
163
|
readonly adapter: string;
|
|
54
164
|
readonly language: string;
|
|
@@ -65,9 +175,16 @@ export interface GateEvidence {
|
|
|
65
175
|
* that fails on absence; JS has none). Distinct from "not built yet" (§20.2) — doesn't block the
|
|
66
176
|
* tier and doesn't vanish, it's printed on the certificate. `declaredBy` required; unattributed = ignored. */
|
|
67
177
|
readonly structuralLimits?: readonly StructuralLimit[];
|
|
178
|
+
/** Requirements the admitted reference corpus cannot supply evidence for (see `CorpusCeiling`).
|
|
179
|
+
* Waives nothing and moves no tier — changes "not done yet" into "not reachable from this corpus". */
|
|
180
|
+
readonly corpusCeilings?: readonly CorpusCeiling[];
|
|
68
181
|
/** Capabilities claimed below what evidence supports, pending an open policy (see `PolicyCap`).
|
|
69
182
|
* Doesn't waive a requirement or block a tier — stops a deliberate cap being published as an absence. */
|
|
70
183
|
readonly policyCaps?: readonly PolicyCap[];
|
|
184
|
+
/** Recall measurements. **Disclosed on the certificate and gating nothing** —
|
|
185
|
+
* see `RECALL_COVERAGE_FLOOR` for why, and for what would have to be true
|
|
186
|
+
* before this could become a requirement. Absent is printed as absent. */
|
|
187
|
+
readonly recallDraws?: readonly RecallDraw[];
|
|
71
188
|
}
|
|
72
189
|
/** A capability this language cannot have. Declared, never inferred. */
|
|
73
190
|
export interface StructuralLimit {
|
|
@@ -78,6 +195,40 @@ export interface StructuralLimit {
|
|
|
78
195
|
/** Who declared it. An anonymous structural limit is not admissible. */
|
|
79
196
|
readonly declaredBy: string;
|
|
80
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* A requirement the ADMITTED REFERENCE CORPUS cannot supply evidence for, published as a
|
|
200
|
+
* ceiling rather than left standing as unmet work.
|
|
201
|
+
*
|
|
202
|
+
* Three neighbouring things, and conflating any two of them publishes a falsehood:
|
|
203
|
+
*
|
|
204
|
+
* `StructuralLimit` the LANGUAGE cannot have this, ever. Waives the requirement.
|
|
205
|
+
* `unreachableHere` this repository's population is a measured zero. Derived, waives
|
|
206
|
+
* nothing, and says the remedy is other repositories.
|
|
207
|
+
* `CorpusCeiling` the admitted repositories contain almost none of the edge type the
|
|
208
|
+
* requirement is scored on, AND the rules forbid admitting a better
|
|
209
|
+
* one for that reason. Declared, waives nothing.
|
|
210
|
+
*
|
|
211
|
+
* The difference between the second and the third is who is allowed to fix it. A measured
|
|
212
|
+
* zero invites other repositories; a corpus ceiling is the case where reaching for one is
|
|
213
|
+
* the prohibited move — the outcome-blind admission rules exist precisely to stop a
|
|
214
|
+
* repository being admitted because it would move a tier. So the row is not pending work,
|
|
215
|
+
* and printing it as unmet tells a reader to go and do something the rules forbid.
|
|
216
|
+
*
|
|
217
|
+
* **It waives nothing, deliberately.** A ceiling that waived its own requirement would be
|
|
218
|
+
* the cheapest route to a tier available: declare the corpus inadequate, collect the badge.
|
|
219
|
+
* The tier stays exactly where the evidence puts it; only the sentence beside it changes.
|
|
220
|
+
*
|
|
221
|
+
* `declaredBy` is required for the same reason `StructuralLimit` requires it — an anonymous
|
|
222
|
+
* "the corpus is inadequate" is a sentence anyone can add to stop a row reading as work.
|
|
223
|
+
*/
|
|
224
|
+
export interface CorpusCeiling {
|
|
225
|
+
/** A requirement id, or the name of a check. */
|
|
226
|
+
readonly id: string;
|
|
227
|
+
/** Why the admitted reference set cannot supply this, in terms of the corpus. */
|
|
228
|
+
readonly reason: string;
|
|
229
|
+
/** Who declared it. An anonymous ceiling is not admissible. */
|
|
230
|
+
readonly declaredBy: string;
|
|
231
|
+
}
|
|
81
232
|
/** A capability claimable higher but deliberately claimed lower, pending an unwritten policy —
|
|
82
233
|
* distinct from absent (unmeasured) and StructuralLimit (impossible). E.g. an R4-introspected
|
|
83
234
|
* route table claimed at R3 pending R4's expiry policy (R4 is unconditionally class A, DEC-115). */
|
|
@@ -99,6 +250,17 @@ export interface EmptyPopulation {
|
|
|
99
250
|
readonly repository: string;
|
|
100
251
|
readonly edgeType: EdgeType | "mixed";
|
|
101
252
|
}
|
|
253
|
+
/** A draw whose negative control excluded rows it could not make wrong. Derived from the draw,
|
|
254
|
+
* never declared — the grader counted them, nobody attests to them. Printed because a control
|
|
255
|
+
* that excluded rows and a control that excluded none read identically otherwise. */
|
|
256
|
+
export interface WeakenedControl {
|
|
257
|
+
readonly repository: string;
|
|
258
|
+
readonly edgeType: EdgeType | "mixed";
|
|
259
|
+
/** Swaps that were actually made wrong and scored — the control's real denominator. */
|
|
260
|
+
readonly constructed: number;
|
|
261
|
+
/** Swaps drawn where every candidate in the pool was itself a real edge. */
|
|
262
|
+
readonly uncontrollable: number;
|
|
263
|
+
}
|
|
102
264
|
export interface UnmetRequirement {
|
|
103
265
|
readonly requirement: Requirement;
|
|
104
266
|
/** Why it is unmet, in terms of what was found rather than what was wanted. */
|
|
@@ -130,8 +292,20 @@ export interface TierCertificate {
|
|
|
130
292
|
/** Draws whose population was zero — nothing here to measure, not "the adapter fell short."
|
|
131
293
|
* Printed beside structural limitations; the remedy is other repositories. */
|
|
132
294
|
readonly unreachableHere: readonly EmptyPopulation[];
|
|
295
|
+
/** Requirements published as unreachable from the admitted corpus. Declared, attributed, and
|
|
296
|
+
* waiving nothing — never omit these when printing, or a ceiling reads as pending work. */
|
|
297
|
+
readonly corpusCeilings: readonly CorpusCeiling[];
|
|
298
|
+
/** Draws whose control excluded rows it could not make wrong. Empty for every draw that
|
|
299
|
+
* records no such bucket. Never omit when printing — an undisclosed exclusion is the thing
|
|
300
|
+
* the bucket exists to stop. */
|
|
301
|
+
readonly weakenedControls: readonly WeakenedControl[];
|
|
133
302
|
/** DEC-075 §6.3: does `capabilities()` match what was emitted? */
|
|
134
303
|
readonly capabilitiesHonest: boolean | "unknown";
|
|
304
|
+
/** How much of the codebase was reached, and on which denominator. Never omit
|
|
305
|
+
* when printing: a tier says how RIGHT the edges are, and says nothing at all
|
|
306
|
+
* about how MANY of them there are. Those are different questions and a
|
|
307
|
+
* reader handed only the first will answer the second with it. */
|
|
308
|
+
readonly recall: RecallDisclosure;
|
|
135
309
|
}
|
|
136
310
|
export declare function certify(evidence: GateEvidence): TierCertificate;
|
|
137
311
|
/** Tier first, then immediately why it isn't higher. Printing "B" alone teaches a reader B is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certify.d.ts","sourceRoot":"","sources":["../../src/tiers/certify.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAU,KAAK,WAAW,EAAE,KAAK,IAAI,EAA0B,MAAM,aAAa,CAAC;AAE1F;yGACyG;AACzG,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;mGAE+F;IAC/F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;4GAEwG;IACxG,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;iGAE6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,kEAAkE;IAClE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,8GAA8G;IAC9G,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,qEAAqE;IACrE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;2GAEuG;IACvG,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CACzG;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;;sGAEkG;IAClG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAChD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACrD,QAAQ,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAC;IAClD;qGACiG;IACjG,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD;;mHAE+G;IAC/G,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACvD;8GAC0G;IAC1G,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"certify.d.ts","sourceRoot":"","sources":["../../src/tiers/certify.ts"],"names":[],"mappings":"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"}
|