osmaczko c59f608ee6
docs: add target architecture reference
Design and review discussions have surfaced diverging views of how the
chat stack is layered. Add a normative reference for the target
architecture so those discussions share one picture.

- Defines the layers — Conversation Core, Client (Generic + Platform),
  Application — with a responsibilities table and call/event flow.
- States the governing principles: caller-driven sync core, sync results
  vs async observations, a data-not-behavioural boundary, and
  easy-edge/powerful-core.
- Documents runtime independence (Generic Client optional; runtime choice
  at the Platform Client) and the Services/ConversationTypes axis.
- Aligns terminology with the chat specifications.
2026-06-09 08:41:05 +02:00
2026-01-30 15:46:36 +00:00

libchat

Supporting library for Logos-chat

Example app

bin/chat-cli is an end-to-end encrypted CLI chat app built on this library. By default it uses logos-delivery (Waku-based) as the transport so two users anywhere in the world can chat by sharing an intro bundle. A local file transport is also bundled in; pick at runtime with --transport <logos-delivery|file>.

# Build logos-delivery with Nix
nix build .#logos-delivery
# Build chat-cli with Cargo
LOGOS_DELIVERY_LIB_DIR=./result/lib cargo build --release -p chat-cli
# Run binary (defaults to --transport logos-delivery)
./target/release/chat-cli --name alice

See bin/chat-cli/README.md for full build, run, and test instructions.

Description
Supporting library for Logos-chat
Readme
Languages
Rust 99.5%
Nix 0.5%