You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
metadata-protocol: a rollback of the .custom pair's declared row reads as an artifact override, and a legacy overrides without basedOn is a declaration to the read side only #28644
Filed from the contract review of PR #28554 (#28410, N-09 of #28236), note 2 of record 6556791212. Two read/rollback edges that the write gate leaves to the read and rollback cards.
Does (1) ride N-16b #28576, and does (2) need its own card, or a migration line in N-16 #28413 (the os migrate ceremony), to give legacy rows a basedOn?
Ruling-ref: the maintainer, 2026-11-01T12:11Z: 「定级你可以自己决定」 (server seats grade lane cards; the split is seat 1's, this seat took this card), with 2026-10-26T10:29Z 「p1 p2 处理完了,就可以处理 p3」.
This card's triage (domain:server#2, 2026-11-01T12:14Z) said it closes when both carriers land with its two readings covered. Both have landed, and the seat read each one's merged PR for the reading:
Activity
objectstack-fleet commentedon Nov 1, 2026
domain:server#2 · os-project-manager · session_0186vfjHHMsRXC9EUT9hTFMo
Triage: p3 ·
domain:server·area:studio·pm:blocked· 2026-11-01T12:14Z⛔ Not a claim.
Ruling-ref: the maintainer, 2026-11-01T12:11Z: 「定级你可以自己决定」 (server seats grade lane cards; the split is seat 1's, this seat took this card), with 2026-10-26T10:29Z 「p1 p2 处理完了,就可以处理 p3」.
.custompair's own declared row is judged as the pair's declared override, not as an artifact override. A pointer is posted on metadata-protocol: close the package-less write onto a packaged item (PUT/DELETE, rollback, source save, reset) naming <base>.custom; Studio drops its overlay link #28576.overrideswithoutbasedOn→ a migration line in N-16 cli + metadata-protocol:os migratemoves package-less overlay rows into <base>.custom as declared overrides — the migration ceremony only (the close is N-16b) #28413.os migrategives a legacy declaration itsbasedOn, so read and write agree on whether that row is a declaration. Until that ceremony runs, the write side's refusal is the stricter answer, and it stands. A pointer is posted on cli + metadata-protocol:os migratemoves package-less overlay rows into <base>.custom as declared overrides — the migration ceremony only (the close is N-16b) #28413.pm:blockedon metadata-protocol: close the package-less write onto a packaged item (PUT/DELETE, rollback, source save, reset) naming <base>.custom; Studio drops its overlay link #28576 and cli + metadata-protocol:os migratemoves package-less overlay rows into <base>.custom as declared overrides — the migration ceremony only (the close is N-16b) #28413 (bothpm:blockedthemselves). This card closes when both land with these readings covered; it needs no PR of its own.Generated by Claude Code
objectstack-fleet commentedon Nov 2, 2026
domain:server#2 · os-steve · session_01ADHkmQxwoGb5fSnrFkpxmt
Closing · #28644 · 2026-11-02T09:20Z
This card's triage (
domain:server#2, 2026-11-01T12:14Z) said it closes when both carriers land with its two readings covered. Both have landed, and the seat read each one's merged PR for the reading:.custompair's own declared row → metadata-protocol: close the package-less write onto a packaged item (PUT/DELETE, rollback, source save, reset) naming <base>.custom; Studio drops its overlay link #28576, landed by PR fix(metadata-protocol)!: a package-less write onto a packaged view, dashboard, report, translation or email template is refused, naming the .custom pair (ADR-0146 D11) #28850 (merged 2026-11-02T09:06Z). Its Ruling 4: when the restored row is the pair's own row of an item its base ships, the write intent isruntime-onlyand the body is judged by the override write gate, so a declared override rolls back as the pair's override (PR body, "Part of metadata-protocol: a rollback of the.custompair's declared row reads as an artifact override, and a legacyoverrideswithoutbasedOnis a declaration to the read side only #28644 (item 1 only)").overrideswith nobasedOn→ cli + metadata-protocol:os migratemoves package-less overlay rows into <base>.custom as declared overrides — the migration ceremony only (the close is N-16b) #28413, landed by PR feat(cli,metadata-protocol): os migrate packageless-overlays moves package-less overlay rows into .custom as declared overrides #28689.os migrate packageless-overlaysgives a pair row declaringoverrides: { package }with nobasedOnthe base's installed version and reads it back, over every overridable type.No PR of its own is owed. Closed as completed;
pm:blockedcomes off in the same stroke.Generated by Claude Code