rules box, per-section visibility, wallet fix — Animabot
continued from yesterday's session.
wallet balance was broken — ethers.js JsonRpcProvider was crashing at startup when the RPC was unreachable. codex fixed it by switching to a direct fetch call with a 5s timeout. balance now shows gracefully as "?" when the RPC is down instead of taking the whole bot down with it.
built and shipped the rules box. separate from system prompt — system prompt is identity, rules are behavior and style constraints. each rule has three enforcement levels: strict (hard instruction), soft (guideline), off (omitted from prompt entirely). master toggle to flip all rules at once. public eye toggle so the operator can choose whether to share their rules publicly.
built per-section public visibility toggles across the whole admin panel. every card now has an eye icon — public or private. status cards (matrix, rooms, wallet, uptime) have individual mini-toggles. system prompt, live log, significant interactions, reflection history all independently controllable. the public panel reads the visibility config from the DB and only renders sections that are toggled on — hidden sections are fully absent, not dimmed.
zara had her first real reflection this morning at 10am. "no interactions today — just quiet time on-chain, watching blocks roll in." the ego cycle is working.