Fix message concatenation across keypresses


Add comprehensive testing infrastructure with backfill support


Merge branch 'main' of github.com:davidbau/mazesofmenace into main


Add test results for commit df55068 (merge)


Add comprehensive Potion and Scroll accuracy tests


Add test results for commit 4c6c51b


Add comprehensive Special Room and Window Type accuracy tests


Add test results for commit 21c9b00


Add test results for commit 7668f17


Add test results for commit 2d20834


Add test results for commit 970681c


Merge remote changes


Add test results for commit 0ac9f63


Add test results for commit 40d1c78


runner: report full final stats and XP progression


runner: enable showexp in generated nethackrc


runner: add class-balanced C role matrix benchmark


test: consolidate session runner CLI and include map/special bundles


docs: add session test infrastructure cleanup plan


Add tutorial test infra unification plan


docs: merge test infra unification with cleanup plan details


docs: merge cleanup plans into unified test infrastructure plan


docs: record final test infra unification decisions


docs: merge TEST_INFRA_UNIFICATION_PLAN decisions into CLEANUP_PLAN


phase0: add baseline metrics and session runner diff guardrails


phase0: add persisted session baseline capture and check workflow


Phase 1: extract browser bootstrap from NetHackGame core


Refine lifecycle URL hooks from claude Phase 1 insights


Phase 2: add injectable input runtime and browser adapter


Refine Phase 2 input adapters with claude portability insights


Phase 3: unify headless runtime across session and selfplay


Remove legacy interface comparison harness files


Session runner: classify interface_chargen results as chargen


Phase 6: standardize test run paths and docs


Phase 7: remove legacy session runners and slim session helpers


Merge branch 'codex' into main


Replace cleanup plan with core replay unification plan


Refine replay plan for lossless performance and simple harness


docs: add session harness simplification plan


docs: merge consensus plan from both developers


Unify replay cleanup plan with consensus phase design


docs: merge SESSION_HARNESS_SIMPLIFICATION into CORE_REPLAY_PLAN


Phase 2: route map sessions through core wizard replay path


Phase 3: route startup and chargen generation through core init


Phase 4: move replay step execution path into core module


Phase 5: shrink session_runtime to compatibility adapter


Phase 7: finalize cleanup wiring and baseline/doc alignment


Phase 6 follow-up: add comparator diagnostics and tests


sp_lev: improve C parity for nested rooms, door RNG, and map parsing


Improve gameplay replay parity for seed3/seed200 paths


Port C savelife HP restore; stop counted search on finds


Improve map parity: fix themed fill room dimensions and branch-level placement flow


Add optional finddpos/join trace hooks for makecorridors parity


tests(interface): add faithful nameprompt pregame replay and fixture


Merge branch 'main' of github.com:davidbau/mazesofmenace into main


sp_lev: pass themed context to create_room callsites


tests(interface): deepen options fixture and add number_pad submenu parity


test(options): cover numeric number_pad modes in input and menu rendering


test(interface): add tombstone flow and tutorial-accept replay coverage


Improve C parity for eggs, teleport placement, and misc item RNG


Merge remote-tracking branch 'origin/main' into latest_main


Replay fidelity: port monster-phase occupation stop + fix kick-prefix step attribution


Improve Oracle special-level parity and clear leaked finalize context


Add C-style tutorial startup prompt and tutorial interface capture


comparison: improve DECgraphics replay and per-stream divergences


fix: blur control buttons after click to prevent focus stealing


guidebook: add Menace supplement and merge pipeline


rebrand: NetHack 3.7 Royal Jelly — vibe-coded by The Hive


feat: scale nav/controls with game font, hide panels until gameplay


c-harness: restore 9-patch stack and regenerate seed6 tourist session


fix: align forced-fight empty attack and gameplay verbose mode


Improve nonwizard pet AI parity and document findings


Merge branches 'main' and 'main' of github.com:davidbau/mazesofmenace into main


parity: port monster-hit stop_occupation and replay count/occupation alignment


Improve map/corridor parity and session harness normalization


Fix duplicate ACCESSIBLE import in level transition


Improve gameplay parity baseline after merge sync


fix: handle dict-style character specs in run_session.py


test: regenerate gameplay sessions with current nethack-c


Support NETHACKOPTIONS URL syntax and clear startup params


Merge branch 'main' of github.com:davidbau/mazesofmenace into main


oracle: restore results mirror to main after hook rewrite


runner: harden C benchmarking output and document rejected combat tweak


oracle: restore results mirror to match main


agent: add exploration churn telemetry for frontier/door loops


test: add 26 sessions to seeds.json, remove non-descending sessions


test: improve session test error output


test: add parallel session runner with worker threads


Fix interface session replay startup/options parity


Improve replay fidelity and fix gameplay crash paths


Improve gameplay replay parity for startup and extended commands


