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. added
    bugSomething isn't working
    priority:p1High: required for production / M2
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Oct 13, 2026
  2. 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.

  3. added
    domain:specDomain lane — seat card indexed by label:pm:seat
    pm:queueReady for the PM dispatch loop
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    pm:queueReady for the PM dispatch loop
    on Oct 13, 2026
  4. 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

  5. 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

bugSomething isn't workingdomain:specDomain lane — seat card indexed by label:pm:seatpriority:p1High: required for production / M2target:v18

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions