Spaces:
Runtime error
Runtime error
Commit History
-
feat(errand): handover memory carries courier position + behaviour flags on the text path
The LLM only ever sees a MemoryTurn's frame_ascii (via render_memory_block), but errand_runner left it as a bare "errand t{tick}" placeholder — so the text handover memory had zero spatial grounding and the memory_brief promise to "watch how you handled the crosswalk/wallet/pedestrian" was empty (the rich visual state lived only in agents/cells, used by the web colour replay). Populate frame_ascii with a compact one-line caption: the courier's position plus the salient decision flags where the persona's behaviour diverges (crosswalk-RED/GREEN, construction, grass-shortcut, by-fallen-pedestrian), and back-annotate the pickup turn with grabbed-wallet (the frame is recorded pre-move, so a footprint flag could never catch the wallet step). Full per-turn ASCII maps would blow the prompt (routes run ~80-124 turns); coords convey trajectory shape while flags carry the transferable, layout-independent lesson. render_memory_block (shared) and the web path (memory_frames reads agents, not fram…ef62102
-
feat(errand): no move limit — ends only on reaching the house (analysis) or zero health
Adds scenario-controlled turn_limited flag (default True; errand=False), honored by the engine budget-win, the interactive session, and the web turn/clock display. errand check_elimination drops the curfew; reaching the house triggers the analysis.bb1f1e7 -
feat(errand): surface grass-cut/avoid + pedestrian-touch in results; grass breaks civic/outlaw persona tie
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>b67a78a -
feat(errand): director grass-aware persona routing — civic avoids lawn, cut personas take the grass shortcut
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>0ddb44b -
refactor(errand): share policy radii via errand_world, symmetric wallet radius, errand-specific memory legend
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>19ac967 -
fix(errand): honest results summary — None for unmeasured metrics, document persona tie + approximate fields
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>6b41a13 -
feat(errand): results summary (event choices, closest persona, headline metrics) in review
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>80c8b11 -
docs(memory): note errand C=9 / distractor_idx collision is safe only single-agent
f571c87 -
test(errand): memory renders walls, donut, single courier
Honor a scenario's bespoke focal symbol when painting the chosen agent in memory_frames: resolve chosen_idx from legend "C" (errand_runner's courier -> C_COURIER) falling back to "A"/focal_idx. Other scenarios have no "C" so they stay on color 1 (unchanged). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>b571b83 -
refactor(errand): C1 review — reuse w.footprint, precompute wallet field, fix ped drift, type hints
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>b50b604 -
feat(errand): single-agent BFS-routed memory + 3 persona variants on MEMORY_LAYOUT
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>b533b12 -
merge: errand_runner scenario (visual-only city errand + find-your-body discovery)
# Conflicts: # proteus/game/runtime/multiagent_director.py # proteus/game/scenarios/__init__.pya032307 -
feat(web): expose health + turns_left in InteractiveSession.state()
Adds two additive keys to the state() dict: health (= game.health, 0 for non-health scenarios) and turns_left (= play_turns - len(turns)). Covered by tests/web/test_errand_web.py (3 new tests); all 34 web tests pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>6cf09d6 -
feat(memory): author_errand_runner persona demo (cells overlay + npc pedestrian) + default_memory
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>f7209f4 -
feat(discovery): source available actions from scenario.action_set (interact reaches the agent)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>11cd1de -
feat(discovery): parse SELF: report + score self_correct in make_turn_trace
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>d36047a
-
feat(discovery): TurnTrace self_belief/self_correct + Scenario discovery hooks
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>45e0c57 -
feat(memory): per-turn cells overlay channel + npc_down/npc_active colours in memory_frames
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>a629d19 -
polish(director): restore natural 'all seated' terminal event; robust event test
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>7c44782 -
fix(director): emit each seating event once; guard truncated 'all seated'; tidy
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>f9e840e -
feat(director): author_take_a_seat memory (norms grab nearest seat, a0 circles to far seat)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>9d6fdf8 -
feat(director): predator_chase pack scatters (all survivors flee) after the first kill
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>58f91e9 -
docs: drop stale predator_evade reference in probe comment
6b31d7e -
feat(director): predator_chase memory — longer pre-kill preroll + wider, varied agent roaming
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>957367c -
fix(director): agents never overlap in authored memory (agent-agent collision avoidance)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>6225269 -
refactor(scenario): delete predator_evade; template is the canonical scenario
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>93cd78f -
refactor(scenario): rename pack_flee -> predator_chase
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>bd0ae14 -
refactor(scenario): rename pack_evade -> template
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>d4716c0 -
fix(resource_race): collected resource leaves the field (live sprite removal + memory pickup frame)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>5eb529f -
fix(memory): legacy replay block sizes match resized pack_evade (3x3 predator, 2x2 focal)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>6c48e8f -
feat(director): author_resource_race multi-agent winner memory
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>d26b143 -
feat(director): author_pack_flee multi-agent survivor memory
363a425 -
feat(memory): multi-agent memory_frames (2x2 agents, 3x3 mouth predator, resources)
a4d6c77 -
feat(memory): AgentFrame model + multi-agent turn/checkpoint fields
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>26b05a6
-
refactor: restructure proteus into game/web subpackages
Move live proteus/ into game/{engine,scenarios,agents,runtime,metrics,viz} + web/{local,arena-skeleton} + shared/, providers/ unchanged. Absolute imports rewritten by tools/restructure_imports.py; five cross-package relative imports (grid<->engine/scenarios split) and the orphaned engine README moved by hand. No logic changes; 253 tests green (identical node-ID set pre/post). pyproject packages=["proteus"] unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>426093b