Skip to content

Radical reform: replace the codebase - #504

Merged
sandersonstabo merged 2 commits into
masterfrom
radical-reform
Oct 12, 2026
Merged

sandersonstabo merged 2 commits into
masterfrom
radical-reform

Conversation

@sandersonstabo

@sandersonstabo sandersonstabo commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

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.

Written for commit a290f31. Summary will update on new commits.

View guided diff

sandersonstabo and others added 2 commits October 11, 2026 06:08
Codex streams every subagent's frames on the same app-server connection.
Message deltas, turn starts and settlements, and token usage were read
without their thread, so a child agent's words appeared as the parent's
reply, a child's turn could replace or settle the root turn, and its
usage counted as the root's. Frames that claim another thread now stay
out of the root channel.

Subagents were also never shown: the decoder listened for discovery
methods the app-server does not send and dropped `collabAgentToolCall`
items. A child's `thread/started` and the root's spawn and wait calls
now become `subagent` tool rows keyed by the child thread and named by
its nickname, and the child's turns and reported states settle them, so
Codex agents appear in the inspector like Claude's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rewrite Artisan as the shape RADICAL_REFORM.md decided and ARCHITECTURE.md
describes: ~100k lines in 17 crates instead of ~440k across 182 modules.

- One shared crate of serde types (artisan-api); Forge as forge-store
  (rusqlite, one writer, 10 tables), forge-engines (Claude, Codex,
  OpenCode, ACP for Grok and Cursor), forge-runs and forge-http (stateless
  HTTPS + SSE with one global seq, mutual-TLS keys and pairing); `ae` as
  the CLI, installer and Forge host.
- The Editor in section crates (core, sidebar, composer, conversation,
  inspector, settings, marketplace, ui), the transcript a pure fold of
  items.
- Deleted: Cap'n Proto protocol and transport, the old backend, database,
  domain, migrations, rotating-secret auth, the leases/fences/custody/
  receipts machinery and the dead policy modules.
- Two build profiles: Debug (deps optimised, line tables) and Release
  (fat LTO, one codegen unit, abort, stripped).
- `ae forge import` brings an old Forge's threads across.

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sandersonstabo
sandersonstabo merged commit 9606d2c into master Oct 12, 2026
1 of 7 checks passed
@sandersonstabo
sandersonstabo deleted the radical-reform branch October 12, 2026 23:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant