01 · Bridge
Zero-key LLM routing through your own CLIs.
Okuro owns no API keys. bridge_invoke() routes every prompt to an installed CLI subprocess (claude, gemini, codex, cursor) with a capability-aware routing table. Local inference via tm-inference is an optional accelerator, never a dependency.
02 · Bootstrap
One call delivers the full session packet.
Profile, principles, conventions, project state, relevant memories, tech stack, progress, and role catalogue — budgeted to ~13k tokens. Provider-native instruction files (~/.claude/CLAUDE.md, ~/.gemini/GEMINI.md, ~/.codex/instructions.md) are generated automatically, so every agent lands with the same context shape.
03 · Memory
Cross-agent persistent learnings.
Topic-tagged writes — gotcha / convention / decision / learning / architecture — stored once, read by every future session across every provider. Semantic retrieval via sqlite-vec. A gotcha Claude discovers at 10am is visible to Codex at 10:05.
04 · Cortex
A codebase index built for agents.
Semantic search, literal-regex cortex_search_code, file routing ("where does X live?"), header-first reads, section reads. Replaces blind grep/glob/full-file reads. Indexes run as a sidecar; agents hit the index, not the disk.
05 · Progress & Sessions
Every session leaves a trace.
Per-project progress log with summary → files → next-steps. Session compliance scoring tracks which tools were used and which mandatory checkpoints were hit. Tool telemetry feeds compliance_scorecard() — provider-vs-provider behavior over time.
06 · Thoughts & Todos
Capture the half-formed, surface the forgotten.
capture_thought parks ideas, observations, and questions without forcing structure. daily_digest resurfaces unresolved threads you'd otherwise lose. Full todo CRUD with status runs alongside — same store, different intent.
07 · Reminders
ADHD-aware, cascade by default.
set_reminder respects your active-hours windows. Snooze defaults to 15 minutes for the AuDHD profile. The system proposes reminders from observed patterns — you accept_suggestion or reject_suggestion, no silent auto-creation.
08 · People Lens
Communication guidance per human.
person_lens returns tone, formality, and prior-interaction hints for the specific person the agent is drafting to. person_match resolves "the frontend lead in Zurich" to a record. CRUD rounds it out.
09 · Expert Roles
56 roles across 11 domains, self-maintaining.
roles_match(task) picks the best expert for the job. Roles carry learnings (roles_knowledge) and refresh on a schedule — weekly / biweekly / monthly — so domain knowledge never ages silently. roles_maintenance exposes which roles are overdue.
10 · Keyring
Single-source secrets.
Every credential lives in okuro.keyring. Get, set, list, delete — no .env files, no hardcoded tokens, no creds in git history. Agents call keyring_get(name) and never see the value outside the process.
11 · Sysinfo
Machine state without shelling out.
GPU (sysinfo_gpu_status), storage, docker, free-port scanning, service health, and a combined sysinfo_system_overview. Replaces nvidia-smi, df -h, docker ps, curl localhost — with structured output an agent can reason about.
12 · Canon
Registry of tools and skills.
canon_list_tools / canon_list_skills expose the callable ground truth. canon_validate checks consistency — a skill that points at a missing tool fails here, not at runtime.
13 · Stack Governance
Approved choices, proposals, lint.
Per-project stack profiles (e.g., okuro-web-prod) list approved layers — language, framework, db, ops. stack_match(need) checks before install. New choices go through stack_propose → stack_decide_proposal. stack_lint_profile catches drift.
14 · Ingress & Inbox
External input, replayable.
ingress_ingest accepts input from outside channels (webhooks, voice, files). The inbox queue (inbox_list, inbox_replay) lets agents process new items idempotently and replay history when logic changes.
15 · Principles & Profile
Cognition as a first-class config.
13 working principles (DP01–DP09, SYS-*) govern agent behavior. The cognitive profile — neurotype, pet peeves, format preferences, active hours — drives UI adaptations (hierarchy, whitespace, action language) and appears verbatim in every bootstrap packet. One source of truth for "how this human prefers to work."
What's deliberately not here
No UI chrome, no chat front-end, no scheduler, no cloud sync. Okuro is a runtime layer — its job is to answer tools correctly. Presentation lives in whatever agent or app is calling.