Supersedes: see ADR-003.
texo is claim-chain memory for teams and agents. It ingests markdown, records typed claims in a BatPak journal, supersedes stale claims with receipts, and replays deterministic current context through CLI, HTTP, SSE, MCP, and static compile surfaces.
Git tracks code diffs. texo tracks claim diffs.
cargo run --bin texo -- init --workspace demo
cargo run --bin texo -- ingest sample_sources
cargo run --bin texo -- agent-context --out public/agent-context.json
cargo run --bin texo -- check-staleness sample_sources/stale_onboarding.md --json
cargo run --bin texo -- compile --out publicFor a clean local run:
just demo-freshMulti-workspace scopes live in .texo/config.toml under
[workspaces.<id>]. Use --workspace <id> on any CLI command.
texo init --workspace democreates.texo/config.tomland the store.texo ingest <path>records source and claim events.texo claims,texo agent-context,texo check-staleness <path>,texo conflicts, andtexo verifyare replayed read surfaces.texo relateruns the semantic relation pass whenOPENROUTER_API_KEYis present.texo compile --out publicwrites the static onboarding trophy.texo serveruns the sync HTTP memory-agent server.texo extract <doc.md>runs the LLM extractor and writes NDJSON.texo session export <id>writes a lane-journaled transcript to stdout.texo mcpruns the read-only line-delimited MCP stdio server.
src/events/- v2 payloads, transition machines, coordinates, IDs.src/claims/- per-entity projections and deterministic workspace views.src/extract/- markdown heuristics, LLM extraction, record-once caches.src/semantics/- OpenAI-compatible semantic backends and chat builders.src/ops/- syncbat operation handlers and the Texo effect backend.src/host/- store opening, op composition, canonical fingerprints.src/surfaces/cli/- CLI parsing and renderers.src/surfaces/http/- hand-rolled sync HTTP/1.1 server/client and SSE.src/surfaces/mcp_stdio.rs- sync MCP JSON-RPC 2.0 stdio surface.
Run:
cargo run --bin texo -- serve --root . --workspace memoryThe server exposes:
GET /for the UI (ui/distwhen present, embedded fallback otherwise).POST /api/chatfor model-backed chat grounded in current claims.GET /api/memoryfor the replayed memory snapshot.POST /api/session/endto ingest a session transcript.GET /api/streamfor LiteShip-compatible SSE journal signals.
Session turns are BatPak lane events. They are durable immediately, hidden from lane-0 claim projections, and become normal claims only after session-end transcript ingest. The journal is the session.
The messy Helios corpus in examples/helios/docs/ contains contradictory
deployment, ownership, and storage claims. The semantic pipeline extracts,
relates, supersedes, and compiles it into
examples/helios/onboarding.generated.md.
OPENROUTER_API_KEY=sk-... just demo-heliosRecord-once caches live under .texo/cache/, so cached runs replay without
network. The always-on frozen guard is:
cargo test --test helios_frozentexo is not a database server, consensus system, Slack crawler, Google Docs clone, vector database, or general-purpose LLM extraction framework. The model is optional record-once perception at append boundaries. The journal remains source truth.
Licensed under either of the Apache License, Version 2.0 or the MIT license, at your option.