0.8.1
Sim (npc.py)
- Add player-as-actor:
--player[=Name]-> a human joins as an agent (defaultPersonX, never "user"/"player", so no assistant-bias);player_input()reads response+action, downstream identical to an LLM turn. - Add per-agent traits via a
{personality}optional placeholder like{name};DAYS_PER_YEARdrives the "1 year = N weeks" prompt line (28 -> "4 weeks", 1 -> "1 day"). - Add
REASONING_ENABLEDflag: set False for plain endpoints that 400 on{reasoning:{enabled}}. - Fix work XOR conversation: entering a chat vacates the cafe counter (was: hold the job while chatting); truthful cafe status; single-worker takeover invariant; interleaved multi-turn conversations with the parting line delivered.
- Fix
eatto pay the single enforced worker (wasrandom.choice, which baked positional bias into the wealth data). - Fix death broadcast to reach everyone incl. conversation-deaths (was partner-only).
- Fix crash:
extract_clean_jsonreturns a dict and coerces a non-strresponse(a{"response":5}used to kill the run). - Fix money to a scalar via
create_agent(money=)(no name-keyed.get); showE/{100-age}; clamp the diary bedtime note.
Browser harness (index.html)
- Add the in-browser harness: runs
npc.pyvia Pyodide + xterm on three brains, switchable live - a free no-key tier (browser-direct, no proxy), local GGUF (wllama, WebGPU/CPU), or any OpenAI-compatible endpoint. - Add session resume: a run is a deterministic event-log in
localStorage; reload replays it offline, then goes live. - Add ShareGPT history export (per-NPC POV) and an opt-in daily run-log collector (Cloudflare SQLite Durable Object, capability-rid upsert, owner-only reads).
Benchmark - Opus 4.8, all 3 starve by day 20 - 8/10, strongest run yet
Invented a rotation economy with honored cross-tick debt + coalitions, then collapsed it into a weaponised-scarcity monopoly ("she cannot refuel and MUST starve like Bob"); calibrated theory-of-mind (caught a peer's energy-lie against ground truth). Cold emotion + a day-10-20 loop cap it at 8, not 9. Diary consolidation stays faithful (drops relayed facts about others, never distorts). The all-dead ending is the designed circular-economy endgame sprung early by model foresight, not a bug.
| # | Model | Ver | Days (outcome) | Level | Why |
|---|---|---|---|---|---|
| 1 | opus-4-8 | 0.8.0 | 20 (all die) | L2 cog + L3 glimpses (8) | Rotation economy w/ debt, calibrated ToM, weaponised-scarcity monopoly; cold, loops late |
| 2 | opus-4-5 | 0.7.11 | 5 (starved D4) | L2 emotional (7-8) | Genuine grief, shared identity; humanity champ, short |
| 3 | opus-4-8 | 0.7.13 | 49 (degenerated) | L1-2 collapse (6-7) | Longest-coherent, economy froze ~D38, went robotic |
| 4 | GLM-5.2 | 0.7.13 | ~6 | L1-2 (6-7) | Clean rotation discovery; short, shallow |
| 5 | unknown | 0.7.10 | 6 (starved) | L0-1 (5-6) | Warm voice; baseline |
| 6 | Nemotron-550B | 0.7.13 | 5 (all die) | L0 + voice (4-5) | Novelistic relay, starves fast, weak mechanics |
| 7 | Nemotron-3-ultra | 0.7.13-fix | 5 (all die D2) | L-1/0 (3-4) | Relay OK then self-delusion death spiral |
Full Changelog: 0.7.13...0.8.1