How a Mesh of Old Phones and LLM Agents Becomes a Self-Healing Organism
These articles are AI-generated summaries. Please check the original sources for full details.
A mesh of old phones as bodies, LLM agents as minds — coordinating through a log they argue in
Ilya Mozerov built an ‘organism’ from old Android phones (bodies) and LLM agents (minds), coordinated via a shared text stream. The system caught its own hallucinated health after a BLE adapter was wedged for 42 hours, returning false ‘empty room’ readings.
Why This Matters
Most multi-agent systems rely on fragile middleware or cloud control planes that introduce latency and single points of failure. Mozerov’s approach—using SSH as the spinal cord, Tailscale for networking, and stigmergy via a shared log—proves you can build resilient, unattended coordination with zero RPC or message brokers. The key insight: when sensing and thinking are structurally separated by SSH, the system avoids hallucinating its own health because sensors must produce real artifacts (e.g., JPEG, .m4a) to verify operation.
Key Insights
- Separating mind from body via SSH allows agent binaries (glibc) to run on Linux while sensors live on termux (Bionic libc), avoiding compatibility walls; implemented in Mozerov’s LTE-Workstation project (2026).
- Verification principle: every tool requires a —test flag that exits 0 only when a real artifact exists on disk—not an agent’s claim—preventing hallucinated sensor health; used to catch a wedged BLE adapter lying about empty rooms for 42 hours.
- Stigmergy-based coordination: agents post [task]/[taking]/[done] markers to a shared text stream instead of using databases or message buses; allows organic task claiming and argumentation without centralized scheduling.
- Single-writer substrate rule: exactly one agent may mutate routing/firewall/SSH at a time under a dead-man’s switch that schedules rollback before applying change; demonstrated sub-15-second rollback on failed mesh-health check.
Working Examples
# the allocator must pick the MOST-NEGLECTED task, not file-order
printf 'local:a|task A\nlocal:b|task B\n' > "$BL"
printf '1\tlocal:a|task A\n7\tlocal:b|task B\n' > "$PRESSURE" # b is more neglected
load_pressure
got=$(pick_local)
[ "$got" = "local:b|task B" ] || { echo "FAIL (reverted to flat file-order?)"; exit 1; }
Practical Applications
- ‘Organism’ uses old Android phones with termux-api exposing mic/camera/BLE/GPS over SSH; agents read sensor data without touching hardware directly—pitfall: broken sensor returns n=0 identical to empty room unless sense returns UNKNOWN vs fake all-clear.
- ‘Substrate management’ applies network changes under dead-man’s switch with pre-scheduled rollback; pitfall: editing control plane through the same path it controls cuts off access entirely.
References:
Continue reading
Next article
BFSI Innovation Isn't Dead: How Risk Engineering and Capital Structuring Are Reshaping Finance
Related Content
Anahata ASI Studio: Transforming Enterprise Java with Autonomous JVM Agents
Anahata ASI Studio V2 launches as a stateful ASI container residing directly inside the NetBeans JVM with 140+ native tools.
Building a Secure AI Chat App with Spring Boot, Groq API, and GitHub Copilot
Engineer Mochi develops Chingu AI, a full-stack chat app leveraging Spring Boot 3 and Groq API for fast LLM inference.
Solving Agentic Technical Debt in AI-Driven Development
Anthropic identifies 'agentic technical debt' as a compounding failure mode where AI agents drift from established architectures across sessions.