# Juice of Sapho: early battle aggressor 20 September 2026. Connected partial prototype. The physical face and source precedence remain in the [Sapho audit](JUICE_OF_SAPHO_ENGINE_AUDIT.md); the [battle review](JUICE_OF_SAPHO_BATTLE_REVIEW.md) separates scheduling, physical participants and tie priority. This checkpoint implements the printed aggressor effect during an existing opportunity. It does not adjudicate late timing. ## Connected behavior The holder can play the canonical, unreserved card while their shared `preLeader` opportunity is open, before their readiness declaration and before either plan. The other combatant may already be ready. Actual Voice, Prescience, Nexus/full-plan inspection and Truthtrance commitments prevent this early use, as do suspended interactions and mandatory disposal. Unchosen preparation prompts bind no plan content and may remain. No hidden opposing hand or selected plan determines eligibility. No holder-only pause or new confirmation window is introduced. `scope:'battleAggressor', mode:'aggressor'` binds the battle, turn and use revision. It discards the physical card once and records public priority, without swapping attacker/defender slots, chooser, forces, leaders or later battle scheduling. An already held position is unavailable. A recovered card can change priority again at a fresh opportunity; no extra once-per-battle limit is invented. The validated use history and independent event list survive JSON continuation. Reads, actions and automatic normalization reject mismatched history, event, combatants, turn or physical card custody. Legacy battles retain their original attacker priority and do not reopen closed preparation. The shared tie helper checks both combatants for the effective Habbanya advantage before falling back to aggressor. Engine plan/Voice/prescience checks, public projections, AI calculations and the final battle quote use that priority. Ordinary strength ties and Stone Burner's physical-token ties therefore agree. Early use precedes all commitments, so Stone's existing public finishability guard can evaluate the changed priority before accepting a plan. The unresolved late mixed-allocation hazard from the battle review is not bypassed. The hand panel exposes the real action, the table names aggressor and tie winner, and automatic notices mark a successful use. All four AI profiles can use the same private options and finish through the existing preparation and battle path. Timing strategy and complete Richese-game acceptance remain later work. ## Evidence and limits Focused tests cover actual ordinary/Stone outcomes in Basic and Advanced, Habbanya on either physical side, rejected stale/late/cross-owner submissions, unchanged rejected input, public eligibility with changed private rival holdings, receipt corruption, conserved recovered-card reuse and all four AI continuations. The mixed Emperor/Guild regression changes Stone's pre-commit finishability before any hidden opposing plan exists. Authenticated in-memory SQLite races consume one card; fresh stores restore each private seat through the same battle. Fixtures use genuine CHOAM/Richese setup followed by explicit conserved board/hand staging; they are not full genuine-game evidence or proof of every module combination. The owner-only control and public table text have rendering regressions. Browser, required checks, complete-game samples, preservation and verified Git evidence belong to the source-bound checkpoint report and commit message. Later pre-reveal, post-reveal and final-intervention opportunities remain unfinished, including their privacy-neutral response protocol and Stone allocation work. These are development boundaries, not extra printed prohibitions. Other Sapho timing questions and all mode/publication gates remain unchanged.