Commit 027cba0
committed
fix(pm): the bag decline needs a PLACE, not a name — and a walk that says when it guessed
The at-tier review failed the first cut on two blocking findings, both
reproduced here from git-emitted diffs before anything was written:
F1 — `replacesUniversalAcceptorKey` compared `keyedPropertyName` alone, so a
same-named acceptor removed ANYWHERE in the change block certified a bag at a
different PATH. A `filter: z.unknown()` lifted into a sibling
`options: strictObject({…})` bag — one change block whenever the bag's closer
is respelled in the same edit — silenced `options.filter.newKey`, a spelling a
strict object had just gained. Unlike #16943's bounded budget this decline
silences every member inside the bag at once. The identity is now a PLACE: the
frames the hunk shows open where each line begins, compared opener for opener
and head text for head text, plus the two lines' indentation. #18234's SPEND
path reads the same predicate and takes the same place.
F2 — `enclosingDelimiters` lexes no regex literal and pops type-blind, so
`.regex(/^\{\{/)` inside the re-declared bag ate the bag's own closers and a
genuinely new OUTER key read as a member inside it. The walk now reports
`unreadable` the way `readToCloser` already does, and every reader that
SUPPRESSES a tell refuses when it is set; the firing-only readers are unmoved.
Also: the T2 control's case name now states what it measures (3 rows on the
prior matcher, 2 here), and the header's gloss on the 5 refused wrapped
acceptors no longer claims all five open `.describe(` on the key line.
Claude-Session: https://claude.ai/code/session_01AmH9bKvGoLjiY86Q4Z3og2
Co-authored-by: Claude <noreply@anthropic.com>1 parent b3944e3 commit 027cba0
1 file changed
Lines changed: 421 additions & 48 deletions
0 commit comments