SLIDE History preserved: 100% of B’s events still queryable Application changes: 0 changes to the application Connection effort: 1 min to connect simulated source C NOTES Baseline: 25 B events saved before the swap at commit 0b8ed75; replay window as in config/replay.json. After the swap, API and independent export query each return 25/25 of them, once each, content identical. Export vs API: identical (62 events). Reader uses Python standard library and DuckDB only. Negative control: deleting B's 25 events in a disposable copy keeps export and API equal (True) and fails both against the baseline (True). Application: 0 files changed in app/, api/, queries/ from pre-swap to post-swap; working tree changes 0; query unchanged True; C events added 24 (3 WO_FAIL). Other frozen code changed: 0. Connection effort: mapping, adapter and validation 0.7 active min, 0.8 elapsed min; generator setup 0.6 min separately. Done by a coding assistant on a synthetic source. Not a prediction of commercial vendor onboarding time. ATTEMPT 2 (39c8c05..8051c51) Pre-swap B reference equals baseline: True. History 25/25 export, 25/25 API. Export vs API identical: True. Application files changed between its tags: 0. Other frozen code: 0. Negative control as expected: True. Changed before this attempt: adapters/b_dedicat6g.py, adapters/c_synthetic.py, app/base1-logo.png, app/index.html, config/replay.json, core/export.py. ATTEMPT 3 (031b4a3..51d58e8) Pre-swap B reference equals baseline: True. History 25/25 export, 25/25 API. Export vs API identical: True. Application files changed between its tags: 0. Other frozen code: 0. Negative control as expected: True. Changed before this attempt: app/index.html.