Part of #12865 (epic parent; unparked 2026-08-28 by maintainer ruling recorded there). Filed by epic PM session session_65d2faee-1ff4-4be8-be28-72b972c539d9.
Scope (the SDK half of one coordinated rename)
packages/client/src/index.ts: the projects method namespace becomes environments — all methods including the nested projects.packages block. No aliases (standing v5.0 rename rule; ADR-0006 D3 permanently declined a mapping layer).
- The declared unwrap shapes' keys follow the wire rename: the list shape's
projects key becomes environments (the total key stays), and every single-row project key becomes environment. The producer half is the paired cloud card (link in the comment below) — the two halves declare the SAME wire truth.
- The JSDoc sentence naming
ProjectProvisioningService.provisionProject: measured 2026-08-28 — zero hits for that class spelling in cloud's packages/service-cloud/src (positive control: the routes files exist and produce these envelopes). Measure what the server actually does today and rewrite the sentence to describe the running system truthfully (ADR-0006 D1 point 3). Do not copy the old class name forward.
- CLI consumers follow in the SAME PR:
packages/cli/src/commands/environments/list.ts, create.ts, show.ts — and measure the sibling files bind.ts, switch.ts, environments.test.ts for the same envelope/namespace consumption before assuming they are clean.
- Changeset: major for
@objectstack/client (breaking API rename); the changeset text carries the migration entry — that is the release-notes input. Never touch content/docs/releases/**.
Blocked-by: #12038
(PR #12848, which fixes #12038, edits packages/client/src/index.ts, packages/client/exported-any-returns.json, and the client tests — the same files this card must edit. Hard same-file serial: branch from main only AFTER PR #12848 merges. Its diff does not touch the projects block lines, but the exported-any-returns baseline overlaps textually.)
Landing constraint (HARD)
DRAFT PR; do not merge, do not arm auto-merge. Must land in the same coordinated release window as the producer half (cloud). Neither half ships alone: SDK-half-alone is ADR-0006 D3, permanently declined; the maintainer opens the window (see the epic parent).
Part of #12865 (epic parent; unparked 2026-08-28 by maintainer ruling recorded there). Filed by epic PM session
session_65d2faee-1ff4-4be8-be28-72b972c539d9.Scope (the SDK half of one coordinated rename)
packages/client/src/index.ts: theprojectsmethod namespace becomesenvironments— all methods including the nestedprojects.packagesblock. No aliases (standing v5.0 rename rule; ADR-0006 D3 permanently declined a mapping layer).projectskey becomesenvironments(thetotalkey stays), and every single-rowprojectkey becomesenvironment. The producer half is the paired cloud card (link in the comment below) — the two halves declare the SAME wire truth.ProjectProvisioningService.provisionProject: measured 2026-08-28 — zero hits for that class spelling in cloud'spackages/service-cloud/src(positive control: the routes files exist and produce these envelopes). Measure what the server actually does today and rewrite the sentence to describe the running system truthfully (ADR-0006 D1 point 3). Do not copy the old class name forward.packages/cli/src/commands/environments/list.ts,create.ts,show.ts— and measure the sibling filesbind.ts,switch.ts,environments.test.tsfor the same envelope/namespace consumption before assuming they are clean.@objectstack/client(breaking API rename); the changeset text carries the migration entry — that is the release-notes input. Never touchcontent/docs/releases/**.Blocked-by: #12038
(PR #12848, which fixes #12038, edits
packages/client/src/index.ts,packages/client/exported-any-returns.json, and the client tests — the same files this card must edit. Hard same-file serial: branch from main only AFTER PR #12848 merges. Its diff does not touch theprojectsblock lines, but the exported-any-returns baseline overlaps textually.)Landing constraint (HARD)
DRAFT PR; do not merge, do not arm auto-merge. Must land in the same coordinated release window as the producer half (cloud). Neither half ships alone: SDK-half-alone is ADR-0006 D3, permanently declined; the maintainer opens the window (see the epic parent).