kb://architecture/diamond-map-2026-05-31active2026-06-17

Diamond Map — Phase-0 Compression Cut-List (2026-05-31)

openalicedesignalice-core

Diamond Map — Phase-0 Compression Cut-List (2026-05-31)

Author: norbert-wiener (Opus 4.8) via 10 Sonnet cluster-auditors + Opus synthesis (11 agents, 741K tok). Goal: Compress OpenAlice (69 crates / ~449K LOC src) to be leaner + sharper than Hermes (−76% monolith), claw-code (lean Rust), OpenClaw (breadth) — while the moat only gets sharper. Target: ~44 crates, reclaim ~52K LOC. Verdicts: KEEP_CORE 17 · SHARPEN 17 · MERGE 28 · DEFER 7 · DELETE 0 (no moat crate cut).

Executive summary

Three kinds of fat the leaner competitors already shed: (1) 23-crate test-fixture sprawl (95% copy-pasted YAML-runner scaffold), (2) god-files inside otherwise-MOAT crates (alice-cli main.rs 7884, agentic_loop 3885, codex.rs 3693, chat_prompt 3585, chat.rs 2712), (3) AGI/speculative scaffolds compiled into the live binary but gated OFF by default (agi-safety, modules-hands workers, modules-drivers wasm, agi-skills). The MOAT — soul/persona prompt assembly, deep evolving memory (entity-res/contradiction/forgetting-curve/VAD/emotional), multi-connector live (TG/Discord/A2A), refs+image-gen, coalesce lane-FSM, voice-wake — is real, wired, on the live turn path. None of it is cut; personality TEXT is verbatim-preserved.

MOAT — keep / sharpen, never cut (17)

agents-memory · agents-soul · prompt-composer (Cat-A integrity guard) · core (kernel/loop_runner/dossier/embedding/hnsw/speaker/session) · schemas · agents-tools (bash+A2A+MCP) · agents-safety (HITL/kill-switch/critic) · modules-connectors · coalesce (lane-FSM) · agents-refs · agents-image-gen · voice-wake · sandbox · lsp · agi-core (Lane v2) · middleware · observability.

Ballast — cut / merge / defer

  • 23 fixture crates + golden-snapshots + contract-tests → ONE oa-test-fixtures (shared scaffold once: glob/YAML-parse/exit-map/fixture_home_pin/CapturingSink).
  • transport facade (1487 LOC dead src/connectors/ never wired) → fold aliases into api-router, delete crate.
  • modules facade (44 LOC pub-use) → inline into 5 dependents, delete.
  • ~15 speculative api-handlers routes (appstore/canvas/presence/rooms/packs/dashboard/eval/tunnels/tui/compliance/backup/rank_chart ~4.5K) → delete (off live turn path).
  • DEFER behind feature flags (default-OFF, no delete): agi-safety (4.7K, duplicate ConstitutionalCritic, env-gated OFF) · modules-hands workers (3.5K, cron-only) · modules-drivers wasm (2.2K) · agi-skills.
  • modules-intelligence de-bloat: delete unwired in-process HNSW, dedup web_search (vs agents-tools), archive federation vclock/delegation.

Wave plan (low-risk → high; each guarded: branch + lab + golden + ranker before mvp)

  • W1 (LOW, ~15.5K LOC, −22 crates): fixture collapse 23→1 + transport/modules facade deletes. Zero live-path risk.
  • W2 (LOW, ~12.8K): DEFER speculative scaffolds (agi-safety / modules-hands / modules-drivers wasm / agi-skills) behind cargo features out of the default compile graph. No deletes.
  • W3 (MEDIUM, god-file splits in-place, behaviour-preserving): alice-cli main 7884 → per-subcommand; codex.rs → codex_core+codex_auth; agentic_loop / chat_prompt / chat.rs split; router fallback trimmed.
  • W4 (MEDIUM, ~13.5K): mega-crate de-bloat — delete ~15 speculative api-handlers routes; modules-intelligence dedup; core auth + memory_migration extracted; alice dead-fn deletes (per 2026-05-23 deadcode audit).
  • W5 (HIGH, ~5K): carve agents-runtime (goal_engine/mission/cron/tick/flows/taskrunner/deep_agent ~5.6K) out of agents-soul so soul = pure MOAT prompt assembly. Highest churn → do LAST, single prod cutover, NO A/B on prod chats, behavioral-envelope non-regression + golden byte-identity.

Guardrails (every wave)

Inspector-measured · soul/persona TEXT verbatim-preserved · branch + lab + golden-snapshot + ranker-gated (score must hold/improve) · archive-not-delete · no prod deploy without NAO + green lab.