mirror of
https://github.com/ruvnet/RuView
synced 2026-07-28 18:21:42 +00:00
51 lines
2.7 KiB
Markdown
51 lines
2.7 KiB
Markdown
# HOMECORE capability status
|
||
|
||
This document describes the implemented runtime surface as of the current
|
||
alpha. “Implemented” means wired into `homecore-server` and covered by tests;
|
||
workspace libraries alone are not presented as server capabilities.
|
||
|
||
## Implemented
|
||
|
||
| Area | Runtime behavior |
|
||
|---|---|
|
||
| Core | Concurrent entity state machine, entity registry API, shared system/domain event bus, service registry, contexts |
|
||
| Event flow | Committed state changes reach state subscribers and the shared event bus; service calls emit system events |
|
||
| REST | API root, config, list/get/set/delete state, list/call service |
|
||
| WebSocket | Auth handshake, ping, config/states/services queries, service calls, event subscribe/unsubscribe |
|
||
| Backpressure | Per-connection WebSocket output is bounded to 256 messages; slow clients are disconnected from overflowing subscriptions |
|
||
| Authentication | Token allowlist from `HOMECORE_TOKENS`; missing tokens fail startup unless insecure development mode is explicitly enabled |
|
||
| Recorder | SQLite state history listener; broadcast lag is recovered by resynchronizing current state; optional ruvector semantic index |
|
||
| Automation | State, numeric, event, and time triggers; optional YAML loading at server boot |
|
||
| Assist | Authenticated `POST /api/intent/handle` with bounded regex recognition and five local handlers |
|
||
| Built-in services | Real state mutation for `homeassistant`, `light`, and `switch` on/off/toggle; ping and state snapshot |
|
||
| Migration | HA entity registry v1/minor 1–13 parsing and atomic, no-overwrite persistence into a HOMECORE storage directory |
|
||
| Dashboard/BFF | Static UI, calibration proxy, rooms, COG list, appliance metrics, and typed unavailable responses for absent upstreams |
|
||
|
||
## Exact HA-style HTTP surface
|
||
|
||
- `GET /api/`
|
||
- `GET /api/config`
|
||
- `GET /api/states`
|
||
- `GET|POST|DELETE /api/states/:entity_id`
|
||
- `GET /api/services`
|
||
- `POST /api/services/:domain/:service`
|
||
- `GET /api/websocket`
|
||
- `POST /api/intent/handle`
|
||
|
||
This is a compatible subset, not full Home Assistant parity.
|
||
|
||
## Explicitly deferred
|
||
|
||
- Loading native or Wasmtime plugins from `homecore-server`
|
||
- A network HomeKit Accessory Protocol server, pairing, and mDNS advertisement
|
||
- Device-registry persistence and full config-entry conversion
|
||
- Full HA event/history/template/config/check endpoints
|
||
- Restore-state on server startup
|
||
- STT/TTS and satellite voice protocols
|
||
- SEED/federation/witness/privacy upstream services when their daemons are absent
|
||
- Claiming Home Assistant integration parity or production-scale performance
|
||
|
||
Unavailable BFF upstreams return typed `503 upstream_unavailable`. Unsupported
|
||
services are not registered. Synthetic biometric/demo entities are opt-in and
|
||
must not be interpreted as live sensing data.
|