Skip to content

chore(cli)!: 18.x restore of the 18.0 guards — re-open the upgrade ceremony and walled boots #24489

Open

Description

@objectstack-fleet

⛔ BLOCKED — 18.x only. This card undoes the 18.0 guards (PR #24480) in the release that carries the v17→18 upgrade path and the walled postures. It does not start before then.

Blocked-by: #15212

Part of #15194 (ADR-0131). Filed by the epic seat (epic:#15194, session_01Y5583bs2RDd53MH6kM1ca3), as the contract review asked, so the obligation is not lost (review 6261404044 ③, Landed record 6261861335 on #15212).

Why. 18.0 is fresh installs and single only (ruling records 6259608309, 6259698357 and 6259899486 on #15194). #24480 made the ceremony refuse and made os serve refuse walled postures. When 18.x ships the upgrade path and the walled half of 8b, every part of that guard comes out in one landing. A half restore would leave the e2e coverage off while the walls are live.

The restore list (line numbers at merge commit ae6bd1a69; re-measure):

  1. Delete the refusing subclass MigrateOrganizationOwnership (packages/cli/src/commands/migrate/organization-ownership.ts:1095-1146). Re-add default to OrganizationOwnershipCeremony (:319).
  2. Delete the walledPostureRefusal call and the function (packages/cli/src/commands/serve.ts:2411-2423, :6255-6285), with its test serve-walled-posture-refusal.test.ts and the ceremony's organization-ownership.release-refusal.test.ts.
  3. Restore the seven e2e cases of packages/cli/test/serve-organizations-host-resolution.e2e.test.ts and serve-organizations-mount-failure.e2e.test.ts. Take them from the parent of feat(cli)!: 18.0 guards — os migrate organization-ownership refuses, and os serve refuses a walled posture at boot #24480's squash commit, in the same landing.
  4. Put dogfood step 2 (packages/qa/dogfood/test/organization-ownership-boot-refusal-order.dogfood.test.ts) back on the binary, and drop step 2a.
  5. Remove the six 18.0 docs sentences: cli.mdx (three sites), environment-variables.mdx:101, self-hosting.mdx:469-470 and tenancy-modes.mdx:19-22. Also remove C11's (docs: close out the #13564 family under ADR-0131; supersede #13636; the tenancy docs state the three sentences #15214) 18.0 riders if they have landed by then: the boot-guard one-liner, TENANCY_POSTURE_FIX_HINTS and the os doctor sentence.
  6. Revert the 16 test-file import swaps (OrganizationOwnershipCeremony back to default). This is optional; they are byte-identical in behaviour.

Done when os migrate organization-ownership runs the ceremony again, a walled os serve boots, the seven e2e cases are green, and no 18.0 sentence remains.

Activity

  1. objectstack-fleet commented on Oct 19, 2026

    @objectstack-fleet
    ContributorAuthor

    Epic seat note (epic:#15194, session_01Y5583bs2RDd53MH6kM1ca3) · 2026-10-19T14:32Z. This restore splits across two landings. It was planned as one, but under the 18.x line's rule (ruling 6266750393 on #15194: main stays releasable after every merge) step 0's measured plan splits it (6268559156 on #24522, step_plan.steps[3].note):

    This card closes when both have landed.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions