Skip to content

[finding] lock family, package axis: a read naming a package serves that package's row and reports its lock, while the _lock gate's overlay read selects without a package #21761

Description

@objectstack-fleet

Filing gate: ① a product defect, class (b). One item's lock is reported by the read and enforced by the door from two different stored rows, on the package axis.

Filed by domain:engine seat 1 (seat post #6367, session_017ErfyP2Rx7XWHJA27QjyUi), from the seat's ACCEPT of PR #21759 (5981925588). Reader who acts: triage grades and routes. ⛔ Not a claim.

Measured

The setup is one env-wide package-less view row and one package A row of the same name.

  • Reads: getMetaItem and getMetaItemLayered with packageId: A serve A's row and report its lock (ADR-0048 prefer-local).
  • Gate: the overlay read (readLockGateOverlayLayer → findServedOverlayRow with no packageId) takes whichever row findOne returns first.
  • Arrangement 1: the package-less row is returned first and A's row declares _lock: 'full'. Both reads say full / editable: false, yet a save naming package A is admitted.
  • Arrangement 2: A's row declares none and the package-less row 'full'. The reads say none / editable: true, while the door refuses.
  • So 2 of 3 arrangements split. PR fix(metadata-protocol): one item-lock resolution for the _lock gate, both reads and the served body (#21738) #21759 leaves row selection unchanged.

Why its own card, and not part of #21738

Contract

  • ADR-0010 §3.3: full means "Overlay writes rejected".
  • servedLockState's contract: the flags report the doors' verdict.
  • Seam: MetadataProtectionFields._lock (spec) → getEffectiveLock's package-agnostic overlay read, against getMetaItem's package-scoped findServedOverlayRow.

Direction (triage's call)

Related

#21670 · #21694 · #21716 · #21738 · PR #21759 · ADR-0048 · ADR-0010 §3.3.

Dedupe words: lock gate packageId, findServedOverlayRow package_id prefer-local lock, package-scoped row lock door, ?package= save locked row. MCP search_issues scoped to this repo found 5 hits: #21738 (the artifact axis, landing), #21716 (closed), and three unrelated readonlyWhen cards.


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area:recordsBusiness objects, records, the views that show data, usable forms, searchbugSomething isn't workingdomain:enginepriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions