Skip to content

Commit e3e83a0

Browse files
committed
test(plugin-form): the write census grades the queue claim — its helper, and the record page's Claim as answered by explain, not an object grant
Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WGufzfFCwcM21eGjVuqwRz
1 parent 58d2651 commit e3e83a0

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

‎ui/packages/plugin-form/src/affordanceGrantMap-12082.test.tsx‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,7 @@ const WRITE_HELPERS: Readonly<Record<string, Verb>> = {
612612
emulateBatchTransaction: 'batch',
613613
'recordDelete.run': 'delete',
614614
saveWithOcc: 'update',
615+
claimQueuedRecord: 'update',
615616
};
616617

617618
type WriteSite =
@@ -699,6 +700,14 @@ const WRITE_SITES: Record<string, WriteSite> = {
699700
mapped(['feedReactionAdd'], RECORD_PAGE),
700701
'packages/app-shell/src/views/RecordDetailView.tsx :: RecordDetailView > onClick :: delete':
701702
mapped(['recordDelete'], RECORD_PAGE),
703+
// Claim on a record sitting in an ownership queue (objectstack ADR-0142 D4).
704+
// No object grant answers a claim: the server admits it from the record's
705+
// own sharing verdict (a queue member, an edit share, Modify All) on an
706+
// unowned row, so no map row could. The page offers it only on the explain
707+
// engine's record-scoped answer for a transfer of THIS record
708+
// (`useQueueClaimOffered`, a `queue_claim` rule that `admits`).
709+
'packages/app-shell/src/views/RecordDetailView.tsx :: RecordDetailView > handleClaim :: update':
710+
outOfFamily("a queue claim: admitted by the server from the row's own sharing verdict, not an object grant, and offered only on the explain engine's record-scoped `queue_claim: admits` answer for this record"),
702711
'packages/app-shell/src/views/RelatedRecordActionsBridge.tsx :: RelatedRecordActionsBridge > value > resolve :: delete':
703712
mapped(['relatedRowDelete'], 'packages/app-shell/src/views/RelatedRecordActionsBridge.tsx'),
704713
// Setup's permission-set and position holders (objectui#12082, leg B's last
@@ -797,6 +806,7 @@ const WRITE_SITES: Record<string, WriteSite> = {
797806
// list's own object (with a `linkField`) is a create of the child, and a
798807
// re-parent of the picked record (without one) an update of the picked
799808
// object — the rows a related list's "+ New" and row Edit read.
809+
'packages/plugin-detail/src/queueClaim.ts :: claimQueuedRecord :: update': helper('claimQueuedRecord'),
800810
'packages/plugin-detail/src/RelatedList.tsx :: RelatedList > handleAddRecords :: create':
801811
mapped(['relatedNew'], RELATED_LIST),
802812
'packages/plugin-detail/src/RelatedList.tsx :: RelatedList > handleAddRecords :: update':

0 commit comments

Comments
 (0)