Current Features
Two separate simulator binaries:
They duplicate the MQTT setup and publish path, they can't run at the same time, and there's no way for an agent to control either one.
Desired Additional Features
Replace both with a single calypso-sim binary (folder layout under src/bin/calypso-sim/) with four modes that can run together:
| Flag |
Mode |
--auto |
Autonomous heartbeat (default when no other mode is chosen) |
--key-map FILE |
Interactive raw-mode keypress |
--script FILE |
Replay keymap keys from a text file |
--stream |
JSON-RPC 2.0 over stdio, for an agent |
A per-topic owner field (auto / stream / silenced) lets stream and keymap modes claim / release / silence topics, and the autonomous loop skips topics it doesn't own. Stream methods: publish, claim, release, silence, status, list_topics, ping.
Acceptance Criteria
Out of Scope
Stream subscribe for observing other programs, VCU-style request/response, Unix-socket transport, compile-time unsim list.
Builds on #292.
Current Features
Two separate simulator binaries:
manual-sim(Interactive MQTT Injection Tool for Calypso #292) — interactive keypress injector.simulate— autonomous heartbeat for every topic withsim_freq.They duplicate the MQTT setup and publish path, they can't run at the same time, and there's no way for an agent to control either one.
Desired Additional Features
Replace both with a single
calypso-simbinary (folder layout undersrc/bin/calypso-sim/) with four modes that can run together:--auto--key-map FILE--script FILE--streamA per-topic owner field (
auto/stream/silenced) lets stream and keymap modesclaim/release/silencetopics, and the autonomous loop skips topics it doesn't own. Stream methods:publish,claim,release,silence,status,list_topics,ping.Acceptance Criteria
manual-simandsimulateare deleted; replaced bysrc/bin/calypso-sim/modules.--autoruns in the background while--key-mapor--streamis active).TopicRegistrytracks ownership; the autonomous tick checks it before publishing.sim_freq.cargo clippy --bin calypso-simis clean.Out of Scope
Stream
subscribefor observing other programs, VCU-style request/response, Unix-socket transport, compile-time unsim list.Builds on #292.