Skip to content

Validate assignees before atomic Calendar batch creation - #860

Closed
NewWorldVenture wants to merge 1 commit into
codex/calendar-assignee-family-20261002from
codex/calendar-bulk-assignee-family-20261002
Closed

NewWorldVenture wants to merge 1 commit into
codex/calendar-assignee-family-20261002from
codex/calendar-bulk-assignee-family-20261002

Conversation

@NewWorldVenture

Copy link
Copy Markdown
Owner

Bulk Calendar creation now checks that every supplied assignee has a positive member receipt in the server-selected family before its single atomic insert. It deduplicates the lookup while preserving row order, normalized composition, null/omitted assignees, index-derived keys, settled keyed retries and losing-insert winner recovery. Only createEvents changes; this draft is stacked on #859.

Validation: the same 35-case actual SDK synthetic suite passes on the candidate and ordinary root configuration with private source/observer variables absent. The exact parent has 19 semantic refusal failures, four new physical lookup-contract failures whose healthy output/payload remain preserved, and 12 passing original controls. All original16 assertions are retained. All70 paired finite request/payload/activity vectors are checked; full8GB nonincremental types and scoped two-file lint pass.

The tests use inert .invalid transport with SDK Auth bypassed. No live database, RLS, Auth/context, provider or full workflow was exercised. The preflight does not establish an atomic SQL family-reference invariant or close member reassignment between lookup and write. Existing collection-receipt and partial-settlement behavior remain separate obligations.

@vercel

vercel Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
bubaly Ignored Ignored Oct 3, 2026 3:55am UTC

Request Review

@NewWorldVenture

Copy link
Copy Markdown
Owner Author

Finding: incomplete keyed batch replay is reported as success. In createEvents, any nonempty findByKeys result returns ok(seen.data), even when fewer saved rows match than the requested batch. The PR test “preserves existing partial keyed settlement without rewriting the batch” codifies that behavior. Batch idempotency keys are derived by input index, so a replay with the same key and a longer batch can match the old prefix and silently omit the new rows.

Synthetic repro: create two events with family A and key K, then call createEvents again with the same family/key and three inputs. The probe finds the two existing indexed keys; this branch returns {ok:true, data:[two rows]} without inserting the third. Please reject/reconcile an incomplete key vector rather than treating it as a complete replay, and add a longer-same-key regression test.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant