Repository navigation
W0 split: server.rs, main.rs and the Justfile split by area, held to pre-split goldens - #483
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 35 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
Codex Review Summary: ❌ FailedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
| let tactic = parse_tactic_from_json(&req.tactic)?; | ||
|
|
||
| // Apply tactic | ||
| let proof_state = session.state.as_ref().unwrap(); |
|
Add Carrot credits or activate Agent usage billing to use Autofix |
scripts/gates/hotspot-goldens.sh capture was run at 7236e9d, the integ lane head, before any file moves. It records: - 23 help texts, every subcommand to depth 3; - the .route table (20 lines); - the router composition (4 lines); - just --list (166 lines). W0 exit check (5) diffs against these, so the split must leave them unchanged. Never re-capture to silence a diff. `echidna corpus import-octads --help` exits 101 (a panic). The golden records that as behaviour. It is a separate defect, not fixed here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WS4mfQeC3N1DWjcCQJaQqw
…,session,status,ui,verify}.rs This is a pure move (ultraplan NEW:hotspot-split). Handlers move into modules by concern, mod.rs keeps AppState, the router and the shared helpers, and each module imports what it uses explicitly from super::. Visibility is pub(super); nothing new is exported. The move is the one prepared in bf79c02. Three changes that landed on main afterwards are carried over: diagnostics_health_handler and the two prove_handler record_prover_result calls now propagate dispatcher errors as AppError::InternalError. Checked: - cargo check --bin echidna is clean, with and without --features verisim. - Comparing line multisets of the original server.rs and the new modules, ignoring use lines and visibility, leaves only import regrouping, a wrapped verify_handler signature, and cfg guards on imports that only the non-verisim path uses. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WS4mfQeC3N1DWjcCQJaQqw
…session,provers,lexicon,corpus,design}.rs This is a pure move (ultraplan NEW:hotspot-split). main.rs keeps only main(): it parses Cli and dispatches. - cli/args.rs holds the clap definitions (Cli, Commands, CorpusOp, LexiconOp, DesignOp, ProveOutput). - cli/util.rs holds the shared helpers. - Each other module holds one command group, unchanged. Moved items become pub(crate) so main() can reach them, and Cli's fields become pub(crate) for the same reason. Imports were narrowed per module with cargo fix, plus six removed by hand, so nothing is allow-listed. Checked: - cargo check --bin echidna --all-targets has no warnings. - With --features verisim, only the pre-existing ProveRequest never-read warning remains (also on main). - Comparing line multisets of the original main.rs and the new files, ignoring use, mod and visibility, leaves only one signature that rustfmt wrapped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WS4mfQeC3N1DWjcCQJaQqw
This is a pure move (ultraplan NEW:hotspot-split). The root Justfile keeps
the settings, the project variable and the default recipe, and imports
just/{init,build,proofs,dev,corpus,ui,containers,chapel,spark,creusot,
other,onboarding,corpus-design,saturation}.just in the order the
sections used to appear.
The optional contractile.just import moves to the end. Its recipes then
list after the project recipes, as before. Without that, `just` (which
runs --list --unsorted) would show them first.
Checked:
- `just --list` and `just --list --unsorted` are byte-identical to
their output before the split.
- `just --evaluate project` and a dry run of a moved recipe resolve.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WS4mfQeC3N1DWjcCQJaQqw
…lit tree hotspot-goldens.sh now prefixes each .route/.merge/.nest line with its owning module (first component under src/rust/). These goldens were captured on the pre-split tree (535274c) with that script and match the post-split tree exactly: 18 server routes and 2 groove routes, so a route moved to a different router now shows as a diff. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WS4mfQeC3N1DWjcCQJaQqw
8700840 to
d06d858
Compare
|
This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins. |
|


Summary
This is the W0 "split" lane. It is stacked on #475, which carries the gate it is checked against. Three hotspot files are broken into modules by area. Behaviour is held fixed by goldens captured on the pre-split tree, and W0 exit check 5 compares them. Nothing is renamed or redesigned.
Changes
tests/golden/hotspot/holds 27 files captured before any move: every route, the router composition, and--helpfor each CLI command and subcommand.scripts/gates/hotspot-goldens.shregenerates them and compares.src/rust/server.rs→server/{mod,agent,prove,search,session,status,ui,verify}.rs(a2fb862). Handlers move by route family.mod.rskeeps router composition and shared state.src/rust/main.rs→cli/{args,util,prove,verify,search,session,provers,lexicon,corpus,design}.rs(ee2ed98).main.rskeeps only parsing, tracing set-up and dispatch;cli/mod.rsre-exports the command functions.Justfile→just/*.just(9444837). There are 14 files, one per area, pulled in byimport. The contractile import stays last. Recipe names and bodies are unchanged;just --listmatches before and after.main(rmcp 3.9.0, rustfmt onproof_search.rs, and the Zig-cast annotations).RSR Quality Checklist
Required
cargo check --binsafter the merge. I have not run the fulljust teston this branch: disk here is limited. This PR's CI runs it.cargo fmt --all -- --checkis clean).cargo clippywas clean when the split landed).unsafe.As Applicable
CLAUDE.md's structure tree still listsserver.rsandmain.rs. That reconcile is reserved for the rulings lane (chore: drop*wildcard from CODEOWNERS to stop Dependabot review pings #58), so this PR does not editCLAUDE.md.Testing
bash scripts/gates/hotspot-goldens.sh checkexits 0: routes, router composition and CLI help are byte-identical to the pre-split capture.cargo check --binsandcargo fmt --all -- --checkpass on the merged head.echidna corpus import-octads --helppanics (exit 101). It has its own follow-up.Refs #416
Generated by Claude Code