You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Filed unassigned by the os-dev seat implementing #11494 (session session_015ahemw8RcTgqtxrj15PEZx). Recording, not fixing — it moves a MEASURED POPULATION, which the header of --bridge-coverage attaches a before/after standard to, so it is not #11494's to fold in. No live instance on today's tree.
What
scripts/docs-audit/affected-docs.mjs has eight scans that ask "is a route: / client: declaration written here?". #11494 is closing the one spelling difference the card named ([ \t]* vs \s* after the colon). There is a second one, in the same family, one spelling further out — the word boundary on the key:
The other seven all match route/clientunanchored: declinedIn, the row recognizer routeRe, its nextRoute window delimiter, its in-window client match, the routesDeclared first term, codeLeads, outsideCode.
So subroute: and myclient: are a declaration to seven of the eight scans and not to the anchored one.
rows = [
{ route: 'GET /api/v1/gone', client: null }, // ← declared by NO `route:` key in this file
{ route: 'GET /api/v1/meta', client: 'meta.getTypes' },
]
A file declaring oneroute: produces two rows. The phantom carries a path nobody mounts, so it joins the UNREACHABLE population and drags the reach ratio down.
Why it is silent
The same reason #10683 and #10793 were: the partial-read verdict is keyed on the gap between rows and routesDeclared, and both terms read the unanchored spelling, so both moved together and no verdict fired — brokenScan 0, exit 0. outsideCode cannot see it either: the lead genuinely IS in code position. declarationsIn is the one scan that gets it right, and it is on the side of the ledger that would only have shown up as a shortfall, which is precisely what the arithmetic hides.
This is the identical silent shape #10683 / #10793 / #10901 each closed one instance of, arriving through a third discriminator.
#11494's fix gives the between-colon-and-value class one home (declLead). The key part is deliberately left as each call site's own argument, because unifying it is not free the way the class was:
Anchoring the other seven with \bremoves rows from the measured population. rows, routesDeclared, clientsDeclared and the 177 UNREACHABLE rows are the numbers the --bridge-coverage header requires a priced before/after for.
Un-anchor declarationsIn — makes the eight agree at the cost of being agreed-and-wrong; rejected on sight unless someone can name a key this is meant to catch.
Filed unassigned by the
os-devseat implementing #11494 (sessionsession_015ahemw8RcTgqtxrj15PEZx). Recording, not fixing — it moves a MEASURED POPULATION, which the header of--bridge-coverageattaches a before/after standard to, so it is not #11494's to fold in. No live instance on today's tree.What
scripts/docs-audit/affected-docs.mjshas eight scans that ask "is aroute:/client:declaration written here?". #11494 is closing the one spelling difference the card named ([ \t]*vs\s*after the colon). There is a second one, in the same family, one spelling further out — the word boundary on the key:declarationsInmatches/\b(route|client)\s*:…/— anchored.route/clientunanchored:declinedIn, the row recognizerrouteRe, itsnextRoutewindow delimiter, its in-windowclientmatch, theroutesDeclaredfirst term,codeLeads,outsideCode.So
subroute:andmyclient:are a declaration to seven of the eight scans and not to the anchored one.Measured (
cd932772,parseLedgerSource+bridgeCoverageFromdriven directly)⇒
rows 2 · routesDeclared 2 · clientsDeclared 1 · declined 0 · outsideCode 0 · brokenScan 0A file declaring one
route:produces two rows. The phantom carries a path nobody mounts, so it joins the UNREACHABLE population and drags the reach ratio down.Why it is silent
The same reason #10683 and #10793 were: the partial-read verdict is keyed on the gap between
rowsandroutesDeclared, and both terms read the unanchored spelling, so both moved together and no verdict fired —brokenScan 0, exit 0.outsideCodecannot see it either: the lead genuinely IS in code position.declarationsInis the one scan that gets it right, and it is on the side of the ledger that would only have shown up as a shortfall, which is precisely what the arithmetic hides.This is the identical silent shape #10683 / #10793 / #10901 each closed one instance of, arriving through a third discriminator.
Why #11494 did not fold it in
#11494's fix gives the between-colon-and-value class one home (
declLead). The key part is deliberately left as each call site's own argument, because unifying it is not free the way the class was:\bremoves rows from the measured population.rows,routesDeclared,clientsDeclaredand the 177 UNREACHABLE rows are the numbers the--bridge-coverageheader requires a priced before/after for.route: 'X'written in a comment becomes a real row #10683 and [finding] docs-audit: the ledger row recognizer now readscodeOnlybut still nottypeDeclRegions— a literal-unionroute:TYPE member still mints a silent phantom row #10793 each made explicitly, and it should be made explicitly here too rather than smuggled in under another card.Direction, not a prescription
\bis the correct answer on the merits (subrouteis notroute), and the move is free on today's tree. Needs the delta measured and stated, the way [finding] docs-audit: the ledger ROW recognizer reads raw text, so aroute: 'X'written in a comment becomes a real row #10683 / [finding] docs-audit: the ledger row recognizer now readscodeOnlybut still nottypeDeclRegions— a literal-unionroute:TYPE member still mints a silent phantom row #10793 stated theirs.declarationsIn— makes the eight agree at the cost of being agreed-and-wrong; rejected on sight unless someone can name a key this is meant to catch.route:whose value sits on the NEXT line is counted TWICE in the denominator —declinedInanddeclarationsIndisagree on whether a newline follows the colon #11494's route 1 did: the counting contract is violated the moment one lands, and it lands silently.Refs: #11494, #10901, #10793, #10794, #10683, #10500, #9896.