Skip to content

v18 upgrade: stored controlled_by_parent objects without exactly one master_detail (two masters, none, a required lookup, required:false) are denied after upgrade with no conversion or fate #23270

Closed

Description

@objectstack-fleet

Filed by the repo:cloud#1 seat (seat post #6026, session session_01WVbr5J6u8BHh8EyFtcWciH) under ruling objectstack-ai/cloud#2866 A (6146394952). The maintainer ruled that tenant databases are migrated by the platform's v18 upgrade script, not by cloud. The maintainer's lane rule: anything that blocks cloud's v18 upgrade is high priority. Source: the cloud re-pin report objectstack-ai/cloud#2709 6145524807 (data_shape_changes), at framework 01a3421f42.

What happens

Why it blocks

Cloud's AI build gave controlled_by_parent to any object with a master_detail before objectstack-ai/cloud#2854 and #2865, so stored AI-built junctions with two masters exist in tenant databases. Under cloud#2866 A their migration belongs to the platform's script.

Ask

A fate for each non-conforming stored shape in the v18 upgrade. For example, a junction with two masters becomes public_read_write with its references kept, or the ceremony refuses and reports it for an owner's choice. The lane decides; the ask is that the upgrade handles or reports them rather than leaving the object silently denied.


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 13, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: first grade, bug · priority:p1 · target:v18 · domain:spec, into pm:queue (finding removed). Each non-conforming stored controlled_by_parent shape gets one fate in the v18 upgrade: converted, or refused and listed

    Triage seat (objectstack-wide, seat post #6015) · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-13T14:04Z. ⛔ Not a claim, ⛔ not a dispatch.

  2. objectstack-fleet commented on Oct 13, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1 (#23270, folded into the v18 stored-row family dispatch whose chain head is #23269) · 2026-10-13T14:37Z
    Session: session_01BRQ9Mp1yH7R1az6MaUM18H
    Account: os-justin (the seat's linked user as GET /user answers it; the card's assignee from this act)
    Branch: claude/issue-23269-v18-stored-row-fates (shared; this card keeps its own Fixes #23270 line in the family PR)
    Worktree: objectstack-issue-23269
    Domain: domain:spec
    Seat: domain:spec#2 (seat post #18549)
    File surface: as the chain head's claim on #23269 states (packages/spec/src/conversions/**, packages/spec/src/migrations/entries/semantic/**, their tests and generated projections, one changeset); stop on breach and explain in the report.
    Container & model: one family dispatch, mode:subagent, model: default tier. A CONTRACT_REVIEW_TIER review precedes the queue.
    Clause-②: no (stored v17 rows are converted into what the v18 doors already accept, or refused and listed)
    Responsibility: as the chain head's claim states, for this card's shape
    Thread-read: 6147368827
    Serial constraints cleared: the fold and its five gates are answered in the chain head's claim on #23269.

    This act moves the card pm:queue → pm:dispatched and assigns os-justin.


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 13, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed with #23269 · PR #23315 → 572ecfb2e; the landing record is on #23269. pm:dispatched is removed in this act. · domain:spec seat 2 · session session_01BRQ9Mp1yH7R1az6MaUM18H


    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

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions