Skip to the content.

Correctness and fault-test inventory

Run routine tests with cargo test. Run real-adapter fault tests with ./docker/scripts/run-e2e.sh. Run the known-failure inventory with ./docker/scripts/run-known-failures.sh; that command succeeds only when the listed specifications fail.

Scenario Test Status Required production change
Cassandra-style clustering-key declaration and validation src/tests.rs::table_definition_makes_the_cassandra_style_physical_clustering_key_explicit passing none
Cursor crosses archived/hot bucket boundary src/tests.rs::cursor_pagination_is_contiguous_across_archived_and_hot_years passing predicate/limit pushdown for scale
Durable table cursor crosses archive/hot boundary src/tests.rs::durable_table_routes_hot_and_archived_buckets_with_contiguous_cursors passing Cockroach integration coverage
Durable upload failure reopens the bucket src/tests.rs::durable_archiver_aborts_only_the_prepublication_upload_failure passing Cockroach integration coverage
Durable coordinator discovers and archives eligible work src/tests.rs::durable_recovery_runner_archives_discovered_bucket_without_an_application_trigger passing Cockroach integration coverage
Durable coordinator recovers published cleanup after worker loss src/tests.rs::durable_recovery_runner_claims_and_finishes_published_cleanup_after_owner_loss passing independent-process coverage
Durable coordinator renews ownership through a slow upload src/tests.rs::durable_recovery_runner_renews_its_lease_during_a_slow_upload passing real Cockroach/MinIO slow-operation coverage
Content-addressed conditional archive writes and manifest tamper detection src/adapters/opendal_store.rs unit tests passing concurrent MinIO conditional-create coverage
Real Cockroach/MinIO published-cleanup takeover after a modeled worker loss tests/e2e.rs::durable_recovery_runner_takes_over_published_cleanup_after_worker_loss opt-in independent container kill/restart coverage
Upload outage never publishes archive routing (legacy split path) tests/e2e.rs::storage_outage_cannot_lose_or_cut_over_a_bucket opt-in run through Compose/MinIO
Legacy worker restart after hot deletion tests/known_failures.rs::worker_restart_after_hot_deletion_loses_the_archive_route deliberately failing legacy split-store limitation; replace with durable restart/cleanup coverage
Legacy worker cancellation during upload tests/known_failures.rs::cancelled_archival_worker_does_not_leave_a_bucket_unavailable deliberately failing durable job ownership, TTL leases, resumable state machine
Concurrent archivers not implemented blocked fencing token and CAS transition test harness
Metadata/database partition not implemented blocked independent worker processes and Toxiproxy routes
Object-store partial upload/corruption unit coverage only partial real MinIO partial-write and corruption fault injection
Query drain while cutover commits not implemented blocked durable read leases plus clock/lease-expiry test control

The blocked cases are intentionally documented rather than represented by misleading passing tests. The durable Cockroach route has moved archive fencing and records into one store, but durable read leases and multi-worker crash/takeover coverage are still needed before those scenarios can become executable.