How kenforthewin/nethack_astra works
This repository is the operational and evidence harness for a completed NetHack ascension, not a standalone agent: the model session supplied inference and orchestration. The principal workflow is agent-issued input through a persistent remote terminal, guarded navigation and puzzle assistance, then observation and audit. Separate capabilities expose a spectator UI and create and verify a sanitized evidence projection. The source excerpts are partial, so links for unsampled UI and export internals are limited to README-documented behavior.
Main entry points: session.py Remote session · index.html Spectator and victory UI · audit.py Private audit ledger · sokoban.py Sokoban assistance
Components 18
Gameplay harness
- Remote session
scripts/session.py - Movement guard
scripts/guard.py - Route proposals
scripts/route.py - Sokoban assistance
scripts/sokoban.py
Observation and display
- ANSI rendering
scripts/terminal.py - Spectator and victory UI
web/index.html - Gameplay UI
web/game.html - OBS broadcast
scripts/obs.mjs
Evidence and publication
- Private audit ledger
scripts/audit.py - Run evidence
- Sanitized export
scripts/prepare_publication.py - Public evidence
- Export verification
scripts/verify_publication.py
Other components
- Agent session
- Hardfought NetHack
- tmux session
- Agent transcript
- Evidence reviewer
Connections 20
- Agent session → Remote session: issues input
- Remote session → Hardfought NetHack: sends game keys
- Hardfought NetHack → Remote session: returns terminal state
- Remote session → tmux session: controls session
- Remote session → Movement guard: checks movement
- Remote session → ANSI rendering: renders screen
- Route proposals → Remote session: reads map
- Sokoban assistance → Remote session: reads and sends
- Sokoban assistance → Movement guard: checks execution
- Remote session → Private audit ledger: records activity
- Private audit ledger → Run evidence: writes events
- Agent transcript → Private audit ledger: watches records
- Remote session → Spectator and victory UI: serves spectator state
- Spectator and victory UI → Agent session: displays result
- Gameplay UI → Spectator and victory UI: preserves gameplay UI
- OBS broadcast → Spectator and victory UI: captures broadcast
- Sanitized export → Run evidence: reads evidence
- Sanitized export → Public evidence: writes sanitized export
- Export verification → Public evidence: checks export
- Evidence reviewer → Public evidence: reviews evidence