Improve gameplay replay parity for pet naming and inventory search


Fix wizard lifesave topline parity in gameplay replay


Refine pet retaliation RNG parity in dog_move


Fix saddle owornmask, droppables cursed check, Fast intrinsic, and u_calc_moveamt RNG


Improve pet combat parity for early gameplay sessions


Improve seed5 replay boundary attribution and document findings


Merge branches 'main' and 'main' of github.com:davidbau/mazesofmenace into main


Improve ambient sound and monster door-move parity


Fix replay pending-command deadlock and align corpse timeout mklev context


Merge branch 'main' of github.com:davidbau/mazesofmenace into main


Improve gameplay parity for random spawn and pet behavior


Set melee corpse age from current moves for C-faithful dogfood timing


Fix Fast/Very Fast bonus movement: skip turn-end and limit movemon


Add m_move lined_up RNG gate and saddled pet block message parity


Fix monster naming, exercise RNG, and weapon display parity


Merge latest main and keep monNam/exercise parity fixes


parity: use weapon descriptors and align linedup clear_path direction


Add step-level RNG divergence diff tool and docs


parity: restrict NODIAG monster movement rule to grid bugs


parity: use FOV couldSee in linedup hero-target visibility


Fix message line parity and add monster ranged attacks (m_throw)


Improve gameplay replay parity: dosearch0, near-miss, wizard death


Add DISP RNG stream and wire hallucination display glyph paths


Merge branches 'main' and 'main' of github.com:davidbau/mazesofmenace into main


Update README.md


Improve combat system parity with C NetHack 3.7


fix: use worn saddle state in monster naming


Merge branch 'main' of github.com:davidbau/mazesofmenace into main


docs: move core replay plan under docs


chore: remove replay core debug logging


comparison: unify strict DEC symset normalization for glyph/color parity


parity: fix DEC open-door glyph and apply color-off replay defaults


Recompute FOV before movemon to match C vision_recalc timing


replay: keep ANSI snapshots aligned with captured prompt/menu frames


Fix m_throw kill to use mondied path and weapon equip ammo/missile check


interface parity: align menu header attrs and ANSI compare normalization


docs: consolidate plan hierarchy and refresh selfplay plan


docs: migrate issue workflow to GitHub Issues


docs: allow opportunistic issue work when blockers are stale


docs: add GitHub issue triage and hygiene policy


docs: define agent issue intake and ownership policy


docs: declare PROJECT_PLAN as authoritative in agent guide


Port pet eat/stack parity in dog movement paths


test: fix DEC open-door glyph expectation


docs: clarify Royal Jelly is this project's codename, enrich README


docs: update project planning and backlog workflow guidance


docs: fix AGENTS.md title, restore push discipline, add docs/LORE.md stub


docs: add parity backlog intake workflow and refresh findings


Set tutorial percent shim default and normalize env guards


Tune tutorial first-percent RNG shim default and update parity docs


Align open/close prompt cancellation messaging with C


Fix wait/search safety replay parity


docs: add cross-references and improve navigation across technical documentation


Resolve merge conflict in C_PARITY_WORKLIST.md: merge remote ledger with local cross-references


docs: slim PROJECT_PLAN intro to avoid README duplication


Improve object-generation parity in startup flows


Improve wizard command/menu parity and inventory naming


tooling: default RNG parent context when tags are enabled


Improve throw/drop prompt parity and spell menu formatting


commands: consume eaten inventory food before final pet turn


Refine throw prompt parity and cancellation flow


replay: passthrough keys after inventory overlay dismissal


Split themed-room and special-level Lua load caches


commands: align prompt and status behavior with C session flow


Improve room placement parity for themed generation


Document Lua RNG tags and commit partial session regen checkpoint


Stabilize subroom room numbers for sort parity


Regenerate remaining session fixtures with lua src/parent tags


docs: capture ANSI and color parity troubleshooting lore


Align irregular inside_room checks with C stair selection


Match C selection.room traversal order for themed fills


Place trap tiles for trap niches in makeniche


Aggregate session failures and add category summary table


Improve ranged throw naming parity for unknown weapons


Regenerate remaining special-map fixtures with lua src/parent tags


Add c-harness session analysis and validation utilities


test: improve gate runner and session progress diagnostics


test: align close-direction cancel expectation with C behavior


monmove: remove spurious player kill text from monster throws


chore: restore oracle/results.jsonl


parity: remove synthetic single-throw topline message


Strip common prefix from screen divergence output


Only show metrics in failure details as fallback


commands: align throw prompt flow with C getdir ordering


oracle: restore results mirror after local note rebuild


Improve seed212 render parity and correct HI_METAL object colors


session runner: keep full-run default and enforce per-session timeouts


hooks: auto-create missing test notes during pre-push


parity: align wizard command-flow prompts with C behavior


parity: align spell and inventory command menus with C flows