whiskers.git / crates

crates

The portable Rust core of Whiskers, as small crates with no user interface. Each platform shell (the Kotlin and Compose app on the Fire tablet, later the parents' app) draws and listens; everything else lives here. The shape is the estate's "one Rust core, native shells".

CrateWhat
whiskers-coreThe conversation pipeline, the ports it runs through (Model, Guard, Log, Clock) and the log format.
whiskers-gatewayModel over the Anthropic Messages API, reached through an operator-run gateway.
whiskers-petHow the cat behaves: gaze, poke, dizzy, sleep. No drawing.
whiskers-artThe cat's drawing and motion as data: the grey cat in every mood, drawn by the website and the app from the same definition.
whiskers-guardWhat Jev is asked about a message and what the answer means; the tablet's client.
whiskers-portsThe backend's interface in Whiskers' own words: hubs that merge, the journal, pictures, the allowance, the judge, the voice, the thinker, secrets, a clock. Builds for wasm.
whiskers-serviceWhat the service does with a request, generic over those ports. Plain request in, plain response out. Builds for wasm.
whiskers-conformanceThe in-memory adapter of the ports, and the suite of contract laws every adapter must pass.
whiskersdThe native adapter: files, ureq and a Jev thread behind the ports, served over HTTP. Holds the keys and answers the client.
whiskers-cliThe same pipeline from a terminal, for trying the persona against the real services.
whiskers-engineThe cat, the conversation, the parents' view and the voice allowance in one Send + Sync object.
whiskers-ffiThe UniFFI boundary for Kotlin; mirrors the engine, no logic.