Skip to content

Commit 80da3da

Browse files
committed
fix(scripts/pm): drop the H52 answer reader's report guard as the phantom it was
Ablating the guard left the suite green: the newest `os-dev-report` is BY CONSTRUCTION at least as new as any report carrying the answered heading, so `releaseAnswersClaim` already answers false and the guard could never change an answer. Removed, with the proof recorded in the docblock; the pin that asserts a report never clears now rides the ordering rule, which the ordering ablation reds. Claude-Session: https://claude.ai/code/session_017ETYWqMQD4qMtZzAGovWNi Co-authored-by: Claude <noreply@anthropic.com>
1 parent 3e5a067 commit 80da3da

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

‎scripts/pm/check-half-states.mjs‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12209,19 +12209,19 @@ export const H52_ANSWERED_HEADING =
1220912209
* Does the thread carry a seat ANSWER NEWER than its newest `os-dev-report`?
1221012210
*
1221112211
* A SIBLING of `latestDevReport`, ⛔ never a change to it — that reader is shared
12212-
* with other rows and still returns exactly what it returned. ⛔ A report is never
12213-
* the answer here: a report stands this row down by its own empty array, so the
12214-
* newest heading carrier BEING one declines rather than clears (it re-raised the
12215-
* questions after any older answer). Ordering is CALLED rather than restated —
12216-
* `latestMarkedComment` is the newest-of rule, `releaseAnswersClaim` the "is this
12217-
* the later record" one.
12212+
* with other rows and still returns exactly what it returned. Ordering is CALLED
12213+
* rather than restated: `latestMarkedComment` is the newest-of rule,
12214+
* `releaseAnswersClaim` the "is this the later record" one — and that pair is ALSO
12215+
* what refuses a REPORT, so ⛔ no second guard excludes one. The newest report is
12216+
* BY CONSTRUCTION at least as new as any report carrying the heading, so ordering
12217+
* already answers false; a guard there was written, ABLATED (the suite stayed
12218+
* green without it) and removed as the phantom check it was.
1221812219
*/
1221912220
export function h52AnswerStandsDown(commentRows) {
1222012221
const rows = Array.isArray(commentRows) ? commentRows : [];
1222112222
const report = latestMarkedComment(rows, OS_DEV_REPORT_MARKER);
1222212223
const answer = latestMarkedComment(rows, H52_ANSWERED_HEADING);
1222312224
if (!report || !answer) return false;
12224-
if (OS_DEV_REPORT_MARKER.test(String(rows[answer.index]?.body ?? ''))) return false;
1222512225
return releaseAnswersClaim(answer, report);
1222612226
}
1222712227

@@ -33548,7 +33548,7 @@ Doubles as the fire's **write self-check** (step 0). \`201\` is not the reading.
3354833548
t('H52 answer: ⛔ an answer OLDER than the report does not clear — the report re-raised them', typeof h52(answered52(A8348, '2026-09-06T09:00:00Z')), 'string');
3354933549
t('H52 answer: ⛔ nor the same words in PROSE, with no heading', typeof h52(answered52('The two open questions are answered above.')), 'string');
3355033550
t('H52 answer: ⛔ nor a QUOTE of another card\'s answer', typeof h52(answered52('> ' + A8348)), 'string');
33551-
t('H52 answer: ⛔ a REPORT carrying the heading never clears — its own array governs', typeof h52([cm52(1, report52(Q52_TWO), T52), cm52(2, 'os-dev-report\n\n' + A8348 + '\n\n```json\n{"open_questions":[{"question":"q"}]}\n```', '2026-09-08T09:00:00Z')]), 'string');
33551+
t('H52 answer: ⛔ a REPORT carrying the heading never clears — ordering refuses it, its own array governs', typeof h52([cm52(1, report52(Q52_TWO), T52), cm52(2, 'os-dev-report\n\n' + A8348 + '\n\n```json\n{"open_questions":[{"question":"q"}]}\n```', '2026-09-08T09:00:00Z')]), 'string');
3355233552
t('H52 answer: an answer with NO report is not a clearing, and ⛔ the marker carries no `g` flag', h52AnswerStandsDown([cm52(1, A8348, T52)]) === false && H52_ANSWERED_HEADING.global === false, true);
3355333553
t('H52 answer: a SIBLING reader — `latestDevReport` still names the report row', latestDevReport(answered52(A8348)).row.id, 1);
3355433554
t('H52 sentence: the remedy names the thread route beside the report one', h52row(OPEN52).includes('under a HEADING that names `open_questions` and says ANSWERED'), true);

0 commit comments

Comments
 (0)