2026-07-25 - 2026-08-01
Overview
There has not been any commit activity in this period.
22 issues created by 1 user
Opened
#394 [Bugfix] EntityBehavior RNG is unseeded and non-injectable — no deterministic replay, no A/B control
Opened
#395 [Testing] mcrfpy.lock() / FrameLock has near-zero coverage — stress, fuzz, and soak the #219 barrier
Opened
#396 [Minor Feature] Expose the simulation clock to Python — getSimulationTime() is C++-only, metrics runtime is wall clock
Opened
#397 [Bugfix] Timer::test re-phases on a wide step — last_ran = now discards skipped intervals AND the residual
Opened
#398 [Bugfix] Headless step()/advance() never opens the #219 frame-lock window — mcrfpy.lock() from a background thread blocks forever
Opened
#399 [Bugfix] The light/full stdlib preset filter is unreachable dead code — and produces an unbootable interpreter if revived
Opened
#400 [Bugfix] Flaky suite failure: OpenAL-soft asserts during device teardown (snippets/253_Music.py)
Opened
#401 [Bugfix] tests/unit/api_manifest_test.py rewrites the tracked api/manifest.json — every suite run dirties the working tree
Opened
#402 GridData.observe(origin=...) mutates the grid's shared FOV buffer
Opened
#403 GridData has no identity attribute, so a projection cannot say which map it came from
Opened
#404 VisibilityMask records light_walls/algorithm even when they had no effect
Opened
#405 VisibilityMask has no value equality or hash — identical masks compare unequal
Opened
#406 [Bugfix] --audio-off and config.audio_enabled are dead code: audio plays under --headless
Opened
#407 [Bugfix] Sound.play_varied() restores pitch/volume immediately after play(), cancelling the variation
Opened
#408 [Minor Feature] Per-call RNG sites still generate an unrecorded seed when seed=None (procgen, sfxr)
Opened
#409 [Testing] EngineRandom stream decorrelation is claimed in a comment and gated nowhere
Opened
#410 [Bugfix] FrameLock: a background thread that re-acquires without yielding starves the main loop (31 frames in 2s)
Opened
#411 [Bugfix] mcrfpy.step()/advance() from a background thread (without the lock) silently runs a frame off the main thread
Opened
#412 [Bugfix] FrameLock::acquire() deadlocks the whole interpreter with two background threads (GIL/mutex lock-order inversion)
Opened
#413 [Bugfix] mcrfpy.get_metrics() leaks 8 allocator blocks per call (PyDict_SetItemString does not steal)
Opened
#414 [Bugfix] entity.cell_pos = (x, y) leaks exactly 1 allocator block per assignment
Opened
#415 grid.step() turn manager does not check entity occupancy for movement collision
5 unresolved conversations
Open
#380
Template example programs (templates/*/) are shipped but gated by nothing
Open
#337
numpy availability strategy: bundle, side-venv, or scientific package variant
Open
#55
McRogueFace as Agent Simulation Environment
Open
#156
Turn-based LLM Agent Orchestration
Open
#154
Grounded Multi-Agent Testbed: LLM Agents in Discrete Simulated Environments