Task 8.1's own -EBUSY guard test only proved rejection against a synthetic single-thread session_active flag flip, with a comment misattributing the technique to test_core_full_cycle.c's actually- genuine-session precedent. Real gap, not busywork: xce_core_go() publishes session_active via memory_order_release while the snapshot guards read it via plain atomic_load() -- the synthetic same-thread test never exercised any real cross-thread visibility of that flag. Adds a genuine driver-driven session test (real picker thread + real xce_core_go()) proving both save and load reject with -EBUSY during the same active session, leaving state genuinely unchanged (sentinel bytes for save; a distinguishable non-existent queue + unchanged candidate count for load). Zero production changes -- task 8.1's guards were already correct. Closes out Group 8 (Core: Snapshot Serialization) entirely. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019dw5WnN3DXStaEaPYfACU1 |
||
|---|---|---|
| .. | ||
| settings | ||
| specs | ||
| steering | ||