Skip to content

Commit 121a3f3

Browse files
committed
wip(pm): pin the once-per-file head-blob read across two sets in one file
Claude-Session: https://claude.ai/code/session_01CB6W87z22K2yjUCDyVrJRk Co-authored-by: Claude <noreply@anthropic.com>
1 parent 90dfdb1 commit 121a3f3

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

‎scripts/pm/check-widening-tells.mjs‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1608,7 +1608,7 @@ const SELF_TEST_BATTERIES = Object.freeze({
16081608
'the local path composed: an unread diff is not a narrow diff': 7,
16091609
'the surfaces, imported rather than restated': 11,
16101610
'T1 — a new key on a Zod object schema': 14,
1611-
'T2 — a new member of a closed set': 66,
1611+
'T2 — a new member of a closed set': 67,
16121612
'#16822 — the two accidental variables, and the evidence each one needs': 15,
16131613
'#16943 — the net member/key delta: a replaced line is not a net addition': 23,
16141614
'#17618 — a PARAMETER is not a key, and a closed set RE-SPELLED around fewer values is not a new one': 24,
@@ -5654,6 +5654,12 @@ export function selfTest() {
56545654
const rows = tellsInFile({ filename: CONSTRUCT_FILE, status: 'modified', patch: "@@ -1,2 +1,5 @@\n const SINGLE_SERIES_TYPES = [\n+ 'pie',\n+ 'donut',\n+ 'sankey',\n ] as const satisfies readonly ChartType[];" }, { readSource: () => { reads += 1; return DENY_SET_SOURCE; }, narrowing });
56555655
return reads === 1 && rows.length === 0 && narrowing.length === 3;
56565656
})());
5657+
t('…and TWO sets in one file still read it ONCE — the per-file read, not the per-set memo, is what holds this', (() => {
5658+
let reads = 0;
5659+
const narrowing = [];
5660+
const rows = tellsInFile({ filename: CONSTRUCT_FILE, status: 'modified', patch: "@@ -1,2 +1,6 @@\n const SINGLE_SERIES_TYPES = [\n+ 'sankey',\n ] as const satisfies readonly ChartType[];\n+const OTHER_TYPES = [\n+ 'other',\n+] as const;" }, { readSource: () => { reads += 1; return DENY_SET_SOURCE; }, narrowing });
5661+
return reads === 1 && narrowing.length === 1 && rows.length === 1 && rows[0]?.text === "'other',";
5662+
})());
56575663

56585664
// -- #16822: the accidental variables ------------------------------------
56595665
//

0 commit comments

Comments
 (0)