@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
package/dist/tiers/certify.js
CHANGED
|
@@ -11,7 +11,59 @@ const MAX_CONTROL = 0.02;
|
|
|
11
11
|
* bench/ can't be imported from packages/core. User-ruled: a capability that moves a tier needs
|
|
12
12
|
* this many decided rows of its OWN edge type, not just an aggregate pass. */
|
|
13
13
|
const TYPE_FLOOR = 20;
|
|
14
|
+
/** The other half of the same floor, and it was missing. `bench/grader-outcome-adjudicate.mjs`'s
|
|
15
|
+
* `scoreLines` has always marked a type `<- below floor` at `n >= TYPE_FLOOR && ok / n < 0.95`;
|
|
16
|
+
* this file counted the rows and never looked at how many were right, so a draw that FAILED a
|
|
17
|
+
* capability was the evidence that granted it — csharp/eShopOnWeb's USES_API at 19/25 = 76% moved
|
|
18
|
+
* csharp from B to A. Same value as the bench layer's, for the same reason TYPE_FLOOR is. */
|
|
19
|
+
const TYPE_RATE_FLOOR = 0.95;
|
|
14
20
|
const REPOSITORIES_REQUIRED = 2;
|
|
21
|
+
/** Mirrors `bench/kotlin-precision.mjs`'s `COVERAGE_FLOOR` — the other half of scoring over
|
|
22
|
+
* `decided`. Precision says how well the grader did on what it judged; coverage says how much
|
|
23
|
+
* it was willing to judge. Neither alone is a claim, and only one of the two was ever gated
|
|
24
|
+
* here. Restated rather than imported for the same reason `TYPE_FLOOR` is: a bench instrument
|
|
25
|
+
* is not a dependency of the shipped gate. If you change one, change both. */
|
|
26
|
+
const COVERAGE_FLOOR = 0.6;
|
|
27
|
+
/** The same floor again, one layer down: of the control swaps a grader ATTEMPTED, how many it
|
|
28
|
+
* managed to make wrong at all. Mirrors `bench/grader-outcome-adjudicate.mjs`'s
|
|
29
|
+
* `CONTROL_COVERAGE_FLOOR`, which guards the neighbouring shrink (rows the adjudicator refused
|
|
30
|
+
* to judge) at the same 0.6 — restated rather than imported, on the same terms as TYPE_FLOOR and
|
|
31
|
+
* COVERAGE_FLOOR. If you change one, change both. */
|
|
32
|
+
const CONTROL_CONSTRUCTION_FLOOR = 0.6;
|
|
33
|
+
/**
|
|
34
|
+
* The headline recall denominator. Mirrors `HEADLINE_AXIS` in
|
|
35
|
+
* `bench/lib/recall-baseline.mjs`, restated on the same terms as `TYPE_FLOOR`
|
|
36
|
+
* and `COVERAGE_FLOOR`: a bench instrument is not a dependency of the shipped
|
|
37
|
+
* gate. **If you change one, change both.** `packages/core/test/tiers.test.ts`
|
|
38
|
+
* and `bench/test/recall-verdict.test.mjs` both pin it.
|
|
39
|
+
*/
|
|
40
|
+
const HEADLINE_RECALL_AXIS = "wholeCodebase";
|
|
41
|
+
/**
|
|
42
|
+
* `COVERAGE_FLOOR` again, for recall.
|
|
43
|
+
*
|
|
44
|
+
* Precision says how well the grader did on what it judged; coverage says how
|
|
45
|
+
* much it was willing to judge. Recall has the identical hole: an instrument
|
|
46
|
+
* that draws 2000 sites, decides 118 of them and reports 118/118 = 100% has
|
|
47
|
+
* measured its own willingness to be graded. That is `ruby/fluentd`, verbatim.
|
|
48
|
+
*
|
|
49
|
+
* **This floor DISQUALIFIES a figure and does not fail an adapter**, and unlike
|
|
50
|
+
* every other constant in this file it is attached to nothing that moves a
|
|
51
|
+
* tier. Two measured reasons, both of which would have to change first:
|
|
52
|
+
*
|
|
53
|
+
* 1. `bench/gate-evidence.json` carries no recall rows for any adapter. This
|
|
54
|
+
* file's doctrine is that absent evidence fails, so a recall REQUIREMENT
|
|
55
|
+
* today would drop every adapter at once — on the evidence's absence, not
|
|
56
|
+
* on any adapter's performance.
|
|
57
|
+
* 2. Nothing in the corpus is close. On `bench/recall-baseline.json` the
|
|
58
|
+
* headline axis reads 6.7%–45.3% across eighteen rows, best
|
|
59
|
+
* `java/shopizer` at 45.3%. A requirement at any rate a reader would accept
|
|
60
|
+
* is red for every row, and a gate red for every row is a gate people stop
|
|
61
|
+
* reading.
|
|
62
|
+
*
|
|
63
|
+
* Mirrors `RECALL_COVERAGE_FLOOR` in `bench/recall-verdict.mjs`, which mirrors
|
|
64
|
+
* `COVERAGE_FLOOR` above. Three places, one value; change one, change all.
|
|
65
|
+
*/
|
|
66
|
+
const RECALL_COVERAGE_FLOOR = 0.6;
|
|
15
67
|
function missing(wanted, have) {
|
|
16
68
|
if (wanted === undefined)
|
|
17
69
|
return [];
|
|
@@ -22,10 +74,16 @@ function missing(wanted, have) {
|
|
|
22
74
|
* Fixes a defect where a dedicated single-type draw read as silence — Python's SERVES_API drew
|
|
23
75
|
* 200/200 and 48/48 (re-verified) but printed "0/20 decided". A dedicated zero-row draw counts as 0. */
|
|
24
76
|
function decidedRowsOfType(draw, type) {
|
|
25
|
-
|
|
26
|
-
|
|
77
|
+
return rowsOfType(draw, type)?.decided;
|
|
78
|
+
}
|
|
79
|
+
/** Decided AND correct for one edge type. Both, because the floor is about both — see `TYPE_RATE_FLOOR`. */
|
|
80
|
+
function rowsOfType(draw, type) {
|
|
81
|
+
if (draw.perEdgeType !== undefined) {
|
|
82
|
+
const bucket = draw.perEdgeType[type];
|
|
83
|
+
return bucket === undefined ? { decided: 0, correct: 0 } : { decided: bucket.decided, correct: bucket.correct };
|
|
84
|
+
}
|
|
27
85
|
if (draw.edgeType === type)
|
|
28
|
-
return draw.decided ?? draw.drawn;
|
|
86
|
+
return { decided: draw.decided ?? draw.drawn, correct: draw.correct };
|
|
29
87
|
return undefined;
|
|
30
88
|
}
|
|
31
89
|
function checkCapability(requirement, evidence) {
|
|
@@ -55,7 +113,23 @@ function checkCapability(requirement, evidence) {
|
|
|
55
113
|
continue; // already named in edgeGap above
|
|
56
114
|
if (!isPromotionRequirement)
|
|
57
115
|
continue;
|
|
58
|
-
|
|
116
|
+
// **Only draws whose own negative control held.** The control is the sole
|
|
117
|
+
// detector for an adjudicator that says yes to everything, so a draw whose
|
|
118
|
+
// control exceeded the ceiling carries an UNGUARDED precision figure — and
|
|
119
|
+
// routing its per-type rows into a capability check would be the control
|
|
120
|
+
// gate in `checkPrecisionDraws` bypassed by a second code path. Measured:
|
|
121
|
+
// kotlin/ktor's USES_API draw reads 54/54 with a control of 4/54 = 7.4%, and
|
|
122
|
+
// its own artefact records `passed: false`; recording it moved kotlin from
|
|
123
|
+
// Tier B to Tier A until this line existed.
|
|
124
|
+
const guarded = evidence.precisionDraws.filter((d) => d.controlDrawn > 0 && d.controlCorrect / d.controlDrawn <= MAX_CONTROL);
|
|
125
|
+
const unguarded = evidence.precisionDraws.filter((d) => !guarded.includes(d) && (decidedRowsOfType(d, type) ?? 0) > 0);
|
|
126
|
+
for (const d of unguarded) {
|
|
127
|
+
gaps.push(`${type} evidence from ${d.repository} is not counted: its negative control is ` +
|
|
128
|
+
`${d.controlCorrect}/${d.controlDrawn}` +
|
|
129
|
+
(d.controlDrawn === 0 ? " — no control was run at all" : `, above ${MAX_CONTROL * 100}%`) +
|
|
130
|
+
`, so that draw's precision figure is unguarded and cannot earn a capability`);
|
|
131
|
+
}
|
|
132
|
+
const contributions = guarded
|
|
59
133
|
.map((d) => decidedRowsOfType(d, type))
|
|
60
134
|
.filter((n) => n !== undefined);
|
|
61
135
|
if (contributions.length === 0) {
|
|
@@ -64,6 +138,21 @@ function checkCapability(requirement, evidence) {
|
|
|
64
138
|
continue;
|
|
65
139
|
}
|
|
66
140
|
const decided = contributions.reduce((sum, n) => sum + n, 0);
|
|
141
|
+
// **The rate, checked at the floor and never above it.** Below TYPE_FLOOR the
|
|
142
|
+
// sample is too small to say anything, and the count check below is what
|
|
143
|
+
// rejects it; at or above the floor a type that is measurably wrong must not
|
|
144
|
+
// be the evidence that grants the requirement it fails.
|
|
145
|
+
const measured = guarded
|
|
146
|
+
.map((d) => rowsOfType(d, type))
|
|
147
|
+
.filter((r) => r !== undefined)
|
|
148
|
+
.reduce((sum, r) => ({ decided: sum.decided + r.decided, correct: sum.correct + r.correct }), { decided: 0, correct: 0 });
|
|
149
|
+
if (measured.decided >= TYPE_FLOOR && measured.correct / measured.decided < TYPE_RATE_FLOOR) {
|
|
150
|
+
gaps.push(`${type} ${measured.correct}/${measured.decided} = ` +
|
|
151
|
+
`${Math.round((100 * measured.correct) / measured.decided)}% across the recorded precision draws, ` +
|
|
152
|
+
`below the per-type floor of ${TYPE_RATE_FLOOR * 100}% — the draws that measure this capability ` +
|
|
153
|
+
`measure it FAILING, and a failing measurement is not evidence for the requirement it fails`);
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
67
156
|
if (decided < TYPE_FLOOR) {
|
|
68
157
|
gaps.push(`${type} ${decided}/${TYPE_FLOOR} decided rows across the recorded precision draws — declared, ` +
|
|
69
158
|
`but not validated by the draw at the floor every edge type is otherwise held to`);
|
|
@@ -98,6 +187,32 @@ function checkPrecisionDraws(requirement, evidence) {
|
|
|
98
187
|
}
|
|
99
188
|
const reasons = [];
|
|
100
189
|
const qualifying = draws.filter((d) => {
|
|
190
|
+
// **Checked before anything else, because every check after it is a `<`.**
|
|
191
|
+
// `undefined / 32` is NaN, and every comparison with NaN is false — so a row
|
|
192
|
+
// carrying no usable counts does not fail these gates, it passes all of
|
|
193
|
+
// them in turn. That is not hypothetical: a recorder wrote four rows with
|
|
194
|
+
// `correct: undefined` and this function awarded Tier A on them, one of
|
|
195
|
+
// which had really measured 19/25 = 76%.
|
|
196
|
+
//
|
|
197
|
+
// A numeric guard rather than a `=== undefined` guard, because NaN and
|
|
198
|
+
// Infinity arrive the same way (a rate multiplied back into a count, a
|
|
199
|
+
// division by a zero denominator) and read the same way downstream.
|
|
200
|
+
const counts = [
|
|
201
|
+
["drawn", d.drawn],
|
|
202
|
+
["correct", d.correct],
|
|
203
|
+
["controlDrawn", d.controlDrawn],
|
|
204
|
+
["controlCorrect", d.controlCorrect],
|
|
205
|
+
["decided", d.decided ?? 0],
|
|
206
|
+
["population", d.population ?? 0],
|
|
207
|
+
["controlUncontrollable", d.controlUncontrollable ?? 0],
|
|
208
|
+
];
|
|
209
|
+
const unusable = counts.filter(([, value]) => typeof value !== "number" || !Number.isFinite(value));
|
|
210
|
+
if (unusable.length > 0) {
|
|
211
|
+
reasons.push(`${d.repository}: no usable counts — ${unusable.map(([name]) => name).join(", ")} ` +
|
|
212
|
+
`${unusable.length === 1 ? "is" : "are"} not a number. A draw that cannot be compared against a ` +
|
|
213
|
+
`threshold must not pass one: absent evidence is a failure, never a pass`);
|
|
214
|
+
return false;
|
|
215
|
+
}
|
|
101
216
|
if (d.authorChose) {
|
|
102
217
|
reasons.push(`${d.repository}: the author chose this repository, so it does not count toward the two`);
|
|
103
218
|
return false;
|
|
@@ -129,8 +244,24 @@ function checkPrecisionDraws(requirement, evidence) {
|
|
|
129
244
|
return false;
|
|
130
245
|
}
|
|
131
246
|
// Precision = correct/DECIDED, never /drawn — folding an honest refusal-to-judge into the
|
|
132
|
-
// denominator punishes it exactly like a wrong answer.
|
|
247
|
+
// denominator punishes it exactly like a wrong answer.
|
|
133
248
|
const decided = d.decided ?? d.drawn;
|
|
249
|
+
// ...but a denominator the grader chooses is a denominator the grader can shrink. Gated
|
|
250
|
+
// together with precision, never apart: `bench/kotlin-precision.mjs` reasoned this out
|
|
251
|
+
// first ("refusal with no floor is a way to buy any precision you like by refusing
|
|
252
|
+
// whatever you would have got wrong") and enforced it inside itself, where it protected
|
|
253
|
+
// Kotlin's draws and no others. Moving it here is what makes the refusal design honest
|
|
254
|
+
// for every grader that records `decided`, not just the one that invented the field.
|
|
255
|
+
//
|
|
256
|
+
// A draw with no `decided` is NOT charged this. Its grader has no third outcome, so it
|
|
257
|
+
// decided every row it drew; there is no shrinking to guard against, and charging it
|
|
258
|
+
// would fail every row recorded before the distinction existed.
|
|
259
|
+
if (d.decided !== undefined && decided / d.drawn < COVERAGE_FLOOR) {
|
|
260
|
+
reasons.push(`${d.repository}: decided ${decided}/${d.drawn}, coverage ` +
|
|
261
|
+
`${Math.round((decided / d.drawn) * 100)}% below ${COVERAGE_FLOOR * 100}% — precision over a ` +
|
|
262
|
+
`denominator this small is a claim about what the grader chose to judge, not about the adapter`);
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
134
265
|
if (d.correct / decided < MIN_PRECISION) {
|
|
135
266
|
reasons.push(`${d.repository}: precision ${d.correct}/${decided}` +
|
|
136
267
|
(decided === d.drawn ? "" : ` (of ${d.drawn} drawn, ${decided} decided)`) +
|
|
@@ -145,6 +276,17 @@ function checkPrecisionDraws(requirement, evidence) {
|
|
|
145
276
|
reasons.push(`${d.repository}: no negative control was run, so the precision figure is unguarded`);
|
|
146
277
|
return false;
|
|
147
278
|
}
|
|
279
|
+
// ...and the same shrink again, one layer down. A row whose swap could not be made wrong
|
|
280
|
+
// tested nothing and is rightly out of the denominator; a grader free to declare most of its
|
|
281
|
+
// rows that way can report 0/10 and print the same clean sentence as a control that rejected
|
|
282
|
+
// 200. Charged only where the grader records the bucket at all.
|
|
283
|
+
const attempted = d.controlDrawn + (d.controlUncontrollable ?? 0);
|
|
284
|
+
if (d.controlUncontrollable !== undefined && d.controlDrawn / attempted < CONTROL_CONSTRUCTION_FLOOR) {
|
|
285
|
+
reasons.push(`${d.repository}: ${d.controlDrawn} of ${attempted} control swaps could be made wrong at all, ` +
|
|
286
|
+
`below ${CONTROL_CONSTRUCTION_FLOOR * 100}% — a control this much of which tested nothing is not ` +
|
|
287
|
+
`a guard on the precision figure beside it`);
|
|
288
|
+
return false;
|
|
289
|
+
}
|
|
148
290
|
return true;
|
|
149
291
|
});
|
|
150
292
|
const repositories = new Set(qualifying.map((d) => d.repository));
|
|
@@ -204,6 +346,95 @@ function capabilitiesHonest(evidence) {
|
|
|
204
346
|
const overEdges = missing(evidence.capabilities.edgeTypes, evidence.emittedEdgeTypes);
|
|
205
347
|
return overNodes.length === 0 && overEdges.length === 0;
|
|
206
348
|
}
|
|
349
|
+
/**
|
|
350
|
+
* Rule one recall draw. Pure, and it decides nothing about a tier.
|
|
351
|
+
*
|
|
352
|
+
* Three ways a figure says nothing, and they are different statements:
|
|
353
|
+
* - it is over a NARROWER axis than the headline, so it answers a different
|
|
354
|
+
* question from the one a reader will read it as answering;
|
|
355
|
+
* - it has no draw size, so its coverage has no denominator;
|
|
356
|
+
* - it was graded on too little of its own draw.
|
|
357
|
+
*
|
|
358
|
+
* None of them is "the adapter did badly", and the certificate says so.
|
|
359
|
+
*/
|
|
360
|
+
function ruleRecallDraw(draw) {
|
|
361
|
+
const rate = draw.denominator === 0 ? null : draw.found / draw.denominator;
|
|
362
|
+
const coverage = draw.drawn > 0 ? draw.denominator / draw.drawn : null;
|
|
363
|
+
const base = {
|
|
364
|
+
repository: draw.repository,
|
|
365
|
+
axis: draw.axis,
|
|
366
|
+
found: draw.found,
|
|
367
|
+
denominator: draw.denominator,
|
|
368
|
+
drawn: draw.drawn,
|
|
369
|
+
rate,
|
|
370
|
+
coverage,
|
|
371
|
+
...(draw.secondAxis === undefined ? {} : { secondAxis: draw.secondAxis }),
|
|
372
|
+
...(draw.generatedExcluded === undefined ? {} : { generatedExcluded: draw.generatedExcluded }),
|
|
373
|
+
recordedBy: draw.recordedBy,
|
|
374
|
+
};
|
|
375
|
+
if (draw.axis !== HEADLINE_RECALL_AXIS) {
|
|
376
|
+
return {
|
|
377
|
+
...base,
|
|
378
|
+
admissible: false,
|
|
379
|
+
detail: `recorded on the '${draw.axis}' axis, not the headline '${HEADLINE_RECALL_AXIS}'. ` +
|
|
380
|
+
(draw.axis === "inCodebase"
|
|
381
|
+
? "`inCodebase` divides by the references whose target is declared inside the repository, so every " +
|
|
382
|
+
"call into a library is absent from its denominator — it excludes precisely what the graph could " +
|
|
383
|
+
"not represent. Reportable beside the headline; never as it"
|
|
384
|
+
: "`narrow` divides by found + missing and drops everything the instrument declined to attempt — " +
|
|
385
|
+
"on this corpus that is 78% of drawn sites. Reportable beside the headline; never as it"),
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
if (coverage === null) {
|
|
389
|
+
return { ...base, admissible: false, detail: "the draw records no draw size, so coverage has no denominator" };
|
|
390
|
+
}
|
|
391
|
+
if (draw.denominator === 0) {
|
|
392
|
+
return {
|
|
393
|
+
...base,
|
|
394
|
+
admissible: false,
|
|
395
|
+
detail: `all ${draw.drawn} drawn sites were excluded; nothing was graded, which is undefined and not 0%`,
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
if (coverage < RECALL_COVERAGE_FLOOR) {
|
|
399
|
+
return {
|
|
400
|
+
...base,
|
|
401
|
+
admissible: false,
|
|
402
|
+
detail: `${draw.found}/${draw.denominator} over ${draw.drawn} drawn — coverage ` +
|
|
403
|
+
`${Math.round(coverage * 100)}% is below ${RECALL_COVERAGE_FLOOR * 100}%, so this figure is a claim ` +
|
|
404
|
+
`about what the instrument was willing to grade, not about the adapter`,
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
return {
|
|
408
|
+
...base,
|
|
409
|
+
admissible: true,
|
|
410
|
+
detail: `${draw.found}/${draw.denominator} on the ${HEADLINE_RECALL_AXIS} axis, over ${draw.drawn} drawn`,
|
|
411
|
+
};
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* The whole recall disclosure, including the case where there is none.
|
|
415
|
+
*
|
|
416
|
+
* **It never contributes to `awarded`.** `packages/core/test/tiers.test.ts`
|
|
417
|
+
* asserts that the worst possible recall draw leaves the tier where it was; if
|
|
418
|
+
* that assertion ever fails, recall has quietly become a gate and every tier on
|
|
419
|
+
* every certificate is now a claim about a measurement no adapter records.
|
|
420
|
+
*/
|
|
421
|
+
function discloseRecall(evidence) {
|
|
422
|
+
const draws = evidence.recallDraws ?? [];
|
|
423
|
+
if (draws.length === 0) {
|
|
424
|
+
return {
|
|
425
|
+
state: "not-measured",
|
|
426
|
+
detail: "no recall draw is recorded for this adapter, so this certificate says nothing about how much of a " +
|
|
427
|
+
"codebase reaches the graph. The tier above is about how RIGHT the edges are, not how many there are",
|
|
428
|
+
rows: [],
|
|
429
|
+
};
|
|
430
|
+
}
|
|
431
|
+
return {
|
|
432
|
+
state: "disclosed",
|
|
433
|
+
detail: `recall is disclosed and gates nothing: the headline axis is '${HEADLINE_RECALL_AXIS}', and a figure ` +
|
|
434
|
+
`below the ${RECALL_COVERAGE_FLOOR * 100}% coverage floor is disqualified rather than charged to the adapter`,
|
|
435
|
+
rows: draws.map(ruleRecallDraw),
|
|
436
|
+
};
|
|
437
|
+
}
|
|
207
438
|
export function certify(evidence) {
|
|
208
439
|
const byTier = { S: [], A: [], B: [], C: [] };
|
|
209
440
|
const limits = admissibleLimits(evidence);
|
|
@@ -245,9 +476,26 @@ export function certify(evidence) {
|
|
|
245
476
|
unreachableHere: evidence.precisionDraws
|
|
246
477
|
.filter((d) => drawableFrom(d) === 0)
|
|
247
478
|
.map((d) => ({ repository: d.repository, edgeType: d.edgeType })),
|
|
479
|
+
// Not folded into `limitedIds` either, and for a sharper version of the same reason: a
|
|
480
|
+
// ceiling that waived would let any language buy a tier by declaring its own corpus poor.
|
|
481
|
+
corpusCeilings: (evidence.corpusCeilings ?? []).filter((c) => c.declaredBy.trim() !== ""),
|
|
482
|
+
// Derived like `unreachableHere`, and disclosed whether or not the draw qualified: a draw
|
|
483
|
+
// rejected by the construction floor still says something about its grader, and a draw that
|
|
484
|
+
// passed with rows excluded has a weaker control than its clean number suggests.
|
|
485
|
+
weakenedControls: evidence.precisionDraws
|
|
486
|
+
.filter((d) => (d.controlUncontrollable ?? 0) > 0)
|
|
487
|
+
.map((d) => ({
|
|
488
|
+
repository: d.repository,
|
|
489
|
+
edgeType: d.edgeType,
|
|
490
|
+
constructed: d.controlDrawn,
|
|
491
|
+
uncontrollable: d.controlUncontrollable ?? 0,
|
|
492
|
+
})),
|
|
248
493
|
// Not folded into `limitedIds` — a cap waives nothing, and if it could skip a requirement that'd be the cheapest route to a tier.
|
|
249
494
|
policyCaps: admissibleCaps(evidence),
|
|
250
495
|
capabilitiesHonest: capabilitiesHonest(evidence),
|
|
496
|
+
// Disclosed, never gating. See `RECALL_COVERAGE_FLOOR` for the two measured
|
|
497
|
+
// reasons, and `discloseRecall` for the test that keeps it that way.
|
|
498
|
+
recall: discloseRecall(evidence),
|
|
251
499
|
};
|
|
252
500
|
}
|
|
253
501
|
/** Tier first, then immediately why it isn't higher. Printing "B" alone teaches a reader B is
|
|
@@ -273,6 +521,26 @@ export function formatCertificate(certificate) {
|
|
|
273
521
|
lines.push(` NOT REACHABLE IN THIS REFERENCE SET — ${empty.edgeType} on ${empty.repository}: population 0`);
|
|
274
522
|
lines.push(" Nothing here to sample. The remedy is other repositories, not more measurement");
|
|
275
523
|
}
|
|
524
|
+
// "Not done yet" and "not reachable from the repositories we are allowed to use" are
|
|
525
|
+
// different sentences, and the second is the one eight languages are actually in. Printed
|
|
526
|
+
// beside the unmet rows it explains, never instead of them — the requirement is still unmet.
|
|
527
|
+
for (const ceiling of certificate.corpusCeilings) {
|
|
528
|
+
lines.push(` CEILING ACCEPTED — ${ceiling.id}: ${ceiling.reason}`);
|
|
529
|
+
lines.push(` declared by ${ceiling.declaredBy}; the admitted corpus cannot supply this, and admitting ` +
|
|
530
|
+
`another repository BECAUSE it would move a tier is the move the selection rules forbid. ` +
|
|
531
|
+
`Published as a ceiling, not as work outstanding. Waives nothing`);
|
|
532
|
+
}
|
|
533
|
+
// The control's own disclosure. A swap that could not be made wrong tested nothing, which is
|
|
534
|
+
// why it left the denominator; printing the count is what keeps "0 of 196, 4 untestable" from
|
|
535
|
+
// reading as "0 of 196".
|
|
536
|
+
for (const weak of certificate.weakenedControls) {
|
|
537
|
+
const attempted = weak.constructed + weak.uncontrollable;
|
|
538
|
+
lines.push(` CONTROL WEAKENED — ${weak.repository} (${weak.edgeType}): ${weak.uncontrollable} of ${attempted} ` +
|
|
539
|
+
`control swaps could not be made wrong at all`);
|
|
540
|
+
lines.push(` Every candidate the pool offered for those rows was itself a real edge, so the swap tested ` +
|
|
541
|
+
`nothing and left the denominator. Scored over ${weak.constructed}. A genuine over-acceptance on ` +
|
|
542
|
+
`one of those rows would not have been counted`);
|
|
543
|
+
}
|
|
276
544
|
for (const cap of certificate.policyCaps) {
|
|
277
545
|
lines.push(` CAPPED BY POLICY — ${cap.id}: claims ${cap.claimed}, evidence supports ${cap.claimable}`);
|
|
278
546
|
lines.push(` pending ${cap.pendingOn}; declared by ${cap.declaredBy}. Not a limit — a deliberate under-claim`);
|
|
@@ -283,6 +551,42 @@ export function formatCertificate(certificate) {
|
|
|
283
551
|
else if (certificate.capabilitiesHonest === "unknown") {
|
|
284
552
|
lines.push(" capabilities() not compared against a run — DEC-075 §6.3 unverified here");
|
|
285
553
|
}
|
|
554
|
+
// COVERAGE, NOT CORRECTNESS, and it is printed on every certificate including
|
|
555
|
+
// the ones that have nothing to say. A tier is a statement about how right the
|
|
556
|
+
// edges are; a reader handed only that will answer "how much of my codebase did
|
|
557
|
+
// you analyse" with it, and on this corpus the honest answer to that question is
|
|
558
|
+
// between 6.7% and 45.3%. Printed BEFORE the early return below, so a Tier S
|
|
559
|
+
// certificate does not skip it.
|
|
560
|
+
if (certificate.recall.state === "not-measured") {
|
|
561
|
+
lines.push(" RECALL — not measured");
|
|
562
|
+
lines.push(` ${certificate.recall.detail}`);
|
|
563
|
+
}
|
|
564
|
+
else {
|
|
565
|
+
for (const row of certificate.recall.rows) {
|
|
566
|
+
const rate = row.rate === null ? "undefined (nothing graded)" : `${(100 * row.rate).toFixed(1)}%`;
|
|
567
|
+
const coverage = row.coverage === null ? "—" : `${(100 * row.coverage).toFixed(1)}%`;
|
|
568
|
+
lines.push(` RECALL — ${row.repository}: ${rate} on the ${row.axis} axis ` +
|
|
569
|
+
`(${row.found}/${row.denominator}, ${row.drawn} drawn, coverage ${coverage})` +
|
|
570
|
+
(row.admissible ? "" : " <- DISQUALIFIED AS A FIGURE, not charged to the adapter"));
|
|
571
|
+
lines.push(` ${row.detail}; recorded by ${row.recordedBy}`);
|
|
572
|
+
if (row.secondAxis !== undefined) {
|
|
573
|
+
const second = row.secondAxis;
|
|
574
|
+
const secondRate = second.denominator === 0 ? "undefined" : `${((100 * second.found) / second.denominator).toFixed(1)}%`;
|
|
575
|
+
lines.push(` second axis ${second.axis}: ${second.found}/${second.denominator} = ${secondRate} ` +
|
|
576
|
+
`— reported beside the headline, never as it`);
|
|
577
|
+
}
|
|
578
|
+
if (row.generatedExcluded === undefined) {
|
|
579
|
+
// An undisclosed exclusion and no exclusion must not read the same.
|
|
580
|
+
lines.push(" no generated-code exclusion was recorded for this draw");
|
|
581
|
+
}
|
|
582
|
+
else {
|
|
583
|
+
const excluded = row.generatedExcluded;
|
|
584
|
+
lines.push(` generated code excluded: ${excluded.files} file(s), ${excluded.sites} drawn site(s), by ` +
|
|
585
|
+
`${excluded.rules.join(", ")} — the figure above is over a denominator that much smaller`);
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
lines.push(` ${certificate.recall.detail}`);
|
|
589
|
+
}
|
|
286
590
|
if (certificate.nextTier === null) {
|
|
287
591
|
lines.push(" nothing above this tier");
|
|
288
592
|
return lines.join("\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certify.js","sourceRoot":"","sources":["../../src/tiers/certify.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"certify.js","sourceRoot":"","sources":["../../src/tiers/certify.ts"],"names":[],"mappings":"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"}
|
package/dist/tiers/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { certify, formatCertificate } from "./certify.ts";
|
|
2
|
-
export type { ConformanceEvidence, EmptyPopulation, GateEvidence, PolicyCap, PrecisionDraw, StructuralLimit, TierCertificate, UnmetRequirement, } from "./certify.ts";
|
|
2
|
+
export type { ConformanceEvidence, CorpusCeiling, EmptyPopulation, GateEvidence, PolicyCap, PrecisionDraw, RecallAxis, RecallDisclosure, RecallDraw, RecallRuling, StructuralLimit, TierCertificate, UnmetRequirement, WeakenedControl, } from "./certify.ts";
|
|
3
3
|
export { LADDER, TIERS, requirementsFor } from "./ladder.ts";
|
|
4
4
|
export type { Requirement, RequirementKind, Tier, TierDefinition } from "./ladder.ts";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tiers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC1D,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,aAAa,EACb,eAAe,EACf,eAAe,EACf,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tiers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC1D,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/tiers/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tiers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tiers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAiB1D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@descryy/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Descry graph engine: storage, graph builder, query layer, traversal, diff scoping, git source, MCP server.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -33,6 +33,6 @@
|
|
|
33
33
|
"build": "tsc -b"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@descryy/ir": "0.
|
|
36
|
+
"@descryy/ir": "0.7.0"
|
|
37
37
|
}
|
|
38
38
|
}
|