# HTTP concurrency fixture completion review The integrated run exposed completion watchdog assumptions in two existing real HTTP tests, not a demonstrated catalog-locking or revision-commit defect. The slow-source test's two-second catalog read and winning PATCH assertions completed before its old 25-second candidate-completion watchdog expired. The oversized test's five-second candidate-validation watchdog also expired; its separate catalog responsiveness assertions had passed. A focused experiment extending the slow-source completion watchdog exposed the actual response: the 2,000-deep accepted fixture returned HTTP **504** after 31.05 seconds. The service has a real 30-second request deadline. Waiting longer cannot turn that response into the intended 412 conflict, and accepting 504 here would lose this test's revision-conflict proof. The concurrency fixture now uses 1,000 nested activities. It retains the 100-millisecond unfinished-request assertion, two-second catalog/PATCH bounds, exact 412 `revision_conflict`, revision 2, winning model content, and persisted disk equality checks. Its completion watchdog is 45 seconds, enough to observe the real service deadline. The oversized import/replacement/candidate checks use 30-second completion watchdogs while retaining their separate five-second catalog bounds, exact `model_limit` rejection and no-mutation checks. Only test fixtures/watchdogs changed; production service behavior is unchanged. Focused verification on the same `-p oa-server --test http` feature graph: | Test | Result | Test duration | |---|---|---| | `accepted_slow_source_does_not_lock_catalog_and_loses_to_a_newer_http_revision` | 1 passed | 13.13 s | | `oversized_source_and_json_are_rejected_without_stalling_the_catalog` | 1 passed | 25.71 s | Logs: `.local/server-completion-focused.log` and `.local/server-oversized-focused.log`. These focused passes do not establish the result of the next integrated workspace run under concurrent test load.