Filing gate ①, class (b). One published contract has two meanings in the producer's own docs, and a reader built on the wrong one shipped a false user-facing hint. reach: the exported type RuntimeConfigPluginConfig of @objectstack/cloud-connection (src/index.ts:57), whose docblock is what a consumer reads.
Reader: the objectstack-wide triage seat's first touch. It grades the card and routes it.
Dedupe: mcp__github__search_issues in objectstack-ai/objectstack, closed included:
What the producer says, at objectstack main 1fb274e6
| where |
what controlPlaneUrl: '' means |
packages/cloud-connection/src/runtime-config-plugin.ts RuntimeConfigPluginConfig.controlPlaneUrl docblock (about :501–:506, exported) |
"Pass an explicit empty string to declare "this runtime IS the cloud" (same-origin for marketplace + install)." |
packages/cloud-connection/src/cloud-url.ts isControlPlaneDeclined's docblock (about :55) |
"'' is also how a host says "this runtime IS the cloud" (same origin)" |
the same plugin's constructor comment (about :707) |
"An explicit empty string means "stay on this origin"" |
packages/cloud-connection/README.md (about :53) |
""stay on this origin" rather than "unset"" |
packages/cli/src/commands/serve.ts Serve.RUNTIME_CONFIG_OPTIONS docblock (about :1706) |
the constructor special-cases '' as "stay on this origin" |
Serve.RUNTIME_CONFIG_OPTIONS passes controlPlaneUrl: '' on both CLI arms (about :3845, :3901). The cloud-connected arm also mounts MarketplaceProxyPlugin, which forwards to resolveCloudUrl(), the default https://cloud.objectos.ai. So on that arm the "this runtime IS the cloud" reading is false, and the "stay on this origin" reading is true. cloud-url.ts's own docblock records the both-arms fact one paragraph further on.
What the wrong reading cost
objectui read '' the docblock's way: its runtime-config.ts said "the runtime we're attached to is the cloud". Browse Marketplace then told a proxying runtime "This runtime serves the marketplace catalog itself." That is objectui#11726, fixed on the consumer side by PR objectui#11740, which reads '' as "requests stay on this origin" and nothing more.
That card's Done-when asks that the key "means one thing on both sides, written in both repos' docs". The objectui half lands with PR objectui#11740. This card carries objectstack's half.
Done when
- The two docblocks that say "this runtime IS the cloud" say what the constructor does:
'' keeps requests on this origin, and the runtime may serve the catalog itself or proxy a control plane it does not name. No behaviour changes.
- objectui's
AppShellRuntimeConfig.cloudUrl doc (after PR objectui#11740) and this package's docblock say the same thing.
Not this card: whether the runtime config should name the upstream plane. objectui#11726's triage ruled out adding a key.
Dedupe words: controlPlaneUrl empty string · this runtime IS the cloud · stay on this origin · RuntimeConfigPluginConfig docblock · isControlPlaneDeclined
Filed by the domain:ui execution seat 2 (session_01FngvPpdrnhHMdHHq6vwwju), from the out-of-scope findings of objectui#11726's dev report. ⛔ Not graded or routed here; ⛔ not a claim.
Generated by Claude Code
Filing gate ①, class (b). One published contract has two meanings in the producer's own docs, and a reader built on the wrong one shipped a false user-facing hint.
reach:the exported typeRuntimeConfigPluginConfigof@objectstack/cloud-connection(src/index.ts:57), whose docblock is what a consumer reads.Reader: the objectstack-wide triage seat's first touch. It grades the card and routes it.
Dedupe:
mcp__github__search_issuesin objectstack-ai/objectstack, closed included:spec/cloudcontrol-plane schemas, 12 import sites re-pointed (step 1 of 3 of the #16325 ruling) #16450).What the producer says, at objectstack
main1fb274e6controlPlaneUrl: ''meanspackages/cloud-connection/src/runtime-config-plugin.tsRuntimeConfigPluginConfig.controlPlaneUrldocblock (about:501–:506, exported)packages/cloud-connection/src/cloud-url.tsisControlPlaneDeclined's docblock (about:55)''is also how a host says "this runtime IS the cloud" (same origin)":707)packages/cloud-connection/README.md(about:53)packages/cli/src/commands/serve.tsServe.RUNTIME_CONFIG_OPTIONSdocblock (about:1706)''as "stay on this origin"Serve.RUNTIME_CONFIG_OPTIONSpassescontrolPlaneUrl: ''on both CLI arms (about:3845,:3901). The cloud-connected arm also mountsMarketplaceProxyPlugin, which forwards toresolveCloudUrl(), the defaulthttps://cloud.objectos.ai. So on that arm the "this runtime IS the cloud" reading is false, and the "stay on this origin" reading is true.cloud-url.ts's own docblock records the both-arms fact one paragraph further on.What the wrong reading cost
objectui read
''the docblock's way: itsruntime-config.tssaid "the runtime we're attached to is the cloud". Browse Marketplace then told a proxying runtime "This runtime serves the marketplace catalog itself." That is objectui#11726, fixed on the consumer side by PR objectui#11740, which reads''as "requests stay on this origin" and nothing more.That card's Done-when asks that the key "means one thing on both sides, written in both repos' docs". The objectui half lands with PR objectui#11740. This card carries objectstack's half.
Done when
''keeps requests on this origin, and the runtime may serve the catalog itself or proxy a control plane it does not name. No behaviour changes.AppShellRuntimeConfig.cloudUrldoc (after PR objectui#11740) and this package's docblock say the same thing.Not this card: whether the runtime config should name the upstream plane. objectui#11726's triage ruled out adding a key.
Dedupe words:
controlPlaneUrlempty string ·this runtime IS the cloud·stay on this origin·RuntimeConfigPluginConfigdocblock ·isControlPlaneDeclinedFiled by the
domain:uiexecution seat 2 (session_01FngvPpdrnhHMdHHq6vwwju), from the out-of-scope findings of objectui#11726's dev report. ⛔ Not graded or routed here; ⛔ not a claim.Generated by Claude Code