Generated by parallel Haiku writer agents during 4-wave audit; covers the substrate at the top-down explanatory level the reviewer asked for. - substrate-overview.md (425 LOC) — top-down: what runs at install, daily, nightly; data-flow ASCII diagrams; how the 4 layers fit - hooks-and-blocks.md (394 LOC) — every hook + every assembler block, with trigger event + severity + rule reference - rust-crates-A-G.md (507 LOC) — first third of the 106 crates, one paragraph per crate - rust-crates-H-N.md (194 LOC) — middle third - rust-crates-O-Z.md (59 LOC) — last third (smaller because alphabet) - skills-and-agents.md (160 LOC) — 67 skills + 43 agent manifests, one row each Encyclopedia complements the auto-generated DNA-INDEX.md: that file is mechanical (count + DNA prefix + sha8), this is narrative (what does this thing do, when does it fire, how to use it). Username-path leaks scrubbed via sed pre-commit: - /Users/<user>/Projects/KeiSeiKit-public/ → <repo>/ - /Users/<user>/ → <home>/ Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
507 lines
26 KiB
Markdown
507 lines
26 KiB
Markdown
# KeiSeiKit Rust Crates: A–G Catalogue
|
||
|
||
> Generated 2026-05-02. Non-kei-prefixed + kei-[a-g]* crates from `_primitives/_rust/`.
|
||
> Constructor Pattern: each crate = one responsibility; largest function <30 LOC, file <200 LOC.
|
||
|
||
## Non-kei-prefixed Crates
|
||
|
||
| Crate | One-line Purpose | Key API Exports | When to Use | Depends On |
|
||
|-------|-----------------|-----------------|-------------|-----------|
|
||
| **firewall-diff** | Compare intended ufw rules (YAML) against live firewall state (from `ufw status numbered` output) | `diff::DiffResult`, `intent::Rule`, `ufw::Parser` | Defensive security audit before deploying firewall rules; CI gate for ufw config drift detection | clap, serde_yaml, serde_json, tempfile |
|
||
| **frustration-matrix** | Regex-based chatlog scanner to compute per-user frustration score (longitudinal matrix, no ML) | `firmware::Firmware`, `categories::Category`, `jsonl::Parser`, `firmware_corpus::Corpus` | User experience monitoring; feedback loop training for `kei-frustration-loop`; JSONL chatlog ingestion | regex, walkdir, serde, flate2, clap, anyhow |
|
||
| **mock-render** | WYSIWYD (What You See Is What's Deployed) enforcer for block-builder site: screenshot → hash lock → source-mutation detect | `render::Render`, `hash::ContentHash`, `state::State` | Preventing "design in UI, deploy different code" bugs; screenshot verification before locking a site section | serde_json, sha2, tempfile |
|
||
| **ssh-check** | Pre-deploy sshd_config linter — parses `/etc/ssh/sshd_config` + drop-ins, enforces hardened baseline rules | `rules::RuleSet`, `parse::Directive`, `check::Violation` | Hardened SSH baseline validation before server deploy; CI gate for sshd_config compliance; multi-config merge (last-wins) | clap, serde_json, tempfile |
|
||
| **tokens-sync** | Single-source-of-truth emitter for Tailwind config + CSS custom properties from JSON design-tokens file | `parse::TokensSchema`, `emit::TailwindConfig`, `emit::CssVariables` | Eliminating color/spacing/font drift between CSS and Tailwind sides; one-way regeneration on token update | serde_json, image (for visual-diff companion) |
|
||
| **visual-diff** | Pixel-level PNG comparator for WYSIWYD drift detection — outputs difference % and red-overlay diff image | `diff::PixelDiff`, `diff::ThresholdResult` | Screenshot regression testing in CI; WYSIWYD enforcement alongside mock-render; smoke-test for design system changes | image, tempfile |
|
||
|
||
---
|
||
|
||
## kei-agent-runtime
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Agent substrate v1 runtime: capability registry, compose/spawn/verify gates + on-return verification layer |
|
||
| **Key API Exports** | `Capability`, `CapabilityRegistry`, `AgentInvocation`, `PreToolUseGate`, `PostReturnVerify`, `ComposedPrompt`, `SimulatedMerge` |
|
||
| **When to Use** | Orchestrator spawning code/research/critic agents; RULE 0.12 agent-git-model fork/verify ceremony; capability gating (auth, pre-commit, post-deploy checks) |
|
||
| **Depends On** | clap, serde, toml, regex, sha2, rand, kei-shared, anyhow, thiserror, once_cell, walkdir, tempfile |
|
||
|
||
---
|
||
|
||
## kei-artifact
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Typed artifact handoff pipeline — BMAD-style document pass-between agents with JSON Schema validation |
|
||
| **Key API Exports** | `Artifact`, `ArtifactStore`, `Validator`, `HandoffLog` |
|
||
| **When to Use** | Agent-to-agent workflow continuity; artifact versioning across RULE 0.12 multi-phase projects; validating output before merge |
|
||
| **Depends On** | rusqlite, clap, serde, serde_json, sha2, chrono, anyhow, tempfile |
|
||
|
||
---
|
||
|
||
## kei-atom-discovery
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Shared atom discovery + frontmatter YAML parsing + safe path join utilities |
|
||
| **Key API Exports** | `discover_atoms()`, `parse_frontmatter()`, `safe_join()` |
|
||
| **When to Use** | Project skeleton scanning; module initialization in `kei-forge` / `kei-cache` / any crate discovering source structure; safe cross-platform path handling |
|
||
| **Depends On** | serde, serde_yaml_ng, walkdir, thiserror, tempfile |
|
||
|
||
---
|
||
|
||
## kei-auth
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Multi-tenant session tokens with scopes + HMAC-signed expiry (SQLite backend) |
|
||
| **Key API Exports** | `Token`, `TokenStore`, `Scope`, `ExpiryClaim` |
|
||
| **When to Use** | Session management for kei-cortex; token issuance for agent API clients; stateless expiry verification (no DB round-trip on validate) |
|
||
| **Depends On** | rusqlite, clap, serde, serde_json, chrono, hmac, sha2, base64, rand, anyhow, tempfile |
|
||
|
||
---
|
||
|
||
## kei-auth-apple
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Sign in with Apple AuthProvider impl for kei-runtime-core — OAuth code → token endpoint → unverified id_token claim decode |
|
||
| **Key API Exports** | `AppleAuthProvider`, `AppleCode`, `AppleClaim` |
|
||
| **When to Use** | macOS/iOS user authentication in kei-cortex; SSO against Apple ecosystem (Wave 7 atomar; siblings: kei-auth-google, kei-auth-magiclink, kei-auth-webauthn) |
|
||
| **Depends On** | async-trait, serde, serde_json, tokio, reqwest, base64, jsonwebtoken, sha2, subtle, kei-runtime-core, wiremock |
|
||
|
||
---
|
||
|
||
## kei-auth-google
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | AuthProvider impl for Google OAuth 2.0 + OIDC (Wave 7 atomar) |
|
||
| **Key API Exports** | `GoogleAuthProvider`, `GoogleCode`, `GoogleClaim` |
|
||
| **When to Use** | Google SSO login flows in kei-cortex; OIDC token validation; sibling to kei-auth-{apple,magiclink,webauthn} in multi-provider auth strategy |
|
||
| **Depends On** | async-trait, serde, serde_json, tokio, reqwest, sha2, subtle, base64, kei-runtime-core, wiremock |
|
||
|
||
---
|
||
|
||
## kei-auth-magiclink
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | AuthProvider impl for passwordless email magic-link tokens (HMAC-SHA256, stateless) — Wave 7 atomar |
|
||
| **Key API Exports** | `MagiclinkAuthProvider`, `MagiclinkToken`, `MagiclinkProof` |
|
||
| **When to Use** | Passwordless email-based auth in kei-cortex; no password DB needed; fallback auth when SSO unavailable; sibling to kei-auth-{google,apple,webauthn} |
|
||
| **Depends On** | async-trait, serde, serde_json, tokio, sha2, hmac, base64, subtle, kei-runtime-core |
|
||
|
||
---
|
||
|
||
## kei-auth-webauthn
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | WebAuthn passkey AuthProvider impl for kei-runtime-core (Wave 7 atomar) — wraps webauthn-rs 0.5; stateless ceremony APIs |
|
||
| **Key API Exports** | `WebAuthnAuthProvider`, `PasskeyChallenge`, `PasskeyProof` |
|
||
| **When to Use** | Hardware passkey / biometric login (Touch ID, Windows Hello, YubiKey); passwordless phishing-resistant auth; sibling to kei-auth-{google,apple,magiclink} |
|
||
| **Depends On** | async-trait, serde, serde_json, tokio, url, webauthn-rs, uuid, kei-runtime-core |
|
||
|
||
---
|
||
|
||
## kei-backend-daytona
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Daytona serverless backend with hibernation (HERMES-MIGRATION P1.2) — resume-or-create sandboxes via REST |
|
||
| **Key API Exports** | `DaytonaClient`, `Sandbox`, `HibernationState` |
|
||
| **When to Use** | Managed sandbox compute for HERMES workflows; cold-start + resume patterns; sibling to kei-compute-{vultr,digitalocean,linode,baremetal} |
|
||
| **Depends On** | tokio, reqwest, serde, serde_json, anyhow, thiserror, async-trait, wiremock |
|
||
|
||
---
|
||
|
||
## kei-brain-view
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Read-only TUI/CLI visualizer of kei-ledger taxonomy graph + agent lineage (Wave 14) |
|
||
| **Key API Exports** | `BrainTui`, `LedgerGraph`, `AgentLineage` |
|
||
| **When to Use** | Debugging agent DAGs; visualizing taxonomy after deep-sleep conflicts; RULE 0.12 agent-git-model branch lineage inspection |
|
||
| **Depends On** | rusqlite, clap, serde, thiserror, kei-dna-index, tempfile |
|
||
|
||
---
|
||
|
||
## kei-cache
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Atom result cache — deterministic wrapping of pure (query/transform) atom invocations |
|
||
| **Key API Exports** | `Cache`, `CacheKey`, `InvalidationTrigger` |
|
||
| **When to Use** | Avoiding re-computation of expensive deterministic atoms (e.g. graph transforms); cache invalidation on input change via `kei-diff` structural checks |
|
||
| **Depends On** | rusqlite, clap, serde, serde_json, sha2, anyhow, thiserror, kei-atom-discovery, tempfile |
|
||
|
||
---
|
||
|
||
## kei-capability
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Hook-protocol CLI adapter — routes PreToolUse check + on-return verify to kei-agent-runtime capabilities |
|
||
| **Key API Exports** | `CapabilityCheck`, `CapabilityVerify`, `HookContext` |
|
||
| **When to Use** | Wiring RULE 0.12 gates into `~/.claude/hooks/` scripts; CI integration for capability verification; Pre/Post-Tool-Use enforcement |
|
||
| **Depends On** | kei-agent-runtime, clap, serde, serde_json, anyhow, toml, tempfile |
|
||
|
||
---
|
||
|
||
## kei-changelog
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Git-cliff-style CHANGELOG.md generator from Conventional Commits |
|
||
| **Key API Exports** | `ChangelogBuilder`, `ConventionalEntry`, `ReleaseNote` |
|
||
| **When to Use** | Auto-generating CHANGELOG from git log on release; Conventional Commit parsing for structured release notes |
|
||
| **Depends On** | clap, anyhow, chrono, git2, regex |
|
||
|
||
---
|
||
|
||
## kei-chat-store
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Session persistence for Claude conversations — port of LBM internal/chat |
|
||
| **Key API Exports** | `ChatStore`, `Message`, `Session`, `ThreadId` |
|
||
| **When to Use** | Persisting Claude conversation history for UI replay; session retrieval across kei-cortex restart; chatlog analysis for frustration-matrix |
|
||
| **Depends On** | kei-entity-store, rusqlite, clap, serde, serde_json, chrono, uuid, anyhow, tempfile |
|
||
|
||
---
|
||
|
||
## kei-compute-baremetal
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | ComputeProvider impl for user-owned bare-metal boxes — registers SSH connection, runs cloud-init equivalent, status-pings via SSH |
|
||
| **Key API Exports** | `BareMetalComputeProvider`, `SshConnection`, `CloudInitPayload` |
|
||
| **When to Use** | Registering existing hardware (no cloud API); SSH-based provisioning; sibling to kei-compute-{vultr,digitalocean,linode} for multi-cloud flexibility |
|
||
| **Depends On** | async-trait, clap, serde, serde_json, thiserror, tokio, kei-runtime-core, kei-shared |
|
||
|
||
---
|
||
|
||
## kei-compute-digitalocean
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | DigitalOcean ComputeProvider impl for kei-runtime-core (Wave 2 redo) — REST v2 + bearer-token auth |
|
||
| **Key API Exports** | `DigitalOceanComputeProvider`, `Droplet`, `SizeSlug` |
|
||
| **When to Use** | DigitalOcean droplet lifecycle (create/destroy/halt/start/resize); mocked tests via wiremock; sibling to kei-compute-{vultr,linode,baremetal} |
|
||
| **Depends On** | async-trait, serde, serde_json, thiserror, tokio, reqwest, kei-runtime-core, wiremock |
|
||
|
||
---
|
||
|
||
## kei-compute-linode
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | ComputeProvider impl for Linode (Akamai Cloud) v4 API — Wave 2 atomar |
|
||
| **Key API Exports** | `LinodeComputeProvider`, `Instance`, `InstanceType` |
|
||
| **When to Use** | Linode instance provisioning; tier validation (g6-nanode-1, g6-standard-*, g6-dedicated-*); sibling to kei-compute-{vultr,digitalocean,baremetal} |
|
||
| **Depends On** | kei-runtime-core, kei-shared, async-trait, serde, serde_json, thiserror, tokio, reqwest, clap, base64, wiremock, tempfile |
|
||
|
||
---
|
||
|
||
## kei-compute-vultr
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Vultr Cloud (v2 API) implementation of the kei-runtime-core ComputeProvider trait |
|
||
| **Key API Exports** | `VultrComputeProvider`, `Instance`, `InstanceType` |
|
||
| **When to Use** | Vultr instance creation/destroy/halt/start/resize; base64 cloud-init dispatch; vc2/vhf tier validation; sibling to kei-compute-{digitalocean,linode,baremetal} |
|
||
| **Depends On** | async-trait, clap, reqwest, serde, serde_json, thiserror, tokio, kei-runtime-core, kei-shared, wiremock |
|
||
|
||
---
|
||
|
||
## kei-conflict-scan
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Deep-sleep conflict scanner — detects rules/hooks/blocks conflicts, orphan files, Constructor Pattern violations (v0.13.0) |
|
||
| **Key API Exports** | `ConflictScan`, `Conflict`, `ConflictCategory` |
|
||
| **When to Use** | RULE 0.15 Phase C deep-sleep consolidation; automated conflict detection before refactor branches; CI gate for RULE 0.13 orchestrator compliance |
|
||
| **Depends On** | clap, serde, serde_json, regex, walkdir, anyhow, tempfile |
|
||
|
||
---
|
||
|
||
## kei-content-store
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Asset + prompt + campaign registry — port of LBM internal/content |
|
||
| **Key API Exports** | `ContentStore`, `Asset`, `Campaign`, `Prompt` |
|
||
| **When to Use** | Managing reusable prompts, assets, campaigns across kei-cortex; content versioning; sibling to kei-chat-store, kei-entity-store |
|
||
| **Depends On** | kei-entity-store, rusqlite, clap, serde, serde_json, chrono, sha2, anyhow, tempfile |
|
||
|
||
---
|
||
|
||
## kei-cortex
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Local HTTP daemon exposing cortex state for UI consumption — kei-cortex-default role + token telemetry + per-turn event tracking |
|
||
| **Key API Exports** | `CortexServer`, `CortexState`, `MessageHandler`, `TokenTracker`, `ModelRegistry` |
|
||
| **When to Use** | Central coordination server for KeiSei agents; UI backend; chat state persistence; model routing; foundational for Wave 55 + Phase 2 telemetry |
|
||
| **Depends On** | axum, tokio, tower, tower-http, serde, serde_json, clap, thiserror, rusqlite, reqwest, uuid, async-stream, toml, bytes, dashmap, walkdir, regex, portable-pty, shell-words, url, lru, nix, chrono, kei-pet, kei-router, kei-shared, kei-ledger, kei-model, kei-token-tracker, tempfile |
|
||
|
||
---
|
||
|
||
## kei-cron-scheduler
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | P4.2 — Hermes-equivalent cron/at/interval scheduler with JSON persistence (fcntl-locked read-modify-write SSoT) |
|
||
| **Key API Exports** | `Scheduler`, `ScheduledJob`, `CronExpression`, `RunnerHandle` |
|
||
| **When to Use** | Background task scheduling without DB; portable flat-file config backup; Hermes-parity; sibling to kei-scheduler (SQL-backed, queryable) |
|
||
| **Depends On** | tokio, serde, serde_json, anyhow, thiserror, chrono, cron, fs2, tempfile, pretty_assertions |
|
||
|
||
---
|
||
|
||
## kei-crossdomain
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Typed-edge cross-domain store — port of LBM internal/crossdomain |
|
||
| **Key API Exports** | `CrossdomainStore`, `Domain`, `Edge`, `Relationship` |
|
||
| **When to Use** | Managing cross-domain relationships; typed edges between entities; sibling to kei-entity-store, kei-content-store, kei-chat-store |
|
||
| **Depends On** | kei-entity-store, rusqlite, clap, serde, serde_json, chrono, anyhow, tempfile |
|
||
|
||
---
|
||
|
||
## kei-curator
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Edge-decay + orphan-prune graph hygiene — port of LBM internal/curator |
|
||
| **Key API Exports** | `Curator`, `DecayPolicy`, `PruneReport` |
|
||
| **When to Use** | Removing stale edges in agent lineage graphs; cleaning up orphan tasks; graph compaction after deep-sleep; data maintenance cron job |
|
||
| **Depends On** | rusqlite, clap, serde, serde_json, chrono, anyhow, tempfile |
|
||
|
||
---
|
||
|
||
## kei-db-contract
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Diff SQL migration schemas against TypeScript type declarations to catch frontend ↔ DB drift |
|
||
| **Key API Exports** | `SchemaDiff`, `SqlParser`, `TypescriptParser`, `DriftReport` |
|
||
| **When to Use** | Pre-deploy type safety check; CI gate for schema-code consistency; catch column-rename bugs before deployment |
|
||
| **Depends On** | clap, serde, serde_json, regex, walkdir, anyhow, sqlparser, tempfile |
|
||
|
||
---
|
||
|
||
## kei-decision
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Linking layer between research output (MASTER-REPORT.md) and decision execution (kei-spawn task.toml + kei-ledger pre-fork) |
|
||
| **Key API Exports** | `DecisionParser`, `ActionPlan`, `ExecutionStep` |
|
||
| **When to Use** | Parsing /research output into actionable task.toml; automating RULE 0.12 fork ceremony; closing research → action pipeline without manual orchestrator work |
|
||
| **Depends On** | clap, serde, serde_json, toml, regex, anyhow, walkdir, tempfile |
|
||
|
||
---
|
||
|
||
## kei-decompose
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Universal decomposition layer — turns ANY MD output (research/audit/sleep/architecture/new-project) into kei-spawn-compatible task.toml + dispatch |
|
||
| **Key API Exports** | `FormatParser`, `Action`, `ActionNormalizer` |
|
||
| **When to Use** | Wave 50 META solution: unified MD format handler for 6+ ad-hoc formats; closing analysis → execution; sibling to kei-decision (research-specific) |
|
||
| **Depends On** | clap, serde, serde_json, toml, regex, anyhow, walkdir, rusqlite, kei-registry, tempfile |
|
||
|
||
---
|
||
|
||
## kei-diff
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Structural JSON diff (RFC 6902 subset: add/remove/replace) — pure computation primitive for drift detection + cache invalidation |
|
||
| **Key API Exports** | `JsonDiff`, `Patch`, `PatchOp` |
|
||
| **When to Use** | Computing cache invalidation in kei-cache; structural change detection in kei-db-contract; WYSIWYD drift in mock-render companion |
|
||
| **Depends On** | serde, serde_json |
|
||
|
||
---
|
||
|
||
## kei-discover
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Wave 14 — federated marketplace discovery stub for KeiSei primitives (metadata-only) |
|
||
| **Key API Exports** | `DiscoveryIndex`, `PrimitiveMetadata`, `SearchQuery` |
|
||
| **When to Use** | Marketplace primitive cataloguing; future discovery UI; RULE 0.12 agent-git-model taxonomy integration (deferred implementation) |
|
||
| **Depends On** | kei-entity-store, rusqlite, clap, serde, serde_json, thiserror, tempfile |
|
||
|
||
---
|
||
|
||
## kei-dna-index
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Read-only adjacency/cluster/precedent index over kei-ledger DNAs (agent taxonomy graphs) |
|
||
| **Key API Exports** | `DnaIndex`, `Adjacency`, `Cluster`, `Precedent` |
|
||
| **When to Use** | Navigating agent DAGs in kei-brain-view; deriving agent relationship graphs; RULE 0.12 agent-git-model post-merge analysis |
|
||
| **Depends On** | rusqlite, clap, serde, serde_json, thiserror, kei-shared, tempfile |
|
||
|
||
---
|
||
|
||
## kei-entity-store
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Convergence-Layer-A engine: schema-driven SQLite CRUD + graph verbs shared across kei-*-store crates |
|
||
| **Key API Exports** | `EntityStore`, `Entity`, `Schema`, `GraphVerb` |
|
||
| **When to Use** | Base class for kei-{chat,content,crossdomain,task}-store; schema validation; sibling APIs; shared migrations |
|
||
| **Depends On** | rusqlite, serde, serde_json, chrono, anyhow, thiserror, tempfile |
|
||
|
||
---
|
||
|
||
## kei-export-trajectories
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Export agent trajectories to ShareGPT JSONL format for downstream model training |
|
||
| **Key API Exports** | `TrajectoryExporter`, `ShareGptEntry` |
|
||
| **When to Use** | Converting kei-ledger agent chatlogs to ML-friendly format; preparing trajectory datasets; training specialized models on agent behavior |
|
||
| **Depends On** | rusqlite, serde, serde_json, anyhow, clap, chrono, tempfile |
|
||
|
||
---
|
||
|
||
## kei-fork
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Managed git-worktree + ledger lifecycle for agent spawns (Wave 15 foundation) — RULE 0.12 agent-git-model orchestration |
|
||
| **Key API Exports** | `ForkManager`, `WorktreeHandle`, `LedgerRow` |
|
||
| **When to Use** | Creating isolated agent branches (RULE 0.12); managing fork/merge ceremonies; ledger row creation on spawn |
|
||
| **Depends On** | kei-agent-runtime, rusqlite, clap, serde, serde_json, toml, thiserror, chrono, tempfile |
|
||
|
||
---
|
||
|
||
## kei-frustration-loop
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Per-user frustration learning loop — feedback ingestion + auto-retrain trigger + nightly Phase-0 cron hook |
|
||
| **Key API Exports** | `FrustrationLoop`, `FeedbackIngestor`, `RetrainTrigger` |
|
||
| **When to Use** | Consuming `frustration-matrix` firmware for online user experience learning; Phase-0 nightly retraining from accumulated feedback |
|
||
| **Depends On** | clap, serde, serde_json, anyhow, flate2, walkdir, frustration-matrix, tempfile |
|
||
|
||
---
|
||
|
||
## kei-gateway
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | P4.1 — Unified messaging gateway: platform adapters (CLI, Telegram, Discord, Slack), sessions, agent cache, delivery router |
|
||
| **Key API Exports** | `Gateway`, `PlatformAdapter`, `Session`, `MessageRouter` |
|
||
| **When to Use** | Multi-platform agent I/O; Telegram/Discord/Slack bridges (stubs in MVP, full impl P4.1.b); stateful session management; message delivery routing |
|
||
| **Depends On** | tokio, async-trait, serde, serde_json, anyhow, chrono, thiserror, lru, sqlx, blake3, dashmap, teloxide (opt), serenity (opt), slack-morphism (opt), tokio-tungstenite (opt), tempfile, pretty_assertions |
|
||
|
||
---
|
||
|
||
## kei-gdrive-import
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Project-folder classifier for one-shot Google Drive → Forgejo import — detects build manifests (Cargo.toml, package.json, pyproject.toml, etc.) |
|
||
| **Key API Exports** | `ProjectClassifier`, `Classification` |
|
||
| **When to Use** | Bulk-importing Google Drive folders into git; auto-detecting Rust/Node/Python/Go/Java projects; pre-migration validation |
|
||
| **Depends On** | clap, serde, serde_json, anyhow |
|
||
|
||
---
|
||
|
||
## kei-git-bitbucket
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Bitbucket Cloud GitBackend impl for kei-runtime-core (Wave 5) — REST v2.0 + HTTP Basic auth (username + app password) |
|
||
| **Key API Exports** | `BitbucketGitBackend`, `Repository`, `Credential` |
|
||
| **When to Use** | Bitbucket Cloud repository operations (create/mirror/clone/push); multi-cloud git backends; sibling to kei-git-{forgejo,gitea,gitlab} |
|
||
| **Depends On** | async-trait, serde, serde_json, thiserror, tokio, reqwest, base64, kei-runtime-core, wiremock |
|
||
|
||
---
|
||
|
||
## kei-git-forgejo
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | GitBackend impl for public Forgejo (Gitea-compatible /api/v1) — Wave 5 atomar |
|
||
| **Key API Exports** | `ForgejoGitBackend`, `Repository` |
|
||
| **When to Use** | Codeberg-compatible Forgejo instances; public git backend operations; sibling to kei-git-{gitea,gitlab,bitbucket} for multi-platform flexibility |
|
||
| **Depends On** | async-trait, serde, serde_json, thiserror, tokio, reqwest, kei-runtime-core, wiremock, tempfile |
|
||
|
||
---
|
||
|
||
## kei-git-gitea
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | GitBackend impl for Gitea (gitea.com / self-hosted) over /api/v1 — Wave 5 atomar |
|
||
| **Key API Exports** | `GiteaGitBackend`, `Repository`, `Organization` |
|
||
| **When to Use** | Gitea self-hosted instances; SaaS gitea.com; mirror/ensure_repo/clone/push operations; sibling to kei-git-{forgejo,gitlab,bitbucket} |
|
||
| **Depends On** | async-trait, serde, serde_json, thiserror, tokio, reqwest, kei-runtime-core, kei-shared, wiremock |
|
||
|
||
---
|
||
|
||
## kei-git-gitlab
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | GitBackend impl for GitLab.com SaaS (and self-hosted via GITLAB_URL) — REST API v4 + PRIVATE-TOKEN auth + git CLI shell-out |
|
||
| **Key API Exports** | `GitlabGitBackend`, `Project`, `PathWithNamespace` |
|
||
| **When to Use** | GitLab.com SaaS projects; self-hosted GitLab instances; REST v4 API + git CLI hybrid; sibling to kei-git-{gitea,forgejo,bitbucket} |
|
||
| **Depends On** | async-trait, serde, serde_json, thiserror, tokio, reqwest, urlencoding, kei-runtime-core, wiremock |
|
||
|
||
---
|
||
|
||
## kei-graph-check
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Post-refactor graph-integrity gate — validates wikilinks, block refs, handoffs (v0.13.0) |
|
||
| **Key API Exports** | `GraphCheck`, `GraphIntegrity`, `RefValidation` |
|
||
| **When to Use** | CI gate for RULE 0.15 Phase C deep-sleep refactors; ensuring wikilink consistency post-merge; RULE 0.13 orchestrator branch verification |
|
||
| **Depends On** | clap, serde, serde_json, regex, walkdir, anyhow, tempfile |
|
||
|
||
---
|
||
|
||
## kei-graph-export
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Export KeiSei registry + ledger as D3 graph space fragment (visualization ready) |
|
||
| **Key API Exports** | `GraphExporter`, `D3Fragment`, `NodeData`, `LinkData` |
|
||
| **When to Use** | Visualizing agent taxonomies in browser; D3 graph rendering; kei-brain-view companion UI export |
|
||
| **Depends On** | rusqlite, serde, serde_json, clap, anyhow, toml |
|
||
|
||
---
|
||
|
||
## kei-graph-stream
|
||
|
||
| Field | Value |
|
||
|-------|-------|
|
||
| **One-line Purpose** | Tail agent-events.jsonl and stream to browser clients via WebSocket (real-time agent visualization) |
|
||
| **Key API Exports** | `GraphStreamServer`, `WebSocketHandler`, `EventStream` |
|
||
| **When to Use** | Live agent event visualization in kei-cortex UI; WebSocket pub-sub for multi-client agent monitoring; RULE 0.12 agent-git-model real-time DAG updates |
|
||
| **Depends On** | axum, tokio, serde, serde_json, clap, anyhow, tokio-tungstenite, reqwest, tempfile, futures |
|
||
|
||
---
|
||
|
||
## Summary
|
||
|
||
**Total crates catalogued:** 49 (6 non-kei + 43 kei-[a-g]*)
|
||
|
||
**Key architectural patterns:**
|
||
- **Layer-A convergence:** kei-entity-store as shared CRUD base for kei-{chat,content,crossdomain,discover,task}-store
|
||
- **Multi-provider pattern:** kei-{compute,auth,git}-* as trait impls (ComputeProvider, AuthProvider, GitBackend)
|
||
- **Graph substrate:** kei-{agent-runtime, fork, ledger, dna-index, brain-view, graph-*} form agent taxonomy backbone
|
||
- **Storage tiers:** rusqlite for local (SQLite bundled), sqlx for async SQL, kei-entity-store for schema-driven CRUD
|
||
- **Workflow automation:** kei-{decision, decompose, conflict-scan, graph-check} close research/audit/sleep → action pipelines
|
||
|
||
**Dependencies:** Predominantly Tokio async + Serde serialization. Minimal external deps (clap, chrono, regex, walkdir). **No ORM, no DI containers, no abstract factories.**
|
||
|
||
---
|
||
|
||
*Generated by code-implementer agent on 2026-05-02. See `/docs/encyclopedia/` for related catalogues.*
|