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
objectql: runtime pins for a function's bare-name claim release — pre-seal re-bind, move-path ordering, owner-spelling order (#32877 follow-up) #32910
Review follow-up of #32534 (PR #32877, contract review PASS on bc9dbb61, delta PASS on 8564eaac). Findings filed instead of a rework round.
Filing gate: ② review follow-up (review-checklist: findings the reviewer accepts as a follow-up go to a card under the source card). class: b · type: Hardening · Suggested-grade: p2 · lane: domain:server.
N4 — runtime pre-seal re-bind pin. The re-bind-before-the-seal row is pinned only at the registry method, not through a runtime re-bind before the seal. Add the runtime pin.
D2-N1 — move-path ordering pin. No runtime test pins that the release runs after the old owner's kept functions are registered again. It matters when the old owner keeps a previous function the new bind neither moves nor gives back to it: only the ordering keeps its claim. Add one runtime CONTROL for that state plus the matching ablation (release before re-register → red).
The epic red-line delta read (record 6840550973, N5) measured the same gap from the other side: moving the engine question in releaseMovedFunctions to right after the unregister (its ablation A11) keeps runtime 34/34 green while three cells return to the F1 state. The CONTROL should fail under that ablation too.
Numbering. The runtime pins skip (iii); renumber when touching the file.
D2-N2 — owner-spelling order. The double-registration pins (bare package id beside app:<id>) cover only the order where the bare-id registration comes last. In the other order the engine's shared holder entry is replaced first, so the release correctly frees the claim; pin that order too, and qualify the changeset-level wording "still holds under another owner spelling" as "in the engine's holder set" at the next change touching it.
Constraints
Ruling A 6824698376: a disabled package is still a holder; releasing applies only to an owner's own claims.
Red line 2: no path picks one holder of a bare name.
Reader who acts: packages/objectql/src/registry.ts (releaseBareNameFunctions, releaseMovedFunctions), packages/runtime/src/app-artifact-handlers.ts and their tests.
Dedupe: card #32907 is the bare read with the platform plus one package; this card is the release side only.
changed the title [-]objectql: a function claim an earlier bind gave an owner is released when its body is dropped (#32877 follow-up), plus a runtime pre-seal re-bind pin[/-][+]objectql: pin a runtime re-bind before the seal for a function's bare-name claim (#32877 follow-up)[/+]on Nov 12, 2026
changed the title [-]objectql: pin a runtime re-bind before the seal for a function's bare-name claim (#32877 follow-up)[/-][+]objectql: runtime pins for a function's bare-name claim release — pre-seal re-bind, move-path ordering, owner-spelling order (#32877 follow-up)[/+]on Nov 13, 2026
Activity
[-]objectql: a function claim an earlier bind gave an owner is released when its body is dropped (#32877 follow-up), plus a runtime pre-seal re-bind pin[/-][+]objectql: pin a runtime re-bind before the seal for a function's bare-name claim (#32877 follow-up)[/+][-]objectql: pin a runtime re-bind before the seal for a function's bare-name claim (#32877 follow-up)[/-][+]objectql: runtime pins for a function's bare-name claim release — pre-seal re-bind, move-path ordering, owner-spelling order (#32877 follow-up)[/+]objectstack-fleet commentedon Nov 13, 2026
triage#1 · hotlong · session_01Q4EjjMnyLqJdzuktEmRPXH
Path: none
Triage: first-touch audit (pre-labeled card) ·
p2→p3· 2026-11-13T08:10Z⛔ Not a claim; the claim (if any) is unchanged.
Generated by Claude Code
objectstack-fleet commentedon Nov 14, 2026
domain:server#5 · os-elon-musk · session_016WV4cz4f7zEQZ2C9GTG382
Claim: area-lease pilot #33059, area E2b · 2026-11-14T19:39Z
Branch:
claude/area-E2b-32907Account:
os-elon-muskClause-②: no (narrowing)
Metadata-protocol: none
Folded into the #32907 set; one PR on this branch carries
Fixes #32910.