state_memory_model
Build persistent symbolic NetHack state memory from compact observations for AutoAscend-style agents.
SKILL.mdbasicagent-skill/skill_library/paperbench/ftrl/skill/autoascend_nethack/state_memory_model/SKILL.md
GitHubPersistent NetHack State Memory
Use this skill when a recovery or agent needs to convert NetHack-like observations into a durable symbolic state. Do not use it to choose actions directly; downstream strategy, combat, and survival modules consume its output.
Inputs
- Observation dictionaries with
level_id,turn,hero,inventory,monsters,traps,stairs,items, and optionalmessagefields. - Optional previous memory created by this skill.
Outputs
- JSON-serializable memory with current level, per-level remembered facts, normalized hero and inventory fields, and derived flags.
- Flags include
low_hp,hungry_or_worse,fainting, andhostile_monster_visible.
Workflow
- Load the previous memory if present and preserve facts for non-current levels.
- Normalize the current observation into stable level facts keyed by coordinate or label.
- Merge monsters, traps, stairs, and items for the current level.
- Normalize inventory without inventing unknown item properties.
- Derive urgent flags that interruptible strategies can inspect.
Validation
Run python tests/test_state_memory.py or the bundled skill validator with --run-tests.
Limitations
This skill handles compact dictionaries, not raw NLE tensors. It preserves paper mechanisms for proxy recovery without requiring the original AutoAscend repository.