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(web): show handover memory + persona rubric for LLM spectate (same as human play); highlight each entity's behaviour as a courier passes it
d42e3af -
feat(errand): LLM observation includes a coordinate-labelled ASCII grid map + legend key (maze visible)
b29ecf8 -
feat(llm): local Ollama provider (ollama_local, no auth) + scenario-neutral agent directive + gpt-oss model toggle
78a6863 -
fix(errand): barricade damage once per crossing (edge-based) — passing construction no longer kills
a7aebf2 -
feat(errand): centered peaked-roof house + up-driveway + bigger grass + thick orange/white barricade (geometry)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1de67f7 -
feat(errand): live render striped barricade + house silhouette (red roof, brown body) + gray driveway
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>2047566 -
fix(errand): widen GAME grass shortcut margin (>=6) so avoid-vs-cut grass is observable
279e721 -
feat(errand): house silhouette (red roof + brown body) + gray driveway + striped barricade (geometry)
6e31343 -
fix(errand): touching the fallen pedestrian rescues it (moves + courier colour), not only 'interact'
20a5886 -
docs(errand): note SessionRunner/spectate keep play_turns as a safety bound
88e0178 -
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 -
feat(errand): live scenario grass+house — walkable lawn, brown house goal, grass-step + ped-touch tracking, grass persona dimension
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1ccda08 -
feat(errand): grass+house home, widened ped corridor, corner wallet, 6-turn light (geometry)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>d74c526 -
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 -
refactor(errand): B1 review — step_reward off-field guard, drop dead _ORDER, cache invalidation
123ba13 -
feat(errand): walled GAME_LAYOUT — visible world sprites, donut success, terrain damage, rescue+wander
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>6524b1b -
test(errand): harden A1 — GAME+all-spawns BFS reachability, step_toward_field, docstrings
6e45036 -
feat(errand): layout library — two WorldLayouts, walls/donut/BFS, 3 personas
8cad82b -
merge: errand_runner scenario (visual-only city errand + find-your-body discovery)
# Conflicts: # proteus/game/runtime/multiagent_director.py # proteus/game/scenarios/__init__.pya032307 -
docs(scenario): drop stale Task-WIP comments in errand_runner (logic is complete)
5b8015d -
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): discovery_turn/identified/efficiency metric (additive)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>3be82d3 -
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(scenario): errand_runner personas (optimal vs civic-habit), home/health/curfew termination, home reward
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>bd70ef9 -
feat(scenario): errand_runner decoy walk + wallet collection + red-road/construction damage + rescue
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>98b840f -
feat(scenario): errand_runner level — 3 identical candidates, pedestrian NPC, prose render
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>83be245 -
feat(scenario): Scenario.action_set property (default 5 movement actions)
57aaf2f -
feat(scenario): errand_world shared geometry + light cycle + persona table
67a51b3 -
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 -
feat(agents): extract_self_belief parser for find-your-body SELF: reports
7e5166c -
feat(engine): health/damage + interact action + on_step_effects/check_success in turn loop
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>9bd40a5 -
feat(scenario): additive base hooks (health_start/on_step_effects/check_success/on_interact)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>e336437 -
polish(take_a_seat): director tests use FOCAL_START; robust step_reward; tidy render_frame
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>ae147ef -
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 -
fix(scenario): sync take_a_seat memory a0 spawn with live FOCAL_START; rename test
5f506f6 -
feat(scenario): take_a_seat live mechanics (far-slot persona vs nearest-slot norm)
Registers the take_a_seat scenario: optimal_action heads to the far slot (persona), habit_action heads to the nearest slot (norm). Spawn moved from (4,4) to (4,30) to make the pair diagnostic at step 1. check_success fires when focal anchor == far-slot anchor; no predator. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>65176b0