diff --git a/multiplayer-next.md b/multiplayer-next.md index afaa7f9e..dee94e21 100644 --- a/multiplayer-next.md +++ b/multiplayer-next.md @@ -1447,6 +1447,8 @@ The control plane now exports bounded Prometheus-compatible API request counters `make verify-multiplayer-local` now provides one cloud-free regression gate for the current implementation: the complete Go suite, the Godot harness, OpenAPI parsing, and the migration/Fleet/Kubernetes/supply-chain checks. It fails clearly when the configured Godot executable is unavailable and does not weaken or replace the existing Phase 6/ENet gates; PostgreSQL, Redis, Steam, Agones, and multi-process Internet gates remain separate. +That local gate now also runs `go test -race ./...`, `go vet ./...`, and each declared domain fuzz target for a bounded 2-second interval, aligning the one-command gate with the separately recorded 8.46 verification requirements. + The three declared domain fuzz targets have now each completed a bounded 4-second run (`FuzzQueueCreateDoesNotPanic`, `FuzzResultDigestIsDeterministic`, and `FuzzSyncEventApplicationDoesNotPanic`) with no failures; this closes the locally runnable fuzz portion of 8.46. Live Redis failover, further transaction races, and cloud/runtime gates remain explicitly unverified. The real ENet integration gate now passes with `GODOT_BIN=/Applications/Godot.app/Contents/MacOS/Godot bash scripts/verify_enet_integration.sh`, covering the `net`, `match-net`, `clock`, `lobby`, and `networked match` process scenarios. The default `GODOT_BIN` remains the portable `godot` PATH lookup for CI; this machine requires the explicit app-bundle path. diff --git a/scripts/verify_multiplayer_local.sh b/scripts/verify_multiplayer_local.sh index 8da8bf72..3968f383 100755 --- a/scripts/verify_multiplayer_local.sh +++ b/scripts/verify_multiplayer_local.sh @@ -12,6 +12,15 @@ fi echo "local multiplayer gate: Go tests" (cd "$root_dir/server" && go test ./...) +echo "local multiplayer gate: Go race and vet" +(cd "$root_dir/server" && go test -race ./...) +(cd "$root_dir/server" && go vet ./...) + +echo "local multiplayer gate: bounded fuzz targets" +(cd "$root_dir/server" && go test ./domain -fuzz FuzzQueueCreateDoesNotPanic -fuzztime=2s) +(cd "$root_dir/server" && go test ./domain -fuzz FuzzResultDigestIsDeterministic -fuzztime=2s) +(cd "$root_dir/server" && go test ./domain -fuzz FuzzSyncEventApplicationDoesNotPanic -fuzztime=2s) + echo "local multiplayer gate: Godot harness" "$godot_bin" --headless --path "$root_dir/Game" res://tests/test_runner.tscn