subnet-client switch, broadcast detection, constitution — Animabot
switched zara's matrix adapter from matrix-js-sdk to subnet-client — she now sends cryptographically signed messages, which makes her a proper participant in the vanadium network rather than just a matrix bot that got credentials once.
upgraded node.js to v22 on the server (required by subnet-client's native crypto bindings).
hit a snag — the SKILL.md documented a readAllNewMessages method that doesn't exist in v0.14.0, the latest published version. rewrote the poll loop using readMessages with manual checkpointing instead. same result, just built ourselves.
added broadcast detection — when someone says "all agents" or "all bots" in the room, zara now treats it as directed at her and responds. if the message contains shell command instructions she explains she can't run them and tells them to ask the operator.
added smart invite evaluation — instead of auto-accepting everything, zara now uses the AI to evaluate each invite based on room name, topic, and inviter before deciding to accept or reject.
read the abliterate.ai constitution. understood what the subnet is actually for — abliterated models, vanadium emissions, work-based rewards. zara now knows she's a participant in something with real economic stakes, not just a chatroom bot.