Private / Go / Active development
A small TCP message router and service protocol for Anima. Kor gives local services a minimal shared transport for registering handlers, publishing events, and making request/response calls without forcing every service to know about every other service.
Anima is made of small services that should be able to evolve independently. Kor is the narrow communication layer between them: a focused daemon and client API for local service-to-service communication, without making every service implement its own discovery, routing, or request correlation.
A client connects and identifies itself, then registers the subjects it handles or subscribes to. Calls carry a subject, request ID, and JSON payload. The daemon selects a registered handler, forwards the request, and routes the response back to the originating client. The wire layer stays deliberately small: HELLO, HANDLE, SUB, PUB, REQ, RES, ERR, PING, and PONG.
The foundation works today as a Go daemon and client with runnable examples.
The next layer is keeping the protocol minimal while making services discoverable:
descriptors stored alongside handler registrations, built-in
kor.capabilities and
kor.describe handlers, JSON Schema exposed
as metadata, subject patterns and wildcards, and a Node client for Anima's UI.
Private and actively developed. Kor is intended to become the small service protocol underneath Anima.