Skip to content

feat(cli,runtime)!: 18.x step 6: open the upgrade ceremony for v17 and 18.0 databases (and the deferred flips) #24582

Open

Description

@objectstack-fleet

Filing gate ③: a task the maintainer directed. It is a step of the 18.x line, under ruling records 6266750393 and 6267391172 on #15194. It is filed from step 0's measured plan: os-dev-report 6268559156 on #24522, step_plan.steps[5], plus its line_facts F1–F6 and flags.

  • Reader who acts: the epic seat (epic:#15194, session_01Y5583bs2RDd53MH6kM1ca3).
  • Dedupe: none.

Part of #15212 (C8) and #24489 · Step 6: opening the ceremony · ⛔ Not an 18.0 gate.

The line's rule (binding)

Once merged, main stays releasable:

Ordering: after step 5 (5a–5d) has merged, and after the maintainer rules on how an 18.0 database is recognised (Q3 in 6268559156).

Scope (from the measured plan; re-measure before building)

  • chore(cli)!: 18.x restore of the 18.0 guards — re-open the upgrade ceremony and walled boots #24489, items 1, 4 and 6. Delete the refusing MigrateOrganizationOwnership subclass and restore the default export to OrganizationOwnershipCeremony. Delete the release-refusal test. Put dogfood boot-refusal-order step 2 back on the binary. The 19 import sites are optional.
  • The deferred flips (PR 2b from step 2). sys_secret and sys_flow_credential go to tenant:false, landing together with the open ceremony (F2). Their inventory rows become column-drop.
  • The guard's verdict on an 18.0 database (F4), and the step-set check (F5). A verified marker from a shorter ceremony must not certify the database.
    • The decision: (a) a birth marker written by the guard on a datastore created from empty, or (b) shape probes added to findV17ShapeTables.
    • It amends the migration.zod.ts:181-185 prohibition if (a). The maintainer rules it.
  • The boot-guard refusal text. Stop telling an 18.0 database to "keep on 17.x" (out-of-scope finding 1).
  • Close the tenancy: { enabled: false } gap in the guard (boot-guard.ts:205 checks only systemFields.tenant).
  • R2 and R3 are restated in the harness, by name.

Not dispatched yet. The seat claims it when its ordering is met.

Activity

  1. objectstack-fleet commented on Oct 19, 2026

    @objectstack-fleet
    ContributorAuthor

    Epic seat (epic:#15194, session_01Y5583bs2RDd53MH6kM1ca3) · 2026-10-19T14:31Z. Ordering of the 18.x line (ruling 6266750393), recorded so the unlock scan can read it:

    Blocked-by: #24581

    It also waits on the maintainer's ruling on Q3 of 6268559156 (how an 18.0 database is recognised).

  2. objectstack-fleet commented on Oct 19, 2026

    @objectstack-fleet
    ContributorAuthor

    Epic seat (epic:#15194, session_01Y5583bs2RDd53MH6kM1ca3) · 2026-10-19T14:43Z. The decision this card waited on is ruled, in record 6269955919 on #15194.

    The maintainer chose ① A, a birth marker, and on the field design replied 「同意」 and then 「同意shapeGeneration」. The guard writes the marker exactly once, on a datastore created from empty. It carries { shapeGeneration, platformVersion, commit, createdAt }, and the guard decides on shapeGeneration alone; it never compares versions. The ceremony's verified marker carries shapeGeneration too, and marker.shapeGeneration < current → refuse. That also closes F5.

    Remaining ordering:

    Blocked-by: #24581

  3. objectstack-fleet commented on Oct 19, 2026

    @objectstack-fleet
    ContributorAuthor

    Epic seat (epic:#15194, session_01Y5583bs2RDd53MH6kM1ca3) · 2026-10-19T14:48Z. Steps 5 and 6 now land together, as ONE merge. This follows the ruling that only complete features merge into main (#15194, posted just now, quoting 「…都不是开发了一半的,都是某个完整的功能」).

    One branch carries both: #24581's ceremony steps (5a–5d) and #24582's opening of the ceremony. They are reviewed part by part and merged once, when os migrate organization-ownership really upgrades v17 and 18.0 databases. That merge is likely Tier H by size, so the maintainer approves it. The step-5 card and the step-6 card close on that one landing.

  4. objectstack-fleet commented on Oct 19, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: epic seat round · 2026-10-19T20:37Z
    Session: session_01Y5583bs2RDd53MH6kM1ca3
    Account: os-steve (the card's assignee)
    Branch: claude/issue-24581-ceremony-open (the same branch as #24581: one branch and one landing for steps 5 and 6, per ruling 6270035914; the full claim, with the file surface, is on #24581).
    Worktree: the cloud session's own checkout (mode:cloud)
    Domain: domain:engine
    Seat: epic:#15194 (the epic lane)
    Base, and an early start. Steps 2 and 3 have merged (#24590 b12e16a56, #24587 fbafb8533). Step 1, PR #24588, is green and clean, and waits only on the maintainer's approval. The maintainer's standing order is 「你正常开发就行,只要确保你合并进main的代码都不是开发了一半的」. So this branch starts from origin/main, merged with origin/claude/issue-24529-8b0g-webhooks-registry (#24588's head), because 5a needs the declared-webhook reader. ⛔ It lands only after #24588 and step 4 (#24580) have merged and this branch has merged main again.
    The rulings that unblock it:

  5. objectstack-fleet commented on Oct 19, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report pointer: steps 5 and 6 land as one PR, #24681 (ruling 6270035914). This card's items are covered by it: #24489 items 1, 4 and 6; the sys_secret and sys_flow_credential flips with their column-drops; the guard's birth marker and shapeGeneration verdict, plus the step-set check (F5); the refusal text; and the tenancy:{enabled:false} gap. R2 and R3 are restated by name in upgrade-18x-harness.dogfood.test.ts, 8/8 green. The full report is on #24581.


    Generated by Claude Code

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