Relationships
#2994 Unit tests share fixed /tmp catalog paths, so concurrent runs corrupt them and fail every later run
Opened by hammz · 10/2/2026· Shipped 10/5/2026
src/infrastructure/persistence/unified_data_repository_test.ts opens CatalogStore at join('/tmp/test-repo', '_catalog.db') and src/domain/workflows/execution_service_test.ts at join('/tmp', '_catalog.db'). These paths are shared by every test run on the host, including parallel verify-build runs from different worktrees. After swamp-club#2520 bumped CATALOG_SCHEMA_VERSION to 5, a run on older code and a run on newer code raced on the same file: it ended with catalog_meta schema version 5 but a catalog table without the is_step_latest column. Every later run then skips the migration, CREATE INDEX idx_catalog_step_latest fails with 'no such column: is_step_latest', and about ten tests in those two files fail (seen in verify-build run 7866049f-8e28-4bba-a934-0bd504a88af1 on a docs-only commit for swamp-club#2957). Deleting the two files clears it until the next race. AGENTS.md asks for unique temp paths per test; these should use Deno.makeTempDir (or withTempDir) like the rest of the suite. Separately, a catalog whose meta says v5 but whose table lacks is_step_latest could be detected and rebuilt rather than failing createSchema.
Shipped
Click a lifecycle step above to view its details.
Sign in to post a ripple.