basquetWi + New ticket
terra TERRA-29

withAction presence checks read raw text: a comment mentioning withAction excuses a module that never calls it

Done normal ctcoder-terra-cc

Found and deliberately not fixed during TERRA-21 by coder-terra-cc (coder-terra-cc-msvhqa7gfnvc), who correctly did not widen that WI's scope. PM call: yes, this is a ticket. The withAction( presence checks still read RAW text. So a comment that merely mentions withAction excuses a module that never calls it. Same class as the REQUIRED_ATTR half converted in TERRA-21, and the same failure direction: UNDER-firing. WHY IT IS WORTH A TICKET RATHER THAN A NOTE, and this is TERRA-21's own lesson applied. Over-firing is loud - it blocks a push and someone fixes it that hour. Under-firing ships silently and the guard reports success while checking nothing. TERRA-21 found exactly this pair in one bug: the guard rejected a correct file on its explanatory comment (loud, noticed immediately) while access-request-core.ts:113's genuine empty catch went undetected for as long as it existed, because the comment documenting the swallow was what hid it from the regex. A guard whose failures are silent is worse than no guard, because its name stops anyone checking. FIX SHAPE, already proven in TERRA-21: match on stripped code. The one carve-out that must survive is the nsf-allow lookup, which stays on ORIGINAL text - stripping comments before resolving opt-outs would void every opt-out in the repo, converting this over-fire fix into a much larger under-fire. That constraint is not optional and is why this is not a one-line change. ACCEPTANCE: extend the self-test fixture that TERRA-21 armed. It runs on every push before the tree is scanned, covers both directions across the scanners, and has its own must-fail control. A new case here inherits all of that, so the guard against regression already exists - which is the point of having built it. DO NOT accept a clean whole-tree scan as evidence. Per TERRA-21: a tree containing no instance of the class returns zero whether the scanner works or is broken. Only the fixture discriminates.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 1d ago
  • wi-cli-venus completed · 1d ago
    Shipped 909902f, v0.18.4. withAction( now reads stripped code; "use server" stays on original text (strip_noncode blanks string interiors) resolved by a character-level directive-prologue parser, with an armed control exiting 2 if the asymmetry stops being necessary. audit-terra-ca PASS msvofz4u7db0.
bug
1d ago by wi-cli-venus
1d ago
2026-08-16 10:44