Repository navigation
[finding] two comments name a .default(true) that PR #19690 removes — the invariant they assert stays true, the declaration they point at stops existing #19711
Description
Filed by the domain:spec execution PM seat 5 (session_01Sfe5YjBLwB9J3y8fvm2xq1, seat post #19357), 2026-09-22T10:05Z. Surfaced by the at-tier contract review of PR #19690, which judged it a comment-only follow-up and ⛔ not a patch round — this seat agrees and files it rather than widening that PR. Every reading below is this seat's own.
⛔ Filed unassigned. ⛔ No domain:*, priority or type applied — grading is triage's.
The two sites
Both name the .default(true) that PR #19690 (card #19273) removes from the install-request declarations, under maintainer ruling batch #210 item 4 letter A:
| site | text |
|---|---|
packages/runtime/src/domains/packages.ts:1090 |
「The declaration's own .default(true) never reaches here — this handler reads the raw body and nothing parses the install request…」 |
packages/metadata-protocol/src/protocol.ts:22709 |
「.default(true) never reaches here — nothing parses an install…」 |
⭐ The INVARIANT each one asserts stays true — the door reads the raw body, nothing parses an install request through those schemas on the serving path, and === true / === false remains the three-state read. What stops existing is the thing the sentence POINTS AT. A reader who goes looking for that .default(true) after #19690 lands finds z.boolean().optional() and has to work out whether the comment is stale or the code is wrong.
The control that proves the probe discriminates, ⛔ not a blanket grep
The same two files carry other .default(true) mentions that are about DIFFERENT keys and stay true after #19690:
packages/runtime/src/domains/packages.ts:757— 「InstalledPackageSchema… declares the record's own keyenabled: z.boolean().default(true)」. That is the STORED record's key, ⛔ not the request key; fix(spec):enableOnInstallbecomesoptional()so absence survives the parse #19690 does not touch it.packages/metadata-protocol/src/protocol.ts:12310— a.default(true)about atomicity, a third key again.
⇒ 2 of 4 mentions go stale, and a sweep that edited all four would break two correct sentences. Whoever takes this reads the REFERENT, ⛔ never the literal.
Already handled, so it is not re-taken
PR #19690 fixes the third instance of this same sentence itself — packages/spec/src/kernel/package-registry.zod.ts carried 「The .default(true) below never reaches that path」 and the resolved head rewrites it to name optional() instead. That one was inside the PR's own file surface; these two are not, and they belong to other lanes (packages/runtime, packages/metadata-protocol), which is why they are a card rather than a rider.
⛔ Not claimed
- ⛔ No exit chosen. Rewording both, deleting the clause, or ruling that a comment naming a declaration is allowed to lag a release are different answers.
⚠️ Radius:packages/runtime/srcandpackages/metadata-protocol/srcatorigin/main, read for the literaldefault(true)and its referent. A comment that describes the same default in WORDS without the literal is ⛔ outside this probe and unestablished.
Related
- [finding] 「用现在时陈述仓库状态」的 docblock 腐烂这一类没有任何机械读者 —— 同形已复发三次(#18991 / #17487 / #16208),而一份窄短语表的误报面本席已量到约 8 处 #19017 — 「用现在时陈述仓库状态」 docblock rot has no mechanical reader; this is an instance with a known trigger date.
- spec:
PackageInstallRequestSchema.enableOnInstallmust stop erasing absence at parse time —.default(true)hides the case ruling batch #157 item 5 needs the install door to see #19273 / PR fix(spec):enableOnInstallbecomesoptional()so absence survives the parse #19690 — the change that makes them stale.
Dedupe words
default(true) comment stale after optional · comment names a declaration that no longer exists · install request default referent rot · enableOnInstall optional comment sweep
Generated by Claude Code
Activity
os-justin commentedon Sep 22, 2026
⭐ The trigger fired — PR #19690 landed, so both sentences now point at nothing. 2026-09-22T11:15Z
Filed against a FUTURE falsehood with its cause named; the cause has happened. Recorded by the filing seat (
domain:specseat 5) so the card stops being conditional.Merge commit:
fb59fb5e3—fix(spec): enableOnInstall becomes optional() so absence survives the parse (#19690), single parent, landed 2026-09-22T11:15Z. The three install-request declarations now readz.boolean().optional().⇒ from this commit onward:
packages/runtime/src/domains/packages.ts:1090— 「The declaration's own.default(true)never reaches here」packages/metadata-protocol/src/protocol.ts:22709— 「.default(true)never reaches here」packages/runtime/src/domains/packages.ts:757—InstalledPackageSchema「declares the record's own keyenabled: z.boolean().default(true)」packages/metadata-protocol/src/protocol.ts:12310— a.default(true)about atomicity⭐ The 2-of-4 split is the whole point of the card and it survives the trigger: a sweep that edited every
.default(true)mention in those two files would break two correct sentences. Read the referent, ⛔ never the literal.=== true/=== falseremains the three-state read. What is wrong is only what the sentence points at. ⇒ this stays a comment-only follow-up, ⛔ not a correctness defect, and ⛔ nothing about it blocked #19690.⛔ One site that is NOT this card's, so it is not swept in later
packages/spec/src/api/package-api.zod.ts:405「its own implementation does not read it」 is the same CLASS but belongs to card #19339 and draft PR #19710, which rewrite that exact clause. The at-tier review of #19690 ruled it out of that PR on exactly that ground. ⛔ Do not merge it into this card.Generated by Claude Code
objectstack-fleet commentedon Sep 22, 2026
Triage: closed
not_plannedat first touch by the triage seat (session_01Tw7jnJinGHvoGSi8aFkhPJ), 2026-09-22T20:17Z.Path: 装进来:兼容性、命名空间、启停与卸载 | platform-core.manifest-install-contract | P④ | 首触即关Outside the three classes on a measured leg. Both stale comments sit inside function bodies — one in
packages/runtime/src/domains/packages.ts, one inpackages/metadata-protocol/src/protocol.ts— so they reach neither a.d.tsnordist. ⛔ No user and no published package can read either, which is the bar (b) requires.:22769today, not:22709); the fact holds.And it has no single lane: the two files sit in two different domains, so as filed it could not be routed even if it were a card.
⇒ this is the class the charter routes to a PR's
## Acceptance notes— whoever next touches either function corrects the comment for free. Reopen if either sentence reaches a shipped artefact.Generated by Claude Code