RULES.it.md translates RULES.md v0.9. edition/build.py renders a
printable A4 HTML (edition/it/playtest.html): quick reference, rules,
belt track, board overview and four board tiles drawn from the board
model (Tunnel pairs numbered, Dojo entrances marked), and the 22 Nebbia
cards. Adds markdown as a dev dependency.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Bots now pick their start square and break path ties in their own
corner's frame; the absolute tie-break made corners 1 and 2 win 25-28%.
With that fixed, seat order is within target at 4 players, and a +1
stripe first-player bonus (new switch) gains only ~1 point, so no
compensation. RULES.md v0.9 lists the tested alternatives; the plan has
the 6.8 consolidation run and the seat-order study.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
RulesConfig.exam_failure_loss (bots aware) with the sim axis --exam-loss.
Losing 1 or 0 stripes saves 3-5 minutes but weakens comebacks, so the
rules keep -3. Default games are unchanged.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
RULES.md: 6+ players start on 3, and any count may start on 3 for a
shorter game. Balancing simulations keep start 0.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Report how often a Tecnica is played and how often Kiai decides a
Kumite or an Exam fight. The tie rule moves to RulesConfig.attacker_wins,
shared by the engine and the metric; games are unchanged. RULES.md drops
the Kiai +1 and catch-up variants from the rules under test.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Precompute board adjacency and square sets, look up opponents once per
move, and cache walks that exclude only the start square. Every game is
unchanged for the same seed, checked with agents/scripts/fingerprint_games.py.
Plan: skip catch-up 6.9 (D44), stop running the random lineup (D45).
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Fatica costs a stripe for every Fatica walked onto; a route whose Fatica
drops a Brown player below 15 no longer enters the Dojo
- No Kumite in the first round: opponents are treated like meditating pawns
- Board draft 2: two Fatica tolls per quadrant, Allenamento moved to the ring
- Casual bot, --summary-csv, per-seat breakdown and move-options metric
- Out of contention measured at 3 belts
- Plan: Phase 6 baselines, decisions D34-D43
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Remove variant B (Brown cap, +1 for higher beating lower) from rules,
engine, bots and simulator; a higher belt beating a lower one gains 0.
- Final Exam: the defender fights as a Black belt (RULES.md v0.7). Ties to
the defender and best-of-3 stay as simulator switches (`--exam`).
- Report stripe income per source as gains and losses.
- Add ten one-sidedness measures sampled at turn ends (lead gap, winner
margin and lead share, halfway leader, last lead change, contention,
rank swaps, leader Kumite losses, Exam challengers, winner pace).
- Plan: decisions D28-D33 and the detailed Phase 6.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
`dojo sim` plays seeded games over a scenario matrix (variant, players,
Kiai bonus, start position, bot lineup) in parallel, prints a summary per
scenario and optionally writes one CSV row per game. Metrics are replayed
from the event log. Plan updated with the Phase 5 baseline.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>