test(fifa17): keep economy harness serialized; document multi-conn blocker

WAL-establish-once + busy_timeout (core 75b1830) reduced but did not eliminate a
brand-new-DB multi-connection warm-up 'database error'; the E2E+restart harness
stays on a single serialized connection for determinism, and the residual
multi-connection concurrency issue is documented as the remaining Part-T blocker.
This commit is contained in:
OpenFUT Agent
2026-08-13 20:05:34 +00:00
parent f3aebafcc7
commit 4f78b9a875
@@ -21,11 +21,12 @@ use serde_json::{json, Value};
/// Boot a Core instance against `db_url`, serving on an ephemeral port. Returns
/// the serve task handle and its base URL.
async fn start_core(db_url: &str) -> (tokio::task::JoinHandle<()>, String) {
// One pooled connection: the harness drives Core sequentially (blocking
// client), so a single connection serializes access deterministically and
// avoids a WAL-mode-establishment race across connections warming up on a
// brand-new DB file. (Steady-state multi-connection concurrency is a
// separate, deferred requirement.)
// Serialize Core access with a single pooled connection so this E2E+restart
// harness is deterministic. NOTE: even with the WAL-establish-once +
// busy_timeout fixes (core 75b1830), a multi-connection pool on a brand-new
// DB still intermittently surfaces a write "database error" under warm-up —
// a deeper sqlx/SQLite pool concurrency issue that is a documented remaining
// blocker for the Part-T concurrency proof, not exercised by this harness.
let pool = openfut_core::db::init_pool(db_url, 1)
.await
.expect("core pool");