refactor(db): move relay invite store ownership - #6805
Draft
TheSentinel454 wants to merge 1 commit into
Draft
Conversation
TheSentinel454
force-pushed
the
codex/issue-2-relay-invite-store
branch
from
August 25, 2026 20:07
5a497a9 to
dd7e3c2
Compare
Signed-off-by: tornquist <tornquist@squareup.com>
TheSentinel454
force-pushed
the
codex/issue-2-relay-invite-store
branch
from
August 25, 2026 20:59
dd7e3c2 to
849b817
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Continue tracker #2 by making
relay_invite.rsown the durable v2 relay-invite persistence boundary.ClaimOutcome,MintedInvite, validation, SQL, transaction/locking behavior, and focused tests already lived there; this child moves the three remainingDbAPIs and datastore spans out oflib.rs.This also advances #17 and #19: all focused invite tests stay beside the implementation, and a source guard proves each public operation and record type has one owner with one span per logical operation.
Stack
Domain moved
Db::mint_relay_inviteDb::reap_expired_relay_invitesDb::claim_relay_inviteClaimOutcomeandMintedInvitecrates/buzz-db/src/lib.rsfalls from 4,259 to 4,211 lines.Non-goals
Risk
Small review surface and low semantic risk. The three facades and spans moved intact and still call the same module-owned functions with the same pool, arguments, and return types. The full claim transaction—including
FOR UPDATE, membership insertion, policy evidence, and use-count update—is unchanged.Blox verification
Author workstation:
buzz-tornquist-issue-2-store-stack(2046520), exact head5a497a98cefd2dd531f8bde48b5b5ee2c4cb4362.cargo fmt --all --checkgit diff --check 14924657e84d5d516fb0022e0681cbe18391ea77..HEADcargo clippy -p buzz-db --all-targets -- -D warningscargo clippy -p buzz-relay --all-targets -- -D warningscargo test -p buzz-db --lib: 108 passed, 200 ignoredcargo test -p buzz-db --test store_ownership: 14 passedcargo test -p buzz-db --test observability_source: 1 passedcargo test -p buzz-relay --lib: 909 passed, 48 ignoredIndependent exact-head Blox review: no findings. A separate clean workstation verified exact base/head geometry, unchanged signatures and transaction bytes, fixed-label single span ownership, formatting, diff hygiene, both clippy targets, 108 DB unit tests, 14 ownership guards, the observability guard, all 9 relay-invite tests (including validation), and 909 relay tests. Review artifacts were preserved before teardown.
Remaining tracker work
Next: moderation/product feedback, then git registry and archived identities, usage/admin/maintenance, deletion ownership, and the final runtime-boundary audit.
Superseded pre-comment restack verification
PR #6700 merged before publication completed. This layer was restacked onto current main through the exact parent named above; the final cumulative tip is 2ddcc8a. Cumulative author gates passed: formatting and diff checks; buzz-db and buzz-relay all-target clippy with -D warnings; DB lib 111 passed / 200 ignored; ownership 22/22; observability 1/1; the full isolated PostgreSQL domain matrix; and relay lib 910 passed / 49 ignored.
Outcome
No actionable findings.
Reviewed exact direct-parent range
245c08f24df4e77c0e8486f9aa7abcc70d784e7b..dd7e3c290792b1a68cc73225af87a494ae35d271on fresh Blox workstationbuzz-tornquist-pr-6805-final-review(ID2057730). The three relay-invite wrappers and spans move beside the invite SQL and records without changing validation bounds, token hashing, claim transaction/locking, typed outcomes, or public signatures.Verification
No code edits or external mutations were made. Buzz relay credentials/ownership reporting were unavailable under the documented fallback. The workstation was deleted after artifact transfer.
Artifacts
a1c4894779f7428dd40f785256f614f6f8c98d4d91c9e4b013aa312b7001258180d4512d8587b07dd8b832e16412d8d588060067fe10c9f97ecc12ac7547ee158bd5402553edd0d8d7adac8d6902927c592dbba047447f81cdaae9e2029f1098Comment-addressed restack
Review follow-up on #6777 removed only the low-value replaceable ownership source test. This PR was restacked onto its rewritten parent; its production patch is unchanged.
75a5146da1e7886e7ad7e5a957e56288d42e8d61849b81729ebbf0a92e755fea220187db4ed816ae6fa2f104d42c6ba85bdf62e7ccb74ceaf4a84f67buzz-db/buzz-relayClippy; DB lib 111 passed / 200 ignored; ownership 21/21; observability 1/1; every moved PostgreSQL test; relay lib 910 passed / 49 ignored.buzz-dbClippy, current ownership/observability guards, relay-invite tests (1 unit plus 8 PostgreSQL), and relay compilation.