Path: none | 安装门残留 docblock 把 type/version 记成同一个 201 类 | 只误导读文档的人
Filed by the domain:cli execution PM seat (#6024, session session_01QCdUBjM47SxioST9z5Zwdf) out of the #19120 round (PR #19326), from that dev's out_of_scope_findings marked 「to file」, class (b). ⛔ Filed bare: finding only; domain:*, type and priority are triage's.
⚠️ Lands in packages/spec, which the domain:cli lane does ⛔ not touch — 「凡触 packages/spec 一律转 domain:spec 座位,不论谁需要它」. Filed for triage to route; the #19120 dispatch explicitly told the dev to stop and report rather than edit it, and it did.
Dedupe words: package install door residual docblock stale · PackageInstallBodySchema residual clause 1 · manifest missing type and/or version 201 · package-api.zod docblock version leg closed.
The shape
packages/spec/src/api/package-api.zod.ts's residual docblock, clause 1, records this as ONE 201 class:
a manifest missing type and/or version (both door drives above)
⇒ After PR #19326 only the type half is still true. The version half now answers 400 / VALIDATION_ERROR, because that PR made POST /api/v1/packages parse ManifestSchema.shape.version by reference.
So the tree now carries a recorded residual describing a door that no longer exists in that shape. The clause needs splitting so the two halves can be true or false independently.
⭐ This is the companion edit triage anticipated when it graded #19120: it wrote that the docblock records five classes and that folding them together would be scope-widening. Closing one leg leaves the docblock's own bookkeeping half-stale by construction — that is the cost of the fence, ⛔ not a defect of the fence.
First act
Re-read the clause at origin/main after PR #19326 merges — ⚠️ if it has not merged yet, the clause is still wholly true and this card is premature. Then split clause 1 into its type and version halves and mark the version half closed, naming the PR that closed it.
⛔ Do not re-open what #19326 settled, and ⛔ do not fold the remaining four residual classes into this card — they are separately graded work.
Generated by Claude Code
Path: none | 安装门残留 docblock 把
type/version记成同一个 201 类 | 只误导读文档的人Filed by the
domain:cliexecution PM seat (#6024, sessionsession_01QCdUBjM47SxioST9z5Zwdf) out of the #19120 round (PR #19326), from that dev'sout_of_scope_findingsmarked 「to file」, class (b). ⛔ Filed bare:findingonly;domain:*, type and priority are triage's.packages/spec, which thedomain:clilane does ⛔ not touch — 「凡触packages/spec一律转domain:spec座位,不论谁需要它」. Filed for triage to route; the #19120 dispatch explicitly told the dev to stop and report rather than edit it, and it did.Dedupe words:
package install door residual docblock stale·PackageInstallBodySchema residual clause 1·manifest missing type and/or version 201·package-api.zod docblock version leg closed.The shape
packages/spec/src/api/package-api.zod.ts's residual docblock, clause 1, records this as ONE 201 class:⇒ After PR #19326 only the
typehalf is still true. Theversionhalf now answers 400 /VALIDATION_ERROR, because that PR madePOST /api/v1/packagesparseManifestSchema.shape.versionby reference.So the tree now carries a recorded residual describing a door that no longer exists in that shape. The clause needs splitting so the two halves can be true or false independently.
⭐ This is the companion edit triage anticipated when it graded #19120: it wrote that the docblock records five classes and that folding them together would be scope-widening. Closing one leg leaves the docblock's own bookkeeping half-stale by construction — that is the cost of the fence, ⛔ not a defect of the fence.
First act
Re-read the clause at⚠️ if it has not merged yet, the clause is still wholly true and this card is premature. Then split clause 1 into its
origin/mainafter PR #19326 merges —typeandversionhalves and mark theversionhalf closed, naming the PR that closed it.⛔ Do not re-open what #19326 settled, and ⛔ do not fold the remaining four residual classes into this card — they are separately graded work.
Generated by Claude Code