Radical reform: replace the codebase

Merged
SA
18d ago
+82837-1128514

Replaces the codebase with the radical reform (see RADICAL_REFORM.md for the why, ARCHITECTURE.md for the shape): ~100k lines in 17 crates instead of ~440k across 182 modules.

  • Forge: artisan-api serde types; forge-store (rusqlite, one writer, 10 tables), forge-engines (Claude, Codex, OpenCode, ACP), forge-runs, forge-http (stateless HTTPS + SSE, global seq, mutual-TLS keys).
  • Editor: section crates (core, sidebar, composer, conversation, inspector, settings, marketplace, ui); the transcript is a pure fold of items.
  • ae: CLI, installer and Forge host; ae forge import brings an old Forge's threads across.
  • Deleted: Cap'n Proto protocol/transport, old backend, database, domain, migrations, rotating-secret auth, lease/fence/custody/receipt machinery, dead policy modules.
  • Builds: two profiles, Debug and Release (fat LTO, one codegen unit, abort, stripped).

Clippy passes over the workspace. Known failing tests: editor-conversation scrolling_up_through_long_turns_never_jumps (8 px jump) and editor-ui double_click_drag_extends_by_whole_words.

šŸ¤– Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Replaces the codebase with the radical reform: ~100k lines in 17 crates instead of ~440k across 182 modules, per RADICAL_REFORM.md and ARCHITECTURE.md.

Key changes

  • Forge is now forge-store (rusqlite, one writer, 10 tables), forge-engines (Claude, Codex, OpenCode, ACP), forge-runs, and forge-http (stateless HTTPS + SSE, mutual-TLS keys, pairing).
  • The Editor is split into section crates; the transcript is a pure fold of items.
  • ae is the new CLI, installer, and Forge host; ae forge import migrates threads from an old Forge.
  • Deleted: Cap'n Proto protocol/transport, old backend, database, domain, migrations, rotating-secret auth, and lease/fence/custody/receipt machinery.
  • CI now runs only clippy and tests; two build profiles replace the previous pipeline.

Known failing tests: editor-conversation scrolling_up_through_long_turns_never_jumps (8 px jump) and editor-ui double_click_drag_extends_by_whole_words.