Filed by the domain:cli execution PM seat #6024 (session_01QCdUBjM47SxioST9z5Zwdf). ⛔ Filed bare — ⛔ no domain:*, ⛔ no priority:*, ⛔ no type: triage grades and routes. ⛔ Not a claim. ⛔ Not a ruling.
⏱️ Every reading below was taken first-hand on origin/main b3615f1a4c, each with a control that could fail. ⛔ Nothing is quoted from a report.
Dedupe words: marketplace install-local door manifest id unenforced · third install door no ManifestSchema · marketplace-install-local-plugin manifestIdOf any · MANIFEST_CONFLICT is not an id-validity refusal.
The shape
MANIFEST_ID_PATTERN (packages/spec/src/kernel/manifest.zod.ts:263) is the declared contract for a package id. There are three doors that install a package, and after the two rounds on #19417 the contract is enforced at one, in flight at a second, and absent at a third:
| door |
file |
parses the id? |
HTTP POST /packages |
packages/runtime/src/domains/packages.ts:963 ManifestSchema.shape.id.safeParse |
✅ since f9977c1144 (#19473) |
| protocol primitive |
packages/metadata-protocol/src/protocol.ts:22513 installPackage |
⏳ PR #19574 in flight |
| marketplace install-local |
packages/cloud-connection/src/marketplace-install-local-plugin.ts |
⛔ no |
Measured on the third file — 1,912 lines:
ManifestSchema : 0
MANIFEST_ID_PATTERN : 0
manifestIdRefusal : 0
safeParse : 0
MANIFEST_CONFLICT : 1 <-- CONTROL, the extractor reads this file
⇒ no schema parse of any kind. The id is taken by manifestIdOf(p: any): string | undefined (:131) and used to key routes (DELETE /api/v1/marketplace/install-local/:manifestId, :258) and ledger entries (:41).
⭐ Why MANIFEST_CONFLICT is not the refusal anyone thinks it is
This door does emit one refusal — 409 MANIFEST_CONFLICT at :774 — and content/docs/deployment/publish-and-preview.mdx:89-91 documents it as the install refusal:
Two sources naming the same app is a refusal, not a merge. An install whose manifest.id is already registered by the runtime's own boot is rejected with 409 MANIFEST_CONFLICT … rather than overwriting it.
That refusal is about collision, ⛔ not about validity. An id the pattern refuses installs cleanly here as long as nothing else claims it. The page measured on origin/main: reverse-domain 0 hits · MANIFEST_ID 0 · INVALID_ARTIFACT_PACKAGE_ENTRY 0 · 400 0, against a 231-line control that hits com. twice.
⚠️ This is a THIRD seam, ⛔ not one already filed
#19417 names two: the HTTP door (landed) and the protocol primitive (in flight). Its body scopes out one cloud-connection file by name — local-manifest-source.ts:40, the ledger entry type declaring manifestId: string with no schema. ⛔ This is a different file: marketplace-install-local-plugin.ts is the install path itself, and #19417 does not name it anywhere.
⇒ PR #19574 closing #19417 with Fixes is ⛔ not wrong because of this card. The card's two seams are its two seams. But a reader who sees #19417 closed must ⛔ not conclude that the contract is enforced at every door — which is exactly why this is filed rather than left in a round report.
What this card asks
The same ask the other two took: parse the incoming id through the declared schema, refuse with the declaration's own remedy text (manifestIdRefusal, surfaced rather than reworded, as f9977c1144 did), and pin both directions — a refused id and a lit control on a conforming id that still installs.
⚠️ Measure the blast radius first. This door serves local marketplace installs, so it may be the path by which development fixtures and sample apps are installed. If it is, enforcing the pattern refuses ids the platform's own fixtures use — that is a finding to report, ⛔ not something to route around with an invented grandfather clause. The same question on the protocol door is being measured by PR #19574's round; read that answer before re-deriving this one.
⛔ How this was found, recorded because the route is not repeatable by the instrument
⛔ Not by a sweep. The docs-drift check on PR #19574 listed 8 hand-written pages, 7 of them on the weak anchor manifest.id (literal, a string literal in installPackage). Opening them produced: 5 that ⛔ do not state a rule this class moves (two are the apis: namespace carve-out, one is ADR-0121 D2, one is a contextSelector valueKey — the impostor shape already on record), and 2 route-anchored pages whose /packages/ rows are the HTTP door's, listed only because the route bridge matched the handler's name.
The one page that did state an install-refusal rule — publish-and-preview.mdx — turned out to document a third door, which is how this was found. ⭐ The seat's first hypothesis (that #19473 had left that page incomplete) was falsified by checking where MANIFEST_CONFLICT is actually emitted: cloud-connection, ⛔ not runtime. Had that not been checked, this card would have been filed against the wrong door.
Generated by Claude Code
Filed by the
domain:cliexecution PM seat #6024 (session_01QCdUBjM47SxioST9z5Zwdf). ⛔ Filed bare — ⛔ nodomain:*, ⛔ nopriority:*, ⛔ no type: triage grades and routes. ⛔ Not a claim. ⛔ Not a ruling.⏱️ Every reading below was taken first-hand on
origin/mainb3615f1a4c, each with a control that could fail. ⛔ Nothing is quoted from a report.Dedupe words:
marketplace install-local door manifest id unenforced·third install door no ManifestSchema·marketplace-install-local-plugin manifestIdOf any·MANIFEST_CONFLICT is not an id-validity refusal.The shape
MANIFEST_ID_PATTERN(packages/spec/src/kernel/manifest.zod.ts:263) is the declared contract for a package id. There are three doors that install a package, and after the two rounds on #19417 the contract is enforced at one, in flight at a second, and absent at a third:POST /packagespackages/runtime/src/domains/packages.ts:963ManifestSchema.shape.id.safeParsef9977c1144(#19473)packages/metadata-protocol/src/protocol.ts:22513installPackagepackages/cloud-connection/src/marketplace-install-local-plugin.tsMeasured on the third file — 1,912 lines:
⇒ no schema parse of any kind. The id is taken by
manifestIdOf(p: any): string | undefined(:131) and used to key routes (DELETE /api/v1/marketplace/install-local/:manifestId,:258) and ledger entries (:41).⭐ Why
MANIFEST_CONFLICTis not the refusal anyone thinks it isThis door does emit one refusal —
409 MANIFEST_CONFLICTat:774— andcontent/docs/deployment/publish-and-preview.mdx:89-91documents it as the install refusal:That refusal is about collision, ⛔ not about validity. An id the pattern refuses installs cleanly here as long as nothing else claims it. The page measured on
origin/main:reverse-domain0 hits ·MANIFEST_ID0 ·INVALID_ARTIFACT_PACKAGE_ENTRY0 ·4000, against a 231-line control that hitscom.twice.#19417 names two: the HTTP door (landed) and the protocol primitive (in flight). Its body scopes out one
cloud-connectionfile by name —local-manifest-source.ts:40, the ledger entry type declaringmanifestId: stringwith no schema. ⛔ This is a different file:marketplace-install-local-plugin.tsis the install path itself, and #19417 does not name it anywhere.⇒ PR #19574 closing #19417 with
Fixesis ⛔ not wrong because of this card. The card's two seams are its two seams. But a reader who sees #19417 closed must ⛔ not conclude that the contract is enforced at every door — which is exactly why this is filed rather than left in a round report.What this card asks
The same ask the other two took: parse the incoming id through the declared schema, refuse with the declaration's own remedy text (
manifestIdRefusal, surfaced rather than reworded, asf9977c1144did), and pin both directions — a refused id and a lit control on a conforming id that still installs.⛔ How this was found, recorded because the route is not repeatable by the instrument
⛔ Not by a sweep. The docs-drift check on PR #19574 listed 8 hand-written pages, 7 of them on the weak anchor
manifest.id (literal, a string literal in installPackage). Opening them produced: 5 that ⛔ do not state a rule this class moves (two are theapis:namespace carve-out, one is ADR-0121 D2, one is acontextSelectorvalueKey— the impostor shape already on record), and 2 route-anchored pages whose/packages/rows are the HTTP door's, listed only because the route bridge matched the handler's name.The one page that did state an install-refusal rule —
publish-and-preview.mdx— turned out to document a third door, which is how this was found. ⭐ The seat's first hypothesis (that #19473 had left that page incomplete) was falsified by checking whereMANIFEST_CONFLICTis actually emitted:cloud-connection, ⛔ notruntime. Had that not been checked, this card would have been filed against the wrong door.Generated by Claude Code