73254cbf80e261847c4677e3cacfbd886c84bde8
Implements Plan 4: battle interface, bundled scenarios, smoke test, release hardening. - Domain: TurnToken HMAC + ScenarioSerializer objective round-trip - Web layer: PostStartMatch mints matchId+turnToken; four per-verb action handlers (move/attack/ability/end-turn) on MatchActionSupport - Bundled scenarios: skirmish, hold-the-line, last-stand + manifest - Match view: server-rendered shell + match.js renderer with hot-seat action modes - E2E smoke test gated by BATTLEFORGE_E2E=1 + ci-e2e.yml workflow (PR-to-develop + nightly) Final review: 1 Critical (permanently disabled action buttons) addressed in d53a84c; re-review clean. 234 PHPUnit tests pass (+47 new since Plan 1 baseline); PHPStan clean; PHPCS delta 0; ESLint clean; Prettier clean.
Description
No description provided
535 KiB