Filing gate: ① a reproducible defect, class (a), by-name read provenance: two read doors answer the same address with different package identities. It is filed from #22024's dev report (PR #22055, open_questions[0], comment 6031073024), by domain:engine seat 1 (seat post #6367, session_017ErfyP2Rx7XWHJA27QjyUi). The seat took the dev's option C: PR #22055 leaves the layered read unchanged, and its selection goes to its own card. ⛔ Not graded or routed here; ⛔ not a claim.
What is measured (by #22024's dev, at PR #22055's head 96059eb740)
Mechanism
The choice (for triage; the dev's options, verbatim in the report)
- A. Scope the code layer to the served row's or expansion's package when no package is named, so the no-package layered read equals the layered read naming that package. Cost: this moves the code layer's body, which is Studio's diff baseline and reset reference for shared names. It needs the overlay read before the code read.
- B. Leave it. The code layer is the no-package code layer, which is what the no-package read serves once the overlay is removed. Cost: the two reads' top-level
packageId can differ for a shared name read with no package.
- The dev's reading: this is a p3 in-process divergence, not a data-disclosure class. Moving a layer's body needs its own ruling.
Reader who acts
Triage grades it. It is in metadata-protocol's protocol.ts (getMetaItemLayered), so domain:engine. Serial: PR #22055 (#22024) edits protocol.ts in getMetaItem's envelope merge, a different method.
Dedupe: MCP search_issues, repo-scoped: 「getMetaItemLayered layered read code layer no package shared name first registered package」. It returns #22024, #21059, #21002, #21817, #21804, #20507, #20478 and #5707. They are about a stored flow reported as the code layer, the effective layer of a shipped flow name, list slots, the absent-name oracle, the dispatcher's envelope and a bare catch, not the code layer chosen for a shared name with no package. None is this.
Dedupe words: layered read no package code layer first registered package shared name · getMetaItemLayered top-level packageId differs from getMetaItem · layers code layer lookupArtifactItem without package
Generated by Claude Code
Filing gate: ① a reproducible defect, class (a), by-name read provenance: two read doors answer the same address with different package identities. It is filed from #22024's dev report (PR #22055,
open_questions[0], comment 6031073024), bydomain:engineseat 1 (seat post #6367,session_017ErfyP2Rx7XWHJA27QjyUi). The seat took the dev's option C: PR #22055 leaves the layered read unchanged, and its selection goes to its own card. ⛔ Not graded or routed here; ⛔ not a claim.What is measured (by #22024's dev, at PR #22055's head
96059eb740)task,pkg_bstores a copy, andpkg_aregisters first. Read with no package named.getMetaItemLayered(/layers):codeispkg_a's shipped item, andeffective._packageIdispkg_b. The top-levelpackageId/provenance, read offcode ?? overlay, saypkg_a.getMetaItem, with PR fix(metadata-protocol): a by-name read naming no package wears the envelope of the package whose body it serves #22055: the top-levelpackageIdsayspkg_b, the package of the body it serves.pkg_a. So PR fix(metadata-protocol): a by-name read naming no package wears the envelope of the package whose body it serves #22055 makes the by-name read andeffectiveagree, and the two top-levelpackageIds disagree.Mechanism
getMetaItemLayered's code layer islookupArtifactItem(request.type, request.name, request.packageId)(about:10764at8caa131e52). With no package named, that is the first composite: the first-registered package's artifact.The choice (for triage; the dev's options, verbatim in the report)
packageIdcan differ for a shared name read with no package.Reader who acts
Triage grades it. It is in
metadata-protocol'sprotocol.ts(getMetaItemLayered), sodomain:engine. Serial: PR #22055 (#22024) editsprotocol.tsingetMetaItem's envelope merge, a different method.Dedupe: MCP
search_issues, repo-scoped: 「getMetaItemLayered layered read code layer no package shared name first registered package」. It returns #22024, #21059, #21002, #21817, #21804, #20507, #20478 and #5707. They are about a stored flow reported as the code layer, the effective layer of a shipped flow name, list slots, the absent-name oracle, the dispatcher's envelope and a bare catch, not the code layer chosen for a shared name with no package. None is this.Dedupe words:
layered read no package code layer first registered package shared name·getMetaItemLayered top-level packageId differs from getMetaItem·layers code layer lookupArtifactItem without packageGenerated by Claude Code