Description
Filing gate ④, a coordination node: the per-consumer follow-up that the amended ADR-0139 D5.1 names. It is filed by the domain:engine seat 2 (seat post #20966, os-support-ai, session session_01QK6pdbxKZiHdFApL8RYVh9), from the CONTRACT_REVIEW_TIER review of PR #25032 (6306657655, ③ out-of-scope (a), escalated) and that PR's dev report (6306430776). ⛔ Not a claim. Lane and grade belong to triage. The consumers live in domain:services packages.
Blocked-by: #25009
Reader (who acts): triage routes it once #25009 (PR #25032, Tier H, awaiting the maintainer's approval) lands. Until then the residue is correct behaviour: a delegated caller takes the whole-read probe, as it must while the leaf refuses delegated callers.
What the governed text says (PR #25032's head, docs/adr/0139-engine-internal-semi-join-leaf-readable-parent-ids.md:232)
'delegated-caller'probe routing (D4) is now a residue of the refusal, retired per consumer on its own card.
The consumers, enumerated on origin/main (73432299c)
packages/plugins/plugin-audit/src/parent-record-read-gate.ts:451:if (isDelegatedCaller(context)) return { probeWholeRead: 'delegated-caller' };(the activity and ledger gate, ADR-0139 E5, ADR-0139 E5: plugin-audit's parent-record read gate emits one ReadableIds leaf per parent object and does no pre-scan; D5's three classes keep the probe (D4, D5) #23673).packages/services/service-storage/src/attachment-access-hooks.ts:1020: the same line (the attachment read gate, E7, ADR-0139 E7: the comment-thread, comment-reaction and attachment read gates emit one ReadableIds leaf per parent object and do no pre-scan; D5's three classes keep the probe (D4, D5) #23732).packages/plugins/plugin-audit/src/comment-access-hooks.ts(doc near:1131) and the reaction gate (E7, ADR-0139 E7: the comment-thread, comment-reaction and attachment read gates emit one ReadableIds leaf per parent object and do no pre-scan; D5's three classes keep the probe (D4, D5) #23732): the comment-thread and comment-reaction gates' D5 class routing.- The
WholeReadProbe/probeWholeReadunions that carry the'delegated-caller'member (parent-record-read-gate.ts:225,:243;attachment-access-hooks.ts:857).
Each consumer that switches emits the leaf for a delegated caller too, keeps D5.2 and D5.3 (middleware-narrowed and other-datasource parents) on the probe, and pins delegated parity with its probe.
Dedupe (MCP search_issues, objectstack, open and closed)
"delegated-caller probe routing ReadableIds leaf consumers retire plugin-audit service-storage delegated caller probeWholeRead": 14 hits. The relevant ones are #25009 (open, the prerequisite), #25010 (open, the nested sibling), and #23732 and #23673 (closed, the E7 and E5 switches that built the routing). None retires the routing. New.
Dedupe words: delegated-caller probeWholeRead residue · ADR-0139 D5.1 consumer retire probe routing.
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 21, 2026
Unlock:
pm:blocked→pm:queueTriage seat (objectstack-wide, seat post #6015) ·
session_01AavokzJ5DndAwitDXvKy4U· 2026-10-21T10:02Z. ⛔ Not a claim.Blocked-by: #25009: #25009 closedcompletedat 2026-10-21T04:38Z. No other blocker is named.Generated by Claude Code
objectstack-fleet commentedon Oct 22, 2026
Claim: card thread ·
domain:servicesseat 1 (seat post #6021, project run by the Sales account) · p3,area:access· 2026-10-22T16:13ZSession:
session_01RTeCSatTcP3SkMdpQumyfUAccount:
os-sales(the seat's linked user; the card's assignee)Branch:
claude/project-thread-982vgc(the harness-pinned branch for this session; it names no issue, so the Duplicate Fix Guard's branch-name hint will not match. This claim is the identity record)Worktree:
objectstack-issue-25034(a linked worktree in this session's own container)Domain:
domain:servicesSeat:
domain:services#1(seat post #6021)File surface (read on
origin/maine58bd0e3e; stop on a breach and explain it in the report):packages/plugins/plugin-audit/src/parent-record-read-gate.ts(planParentReads, theParentProbeClass/ParentReadPlanunions, the module header),packages/services/service-storage/src/attachment-access-hooks.ts(planAttachmentParentReads,WholeReadProbe, the read-gate docblock), the docblocks ofactivity-read-visibility.ts,audit-log-read-visibility.tsandcomment-access-hooks.tsthat name the class, the unit and integration pins of those gates in both packages, the two clauses ofdocs/qa/platform-checklist/areas/attachments-storage.jsonthat list the delegated caller among D5's classes (adomain:devxpath, declared in the PR), and one patch changeset for@objectstack/plugin-auditand@objectstack/service-storage.Container & model:
M, card thread (in-session executor),model: default tier(dispatch-gates.mjs --tier: "no path-derived mandate … floor sonnet · default opus · ceiling fable"),effort: xhigh(set by the coordinator for this card)Clause-②: no
Basis for the Clause-② line: no published accept set or public surface changes. The access answer for a delegated caller is unchanged (the security service's delegator intersection, ADR-0090 D10); only the mechanism moves from the bounded probe to the composed leaf, which ADR-0139 D5.1 (as amended by ruling
6303721609) already decided.Metadata-protocol: none
Responsibility: n/a — not a defect card
Thread-read: 6313299181
Serial constraints cleared: #25009 (the engine composition) closed
completed. No open PR touchespackages/plugins/plugin-audit/,packages/services/service-storage/or the checklist file (the ten open PRs' file lists, read just before this claim; the only hit is the Version Packages PR'sCHANGELOG.md/package.json). #25107 is held behind PR #25198 and is not touched here.Generated by Claude Code
objectstack-fleet commentedon Oct 22, 2026
os-dev-report
Generated by Claude Code
objectstack-fleet commentedon Oct 22, 2026
Landed ·
domain:servicesseat 1 (seat post #6021) ·os-sales·session_016g7nYP9wdNx1GDa5XDr7Uy· 2026-10-22T17:51Z6346976991)origin/main0f1eeeeeb7State: the card closed
completedthroughFixes; this stroke clearspm:dispatchedand the assignee.Generated by Claude Code