Skip to content

Commit 6d8fc4f

Browse files
committed
docs(spec): correct the declined-leg reason — the churn claim was cache-tainted
The previous commit message and this docblock justified declining the pre-existing `IScopedContext` leak partly on "330 lines of order-only churn in the ui shard". That measurement was taken against a dist turbo served from the shared cache, so it is VOID, not disproven. From a forced build this tree emits `ui.txt` and `automation.txt` byte-identical to main, and no such churn exists. The decision is unchanged and now rests only on what survives measurement: the leak is pre-existing (since #5945, on base as on head), it is outside this card's ruling, and closing it takes TWO names rather than one — so it is a change to a face this card does not own, with its own review. Claude-Session: https://claude.ai/code/session_01AmH9bKvGoLjiY86Q4Z3og2 Co-authored-by: Claude <noreply@anthropic.com>
1 parent e989c90 commit 6d8fc4f

1 file changed

Lines changed: 10 additions & 14 deletions

File tree

packages/spec/src/data/hook-api.ts

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -344,20 +344,16 @@ export interface HookApi {
344344
* repository — measured, at head, with the three-name variant applied. A
345345
* one-name patch publishes a HALF closure that READS closed, which is the
346346
* declared-not-enforced shape this repo refuses.
347-
* - The second of those two names is not free. Adding
348-
* `IScopedObjectRepository` to this entry moves the dts bundler's module
349-
* order enough to reorder members inside object type literals in the
350-
* UNRELATED `ui` shard: 330 lines, which `check:api-surface-declarations`
351-
* reports as "33 reshaped" and asks a reviewer to rule on. Measured as
352-
* order-only — identical token multiset, identical line count, nothing
353-
* added, removed or renamed — and the generator is stable against a fixed
354-
* dist, so it is noise rather than drift. But it is a verdict somebody has
355-
* to read, in a shard this card does not touch.
356-
*
357-
* Two names with a clean surface delta, or four names plus an adjudication in
358-
* someone else's shard: that is a trade for its own card and its own review,
359-
* not a rider on a FAIL remediation. The pre-existing leak is reported with
360-
* both measurements so that card can be written without re-deriving them.
347+
* - So it is a TWO-name change to a face this card does not own. Both names
348+
* are declared in `contracts/scoped-context.ts` and neither is introduced
349+
* to this entry by anything in this diff: `HookContext.api` has carried
350+
* the leak since #5945, on this card's base exactly as on its head. What
351+
* this file owes is the two names its OWN new declarations introduced.
352+
*
353+
* So: fixed here, the instances this card created; reported, the pre-existing
354+
* one, with the measurement that it takes two names rather than one — which is
355+
* the part a reader would otherwise get wrong. It is a card of its own, with
356+
* its own review, not a rider on a FAIL remediation.
361357
*
362358
* ⛔ `check:entry-nameability` is NOT the instrument that answers this. By its
363359
* own docblock it probes the CALL surface of VALUE exports that have a call

0 commit comments

Comments
 (0)