You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cloud: take ownership of the control-plane contracts — local declarations for the six spec/cloud control-plane schemas, 12 import sites re-pointed (step 1 of 3 of the #16325 ruling) #16450
Step 1 of 3 of the #16325 ruling (director seat, decision batch #62, 2026-09-07, option B — cut by owner). Maintainer direction, verbatim: 「我一直觉得 cloud 的协议应该放在云端,没必要开源」.
Ordering is a hard constraint: cloud stops importing (this card) and objectui drops its re-export (objectui card) before objectstack deletes the ./cloud subpath (#16325 itself, pm:blocked on both).
Scope (in objectstack-ai/cloud)
Bring the six control-plane files into the cloud repo as its own declarations: environment.zod, environment-package.zod, tenant.zod, developer-portal.zod, marketplace-admin.zod, app-store.zod (2087 lines at objectstack d5d8d50db). Intra-directory edge to cut: app-store and developer-portal import marketplace.zod, which stays in the open-source spec as package format — import it from the relocated open-source path when [Decision] Should the cloud control-plane contracts leave @objectstack/spec and live in the cloud repo? (upstream of #12036) #16325 lands, from @objectstack/spec/cloud until then.
Step 1 of 3 of the #16325 ruling (director seat, decision batch #62, 2026-09-07, option B — cut by owner). Maintainer direction, verbatim: 「我一直觉得 cloud 的协议应该放在云端,没必要开源」.
Ordering is a hard constraint: cloud stops importing (this card) and objectui drops its re-export (objectui card) before objectstack deletes the
./cloudsubpath (#16325 itself,pm:blockedon both).Scope (in
objectstack-ai/cloud)environment.zod,environment-package.zod,tenant.zod,developer-portal.zod,marketplace-admin.zod,app-store.zod(2087 lines at objectstackd5d8d50db). Intra-directory edge to cut:app-storeanddeveloper-portalimportmarketplace.zod, which stays in the open-source spec as package format — import it from the relocated open-source path when [Decision] Should the cloud control-plane contracts leave@objectstack/specand live in the cloud repo? (upstream of #12036) #16325 lands, from@objectstack/spec/clouduntil then.@objectstack/spec/clouddeclares camelCase rows but the/api/v1/cloud/*control plane speaks snake_case — the cloud contracts are not the wire types, so 15 client methods cannot be bound to them #12036 comment 5520459478, re-confirmed at clouddaaac081), including the runtimeProvisionEnvironmentRequestSchema.parse(request)atpackages/service-tenant/src/environment-provisioning.ts:750.@objectstack/spec/clouddeclares camelCase rows but the/api/v1/cloud/*control plane speaks snake_case — the cloud contracts are not the wire types, so 15 client methods cannot be bound to them #12036 becomes cloud's internal style: pick one (the wire is snake_case today) and make the declarations match the wire — that is the whole point of the move.Acceptance
@objectstack/spec/cloudremain in cloud (with a firing control on the same grep)Environmentliterals compile against the local declarations@objectstack/specand live in the cloud repo? (upstream of #12036) #16325 notified when landedRefs #16325, #12036 (superseded), objectstack
packages/spec/src/cloud/.