feat: WorldInterface + Heartbeat v2 (#871, #872) #900

Merged
Timmy merged 1 commits from perplexity/Timmy-time-dashboard:feature/world-interface-heartbeat-871-872 into main 2026-03-22 13:44:50 +00:00

1 Commits

Author SHA1 Message Date
perplexity
c5a92b6fe1 feat: WorldInterface abstraction + Heartbeat v2 loop (#871, #872)
Some checks failed
Tests / lint (pull_request) Has been cancelled
Tests / test (pull_request) Has been cancelled
Add a Gymnasium-style WorldInterface ABC at src/infrastructure/world/
with adapter registry, MockWorldAdapter for testing, and TES3MP stub.

Wire the interface into a new Heartbeat v2 loop (src/loop/heartbeat.py)
that drives observe→reason→act→reflect cycles through whatever world
adapter is connected, with graceful fallback to passive thinking when
no adapter is present. Enrich Phase 1 (Gather) with world observations.

Includes 63 passing tests covering interface contracts, all adapters,
registry, heartbeat cycles (embodied + passive), and WS broadcast.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 11:59:19 +00:00