Sai/docs/eve-sidecar.md

38 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

2026-07-10 07:27:53 +01:00
# Sai Eve Sidecar
Sai owns retained Ink playback sessions behind the Eve plugin ABI. The sidecar
loads compiled Ink with `inkjs`, applies story commands, and projects the live
session through Sai's `gamecult.eve.surface.v1` module.
The sidecar does not render a runtime, accept provider commands on a provider's
behalf, or execute Norn or TeX semantics. It advertises `norn.graph` and
`tex.math` only as independent optional nested plugins.
## Transport
2026-07-10 11:31:15 +01:00
`src/eve-cultnet-sidecar.cjs` is the runtime-independent service entry point.
It advertises a CultNet RUDP endpoint and accepts `cultnet.operation_request.v0`
envelopes whose MessagePack payload is a `gamecult.eve.plugin_abi.request.v1`.
Responses preserve both the CultNet message correlation and Eve ABI request ID.
`src/eve-sidecar.cjs` exposes the same handler through newline-delimited JSON
for local debugging. It is not the deployment transport.
2026-07-10 07:27:53 +01:00
The retained operations are:
- `open`: create or replace a named Ink session and advance it to its first line.
- `apply`: apply `story.continue`, `story.choose`, or `story.jump` to that session.
- `jump`: exercise a second retained transition without duplicating the ABI's
single `apply` conformance contract.
2026-07-10 07:27:53 +01:00
- `project`: derive a Sai Eve surface from current session state.
- `validate`: identify Sai-owned and foreign component kinds.
2026-07-10 07:27:53 +01:00
- `describe`: report the sidecar's owned and optional capabilities.
Run the owner-side conformance witness with:
2026-07-10 11:31:15 +01:00
```sh
npm run check:eve-plugin
2026-07-10 07:27:53 +01:00
```
2026-07-10 11:31:15 +01:00
The witness starts the real CultNet service, invokes every fixture operation
through RUDP, and writes `artifacts/eve-plugin/runtime-witness.json`.