ccqa 1.38.0 → 1.39.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/bin/ccqa.mjs +9 -10
- package/dist/package.json +1 -1
- package/package.json +1 -1
package/dist/bin/ccqa.mjs
CHANGED
|
@@ -9390,8 +9390,8 @@ z.object({
|
|
|
9390
9390
|
*
|
|
9391
9391
|
* This is the whole re-run computation, not an accelerator for it. Each spec's
|
|
9392
9392
|
* baseline sits at a different position in the log, so the question is always
|
|
9393
|
-
* "since *this* spec last ran, was it ever needed" —
|
|
9394
|
-
* against the
|
|
9393
|
+
* "since *this* spec last ran, was it ever needed" — one integer comparison
|
|
9394
|
+
* against the `needed` position kept here. Re-deriving it per read is impossible
|
|
9395
9395
|
* anyway: the selections were made by a model against each deploy's diff, and
|
|
9396
9396
|
* neither the diff nor the model is available at read time.
|
|
9397
9397
|
*
|
|
@@ -19041,8 +19041,7 @@ function freshness(baselineSha, key, range) {
|
|
|
19041
19041
|
const baselinePos = positionBySha.get(baselineSha);
|
|
19042
19042
|
if (baselinePos === void 0) return unanswerable("deployedShaNotInLog");
|
|
19043
19043
|
const baselineIndex = log.entries[baselinePos].index;
|
|
19044
|
-
const
|
|
19045
|
-
const touched = touch?.needed;
|
|
19044
|
+
const touched = touchIndex[key]?.needed;
|
|
19046
19045
|
if (touched && touched.index > baselineIndex) {
|
|
19047
19046
|
const entry = range.entryByIndex.get(touched.index);
|
|
19048
19047
|
return {
|
|
@@ -19053,7 +19052,6 @@ function freshness(baselineSha, key, range) {
|
|
|
19053
19052
|
}
|
|
19054
19053
|
if (range.gapFromPos[baselinePos + 1]) return unanswerable("gapInRange");
|
|
19055
19054
|
if (range.noSelectionFromPos[baselinePos + 1]) return unanswerable("noSelectionInRange");
|
|
19056
|
-
if (touch?.undecidedIndex !== void 0 && touch.undecidedIndex > baselineIndex) return unanswerable("selectionUnknown");
|
|
19057
19055
|
return { kind: "current" };
|
|
19058
19056
|
}
|
|
19059
19057
|
function deployRef(entry) {
|
|
@@ -21300,10 +21298,11 @@ function appendDeploy(current, input) {
|
|
|
21300
21298
|
/**
|
|
21301
21299
|
* Fold one deploy's selection into the touch index.
|
|
21302
21300
|
*
|
|
21303
|
-
* Only
|
|
21304
|
-
*
|
|
21305
|
-
*
|
|
21306
|
-
*
|
|
21301
|
+
* Only `needed` moves a position a verdict reads. An `unknown` records the
|
|
21302
|
+
* newest undecided position too, but that one is record-only (ADR-0023) —
|
|
21303
|
+
* freshness reads an undecided judgment as "did not reach". A `notNeeded`
|
|
21304
|
+
* writes neither — it is the absence of a marker at this position, which is
|
|
21305
|
+
* exactly what a later baseline comparison reads it as.
|
|
21307
21306
|
*
|
|
21308
21307
|
* Positions only ever advance. Deploys are folded in log order, so a spec
|
|
21309
21308
|
* needed at #7 and cleared at #9 keeps `needed.index: 7`: a baseline at #5
|
|
@@ -21366,7 +21365,7 @@ function createRecordDeployHandler(storage) {
|
|
|
21366
21365
|
}
|
|
21367
21366
|
/**
|
|
21368
21367
|
* Record what this deploy's selection decided, so a later read can answer each
|
|
21369
|
-
* spec's own range
|
|
21368
|
+
* spec's own range by comparing positions.
|
|
21370
21369
|
*
|
|
21371
21370
|
* It does not fail the request: the log is the record of what shipped and has
|
|
21372
21371
|
* to land even if the fold cannot. What a lost fold must not do is *look* like
|
package/dist/package.json
CHANGED