aboutsummaryrefslogtreecommitdiff
path: root/FIXES.md
diff options
context:
space:
mode:
Diffstat (limited to 'FIXES.md')
-rw-r--r--FIXES.md12
1 files changed, 9 insertions, 3 deletions
diff --git a/FIXES.md b/FIXES.md
index 169793c..b258eff 100644
--- a/FIXES.md
+++ b/FIXES.md
@@ -87,6 +87,12 @@ Nothing was staged or committed. The audit artifacts (`AUDIT.md`, `reports/`) ar
- **Casino**: the plinko rules text now states the measured per-risk returns rather than only the target RTP.
- **Refactor**: the duplicated `countExtraInbound` (game + admin, byte-for-byte) is now one `world.CountExtraInbound`, so the two room-removal paths cannot drift.
+## Tranche 5 (this pass)
+
+- **Refactor**: the three YAML map encoders (`admin.marshalYAML`, `admin.marshalMapYAML`, `behavior.MarshalYAMLMap`) now share one `behavior.MarshalYAML`.
+- **Refactor**: the `.journal` path is now `persistence.JournalDir(dataDir)` used by both the game and the admin API, so a future rename cannot leave one writer journaling to a directory startup recovery never scans.
+- **Test infrastructure**: added a `make test-race` target (`go test -race ./... -timeout 300s`); the shared game harness now stops the Game owner goroutine on cleanup (previously every harness test leaked one); added the first WebSocket transport tests (`TestWebSocketCheckOrigin` unit-tests the origin boundary with a non-loopback peer, `TestWebSocketUpgradeAccepted` drives the `/ws` upgrade end-to-end).
+
## Still open
- **Explicit undo snapshot-existence flag** (the current fix safely refuses an intentionally empty before-image).
@@ -95,9 +101,9 @@ Nothing was staged or committed. The audit artifacts (`AUDIT.md`, `reports/`) ar
- **Persistence** `Recover` mid-game misuse.
- **Casino**: craps Fire/ATS settlement deferral.
- **Admin**: symlink handling in the raw file API.
-- **Structural refactors** remaining from `AUDIT.md` §3–4 (ui.Table shrink consolidation, self-signed cert, YAML encoders, `tableCore` for pai gow, typed `GridConflict.Kind`, `refs` struct in validate).
-- **Test infrastructure**: `make test-race`/CI, harness owner-goroutine leak, master-tick harness option, and coverage for steal/gather/burn/talk and the WebSocket transport.
+- **Structural refactors** remaining from `AUDIT.md` §3–4 (`ui.Table` shrink consolidation, self-signed cert, `tableCore` for pai gow, typed `GridConflict.Kind`, `refs` struct in validate, `remapInt`/`remapScalar`).
+- **Test infrastructure**: CI wiring for `test-race`, a master-tick harness option, and coverage for steal/gather/burn/talk.
## Suggested next step
-Tranche 5: the remaining structural refactors (ui.Table, cert, YAML encoders, `tableCore` for pai gow, typed `GridConflict.Kind`), the shared vocabularies for craft/safespot validation, and the test-infrastructure work. Keep `make lint`, `go test ./...`, and `go test -race` green.
+Tranche 6: the remaining structural refactors (`ui.Table`, cert, `tableCore` for pai gow, typed `GridConflict.Kind`) and the shared vocabularies for craft/safespot validation. Keep `make lint`, `go test ./...`, and `go test -race` green.