v2026.7.21: SPEC-244 — Native std.utcp (SBI Peer)
v2026.7.21: SPEC-244 — Native std.utcp
Section titled “v2026.7.21: SPEC-244 — Native std.utcp”SPEC-244 RATIFIED. Janus ships a first-class std.utcp family for agent
tool RPC — capability-gated, SBI-only, length-prefixed over TCP.
Implementation tip: origin/unstable @ 82a77dff.
What’s new
Section titled “What’s new”In-process substrate
Section titled “In-process substrate”- Tool registry with required capabilities
- Sessions: present caps → invoke (or
ERR_CAP_MISMATCH/-1403) - Intern table for well-known tools and caps (compile, version, JPEN apply)
SBI wire (not JSON)
Section titled “SBI wire (not JSON)”Frames use the standard SBI preamble (SBI\0) plus a fixed LE header.
Kinds: invoke request/response, PRESENT, RESET, STAGE.
TCP unit: u32 LE length + SBI frame.
Persistent peer
Section titled “Persistent peer”- Bind
127.0.0.1(ephemeral port supported) - Sequential accept loop or concurrent multi-client accept
- Multi-invoke sessions on one connection
- STAGE +
pipeline.envelope.apply→ SPEC-236 JPEN apply
- Reference: std.utcp
- Tutorial: UTCP peer and JPEN tool
- Spec:
SPEC-244in project_COMPLETED/
Follow-through (same day)
Section titled “Follow-through (same day)”Landed after the initial tip above (current unstable @ 402c62e1):
- LEAS STAGE + LRES response bodies; MANL binary manuals (
utcp.manual) - janusd SBI+HTTP dual-stack;
--jsonkept as INTEROP (not retired) - CHNK multi-chunk STAGE reassembly (16 KiB)
- Schema fingerprint BLAKE3-128 domain-separated KDF
Residual
Section titled “Residual”TLS / non-loopback bind, CAP_NET gates, full Zig lease registry → pure Janus.