Skip to content

refactor(core): engine drivers in folders - #384

Merged
kinqsradio merged 33 commits into
mainfrom
refactor/core-drivers
Nov 9, 2026
Merged

kinqsradio merged 33 commits into
mainfrom
refactor/core-drivers

Conversation

@kinqsradio

@kinqsradio kinqsradio commented Nov 9, 2026 •

Copy link
Copy Markdown
Member

Summary

  • claude.rs, codex.rs, acp.rs become folders under agents/driver/; no behaviour change.
  • claude: args, settings, mcp, catalog, protocol, events, plan beside usage, workflows; codex: protocol, sandbox, turn, events, catalog, tools, limits, short_sessions; acp: sessions (was acp_sessions), events, models, permissions, replay, sign_in.
  • Tests move with the driver into tests.rs. Largest non-test file is now 642 lines (was 3,438).
  • Public paths (agents::driver::claude::run_args, codex::console_args, acp::known_sign_in, ...) kept through re-exports. Three files leave the Rust size baseline.
  • Per driver: a git mv commit, a tests commit, then one verbatim cut per new file. Six move commits are in .git-blame-ignore-revs, but they are not all pure renames: two (claude, codex git mv) also change one include_str! path; the acp git mv also rewrites super::acp_sessions:: to sessions:: and the use super:: lines in sessions.rs; the three tests commits are extraction plus a one-level dedent. Use git blame -C -C -C across the cuts.

Not pure cuts (all in the commits named above):

  • Moves: include_str! fixture paths gain ../ (claude, codex); acp super::acp_sessions:: becomes sessions:: and sessions.rs use super::{..} becomes crate::agents::driver::{..}.
  • Tests: bodies dedented one level; their imports now explicit instead of use super::* alone.
  • Cuts: only use, mod, pub use lines and pub(super) on items and fields the sibling files need. Code paths changed: sessions::X to super::sessions::X and super::rpc::X to crate::agents::driver::rpc::X in acp replay.rs; usage.rs and workflows.rs import probe_failed/text_of from their new homes.
  • claude::parse_mcp_list (pub(crate), no outside user) is no longer re-exported; acp UpdateMapper is visible to acp only (was driver), its only other user is acp::sessions.

Parity rows

none

Frames built

Frames built: none

Testing

  • Same item names (464 fn/struct/enum/const/impl/trait/type) before and after; same 836 runtime test names from cargo test -- --list (a static count of #[test] attributes is 842; the difference is platform-gated tests, unchanged by this PR) (only acp_sessions::tests became acp::sessions::tests).
  • cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings, cargo test -p orbyn-core (833 passed, 3 ignored), cargo test --workspace, scripts/check_rust_arch.py run locally.
  • Not tested: real engines, packaged app.

Co-authors

none

AI usage

  • Written by hand, with no AI
  • Harness and version: Claude Code 2.1.318
  • Models: claude-sonnet-5-5 (all)
  • Effort: medium
  • Human role: assigned the unit and the rules through the lead session; no line-by-line human review before this PR
  • Sources: none

Checklist

  • Works on Windows and macOS (no platform code touched)
  • web/src/generated with any contract change; docs/architecture.md with any rule change (no contract change; architecture.md names the driver folders)
  • No copied source, secrets, credentials or personal data; no AI attribution in commits, title or branch

@github-actions github-actions Bot added area: core crates/orbyn-core: runs, drivers, workspace, approvals, storage area: ci CI, release and repository settings area: docs docs and Markdown files labels Nov 9, 2026
@kinqsradio
kinqsradio merged commit 8a72415 into main Nov 9, 2026
47 of 49 checks passed
@kinqsradio
kinqsradio deleted the refactor/core-drivers branch November 9, 2026 04:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci CI, release and repository settings area: core crates/orbyn-core: runs, drivers, workspace, approvals, storage area: docs docs and Markdown files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant