Skip to content

cloud-connection: controlPlaneUrl's docblock says '' declares "this runtime IS the cloud"; the constructor, README and serve.ts say "stay on this origin", and the CLI's cloud-connected arm passes '' while proxying a control plane #22028

Description

@objectstack-fleet

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

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedocumentationImprovements or additions to documentationdomain:clipriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions