9fd0f3ec38
Root cause (HAR-diagnosed): replay script wrote firebase-prefixed paths via raw REST, bypassing adapter norm(). Two path roots coexisted in db: bare 'campaigns/X' (adapter writes, from App) prefixed 'artifacts/.../campaigns/X' (replay raw writes) Adapter read bare, missed prefixed. UI showed stale test1 (legit manual UI write, not wiped) but replay campaigns invisible. A. replay-combat.js: use createWsStorage adapter instead of raw fetch. Same contract boundary as App. norm() runs on all paths. Can't drift. Mirror App.js getPath locally for path construction. B. contract.js: 4 new identity tests (setDoc prefixed -> getCollection bare, setDoc prefixed -> getDoc bare, setDoc prefixed -> getDoc prefixed, setDoc bare -> getCollection prefixed). Run against every impl (memory, ws). memory.js lacked norm() -> RED first, now GREEN after adding norm. C. db moved out of /tmp to ./data/tracker.sqlite (gitignored). Never tmp. Tests: 124 green (39 shared + 23 ws-contract + 62 FE).
15 lines
187 B
Plaintext
15 lines
187 B
Plaintext
node_modules
|
|
build
|
|
dist
|
|
.env
|
|
.env.local
|
|
.env.development.local
|
|
.env.test.local
|
|
.env.production.local
|
|
*.log
|
|
data/*.sqlite
|
|
data/*.sqlite-*
|
|
server/data/*.sqlite
|
|
server/data/*.sqlite-*
|
|
/data
|