# B-2 Pre-Fix Test Suite **Date:** 2026-03-29 **Branch:** culurien **Purpose:** Document data integrity and concurrency bugs BEFORE fixes. **Reference:** docs/B2_Data_Integrity_Audit.md --- ## Test Files Created | File | Package | Bugs Documented | |------|---------|-----------------| | `server/internal/api/handlers/registration_transaction_test.go` | `handlers_test` | F-B2-1, F-B2-8 | | `server/internal/api/handlers/command_delivery_race_test.go` | `handlers_test` | F-B2-2 | | `server/internal/api/handlers/token_renewal_transaction_test.go` | `handlers_test` | F-B2-9 | | `server/internal/api/handlers/rapid_mode_ratelimit_test.go` | `handlers_test` | F-B2-4 | | `server/internal/database/stuck_command_retry_test.go` | `database_test` | F-B2-10 | | `agent/internal/polling_jitter_test.go` | `internal_test` | F-B2-5 | | `agent/internal/reconnect_stagger_test.go` | `internal_test` | F-B2-7 | --- ## State-Change Summary | Test | Bug | Current | After Fix | |------|-----|---------|-----------| | TestRegistrationFlowIsNotTransactional | F-B2-1 | PASS | update | | TestRegistrationFlowMustBeTransactional | F-B2-1 | **FAIL** | PASS | | TestRegistrationManualRollbackExists | F-B2-1 | PASS | update | | TestGetCommandsAndMarkSentNotTransactional | F-B2-2 | PASS | update | | TestGetCommandsMustBeAtomic | F-B2-2 | **FAIL** | PASS | | TestSelectForUpdatePatternInGetCommands | F-B2-2 | PASS | update | | TestTokenRenewalIsNotTransactional | F-B2-9 | PASS | update | | TestTokenRenewalShouldBeTransactional | F-B2-9 | **FAIL** | PASS | | TestGetCommandsEndpointHasNoRateLimit | F-B2-4 | PASS | update | | TestGetCommandsEndpointShouldHaveRateLimit | F-B2-4 | **FAIL** | PASS | | TestRapidModeHasServerSideMaxDuration | F-B2-4 | PASS | PASS | | TestJitterExceedsRapidModeInterval | F-B2-5 | PASS | update | | TestJitterDoesNotExceedPollingInterval | F-B2-5 | **FAIL** | PASS | | TestStuckCommandHasNoMaxRetryCount | F-B2-10 | PASS | update | | TestStuckCommandHasMaxRetryCount | F-B2-10 | **FAIL** | PASS | | TestReconnectionUsesFixedJitterOnly | F-B2-7 | PASS | update | | TestReconnectionUsesExponentialBackoffWithJitter | F-B2-7 | **FAIL** | PASS | **7 FAIL** (assert post-fix behavior), **10 PASS** (document current state). --- ## Notes 1. All tests are static source inspection — no live database required. 2. All A-series and B-1 tests continue to pass (no regressions). 3. Agent tests in `internal/` package avoid the pre-existing build failures in `migration/pathutils` and `migration/validation` packages.