docs: record secsgem-py daemon interop in roadmap

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-10 18:24:03 +02:00
parent 3d72e50b65
commit 92afbd2a37
+1
View File
@@ -28,6 +28,7 @@ host and stays conformant while the tool software restarts/upgrades/crashes.
| `secs_gemd` daemon | 🚧 | **runs** — engine + HSMS on a background thread, serves gRPC. RPCs done + tested over a real in-process channel: `SetVariables` (name-resolved, value→Item, lands in the model), `FireEvent` (name→CEID), `GetControlState`. `tests/test_daemon_service.cpp` (15 assertions). **Still TODO:** `GetVariables` (needs Item→Value), `SetAlarm`/`ClearAlarm` (needs an alarm `name` config field), `RequestControlState`, `WatchHealth`, and the host→tool **`Subscribe` command stream + `CompleteCommand`** (the hard part). | | `secs_gemd` daemon | 🚧 | **runs** — engine + HSMS on a background thread, serves gRPC. RPCs done + tested over a real in-process channel: `SetVariables` (name-resolved, value→Item, lands in the model), `FireEvent` (name→CEID), `GetControlState`. `tests/test_daemon_service.cpp` (15 assertions). **Still TODO:** `GetVariables` (needs Item→Value), `SetAlarm`/`ClearAlarm` (needs an alarm `name` config field), `RequestControlState`, `WatchHealth`, and the host→tool **`Subscribe` command stream + `CompleteCommand`** (the hard part). |
| `secs_gemd` daemon implementing the service | ⬜ | translate RPCs ↔ runtime; stream host requests | | `secs_gemd` daemon implementing the service | ⬜ | translate RPCs ↔ runtime; stream host requests |
| Reference client library (Python) | ⬜ | thin wrapper over generated stubs | | Reference client library (Python) | ⬜ | thin wrapper over generated stubs |
| Daemon interop test vs secsgem-py | ✅ | `interop/daemon_interop.py` — a gRPC tool + a secsgem-py active host both drive a live `secs_gemd`; proves a gRPC `SetVariables`+`FireEvent` reaches the reference host as `S6F11` over HSMS. Run via the `gemd` compose service. **Java (secs4j) equivalent: ⬜.** |
**Nothing in the proto is wired to the engine yet.** The engine itself is broad **Nothing in the proto is wired to the engine yet.** The engine itself is broad
(56 wire handlers across S1/2/3/5/6/7/10/14/16; all GEM300 stores) — the daemon (56 wire handlers across S1/2/3/5/6/7/10/14/16; all GEM300 stores) — the daemon