Serialize the DB test files, and give the repo a STATE.md - #1
Merged
Conversation
vitest.config.ts: fileParallelism: false. Nine test files talk to a real Postgres, and db.ts's query() opens its own BEGIN/COMMIT per call — so unlike the sibling torim repo there is no per-file transaction that gets rolled back, and those files clean up by hand with DELETEs instead. Run in parallel against one database they race on shared fixture rows. That is not hypothetical: HOLZMAN-89 recorded exactly this shape in the sibling family-calendar repo — 8/172 failures on one migrated database, 7/172 on another, different tests each run. Nothing here prevented it; the config sets no parallelism knob and CI passes no flag. torim has carried fileParallelism: false for the same reason since its own TRUNCATE test landed. STATE.md: the repo had none. Current-state only — what it is, the standing rules that are expensive to rediscover (never point DATABASE_URL at the owner role; FAMILY_BRANCHES is order-sensitive), where it stands, and today's entry. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018XJft41RGArnUbuq8R3syR
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.
What
vitest.config.ts→fileParallelism: false. Nine test files talk to a real Postgres, anddb.ts'squery()opens its ownBEGIN/COMMITper call — so unlike the siblingtorimrepo there is no per-file transaction that gets rolled back, and those files clean up by hand withDELETEs. Run in parallel against one database, they race on shared fixture rows.Not hypothetical: HOLZMAN-89 recorded exactly this shape in the sibling
family-calendarrepo — 8/172 failures on one migrated database, 7/172 on another, different tests each run. Nothing here prevented it; the config set no parallelism knob and CI passed no flag.torimhas carriedfileParallelism: falsefor the same reason since its TRUNCATE test landed.STATE.md— the repo had none. Current-state only: what it is, the standing rules that are expensive to rediscover (never pointDATABASE_URLat the owner role;FAMILY_BRANCHESis order-sensitive), where it stands, and today's entry.Verification
CI is the verification: it spins its own
postgres:16service container, applies the migration chain, asserts the app role is neither superuser norbypassrls, then lint → build →tsc --noEmit→vitest run. The change can only make the suite more serialized, never less.Found during the 2026-09-03 robustness sprint (session D).
🤖 Generated with Claude Code
https://claude.ai/code/session_018XJft41RGArnUbuq8R3syR