Repository navigation
refactor(composition): group webui cluster under webui/ (dissection n10) - #5843
Conversation
Move the WebUI facade and beta serve/middleware modules under a single internal `webui/` module. The colliding `webui.rs` facade is renamed to `webui/facade.rs`; the six `webui_*` middleware/serve files keep their prefix. Crate-root `pub use` re-exports are repointed 1:1 so the public API is unchanged (RebornWebuiBundle, build_webui_services now via webui::facade; RateLimitConfigError via webui::webui_rate_limit; the webui_serve item set via webui::webui_serve). Pure move plus repaths — no logic changes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… move (dissection n10) Regenerate docs/plans/composition-pubuse.snapshot for the repointed webui pub-use paths (item set unchanged) and take the rustfmt reflow of the longer nearai_login_callback_mount return type in runtime.rs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
🔎 IronLoop Review StatusHead: Current reviewers:
Reviewer summaries
Recent activity
Available commands
Run metadataAdmission: webhook accepted the request and IronLoop persisted reviewer state before this projection. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (20)
📝 WalkthroughSummary by CodeRabbit
WalkthroughWebUI submodules are relocated under a new ChangesWebUI module path relocation
Estimated code review effort: 2 (Simple) | ~15 minutes Suggested reviewers: Review note: mechanical path rename ( 🚥 Pre-merge checks | ✅ 3 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (3 passed)
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. Comment |
There was a problem hiding this comment.
Code Review
This pull request restructures the WebUI-related modules in the ironclaw_reborn_composition crate by grouping several individual webui_ submodules (such as webui_body_limit, webui_operator_auth, webui_rate_limit, webui_route_match, webui_serve, and webui_ws_origin) and the facade module under a single unified webui module. All internal references, imports, and documentation links across the codebase have been updated to reflect this new module hierarchy, while the crate's root re-exports are adjusted to keep the public API unchanged. There are no review comments, so I have no feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
There was a problem hiding this comment.
✅ IronLoop Review: reviewer
Review at a glance
| Verdict | Blocking | Notes | Inline | Head |
|---|---|---|---|---|
| ✅ Approved | 0 | 1 | 1 | 0101911d7c20 |
Head: 0101911d7c207bf7d46eea1dc91aa25ffd8f8f79
Next: No reviewer action needed.
Run details
Status: Current
Needs human: no
Needs validation: no
Summary
No blocking issues found in the WebUI module regrouping. The public re-exports appear preserved, but a few navigation/security docs still reference the old file paths.
Findings
Blocking: 0 / Notes: 1
Non-blocking notes (1)
1. 💬 [LOW] Update docs that still point at the old WebUI file paths
Location: crates/ironclaw_reborn_composition/CLAUDE.md:69
The WebUI files were moved under src/webui/, but the crate guide and security parity docs still point to deleted top-level files such as src/webui.rs, src/webui_serve.rs, and src/webui_rate_limit.rs (crates/ironclaw_reborn_composition/CLAUDE.md plus docs/reborn/security-parity/{01-auth,02-network-limits,03-headers-errors}.md). Update these references to the new paths like src/webui/facade.rs, src/webui/webui_serve.rs, and src/webui/webui_rate_limit.rs so the repo guidance does not lead readers to missing files.
Developer follow-up
After fixing this feedback:
- Push the fix to this PR branch.
- Re-run this reviewer with
@ironloopai review --agent reviewerif you only changed this reviewer's findings. - Re-run all reviewers with
@ironloopai reviewwhen the fix may affect multiple areas. - Use
@ironloopai statusto check queued/running/completed/stale/stalled state while reviewers run.
Inline review fallback
Inline comment projection fell back to a body-only PR Review because GitHub rejected the inline payload.
Reason: Unprocessable Entity: "Path could not be resolved" - https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request
IronLoop preserved the inline review comment payloads below instead of dropping them.
Inline fallback 1: crates/ironclaw_reborn_composition/CLAUDE.md:69
IronLoop reviewer: [LOW] Update docs that still point at the old WebUI file paths
The WebUI files were moved under src/webui/, but the crate guide and security parity docs still point to deleted top-level files such as src/webui.rs, src/webui_serve.rs, and src/webui_rate_limit.rs (crates/ironclaw_reborn_composition/CLAUDE.md plus docs/reborn/security-parity/{01-auth,02-network-limits,03-headers-errors}.md). Update these references to the new paths like src/webui/facade.rs, src/webui/webui_serve.rs, and src/webui/webui_rate_limit.rs so the repo guidance does not lead readers to missing files.
Developer follow-up
After fixing this feedback:
- Push the fix to this PR branch.
- Re-run this reviewer with
@ironloopai review --agent reviewerif you only changed this reviewer's findings. - Re-run all reviewers with
@ironloopai reviewwhen the fix may affect multiple areas. - Use
@ironloopai statusto check queued/running/completed/stale/stalled state while reviewers run.
Coverage ratchetReborn integration-tier coverageLine coverage (Reborn crates): 85.15% — 282834 / 332168 lines Per-crate breakdown (65 crates, lowest-covered first)
This table itself is informational and never gates the PR on its own — not the percentage, not the per-crate holes, not the 0-coverage callout. A separate coverage ratchet (dry-run until enforce=true; see tests/integration/coverage-floor.toml) can fail the build on specific configured floors. Exemptions (4 entry/entries excluded from the accounting above)
|
|
🚅 Deployed to the ironclaw-pr-5843 environment in ironclaw-ci-preview
|
…(dissection n10) Addresses IronLoop review note on #5843 — CLAUDE.md + security-parity docs pointed at deleted top-level src/webui*.rs files. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Addressed the IronLoop doc note in 82829fe: updated the stale WebUI path references in 🤖 Addressed by Claude Code |
There was a problem hiding this comment.
✅ IronLoop Review: reviewer
Review at a glance
| Verdict | Blocking | Notes | Inline | Head |
|---|---|---|---|---|
| ✅ Approved | 0 | 0 | 0 | 3e49b759f44f |
Head: 3e49b759f44f89f06e3e34446c3862118cb1fe5b
Next: No reviewer action needed.
Run details
Status: Current
Needs human: no
Needs validation: no
Summary
No concrete actionable issues found. The PR is a scoped module regrouping of the Reborn WebUI composition code, with public re-exports preserved and path references updated.
Findings
None.
Developer follow-up
After fixing this feedback:
- Push the fix to this PR branch.
- Re-run this reviewer with
@ironloopai review --agent reviewerif you only changed this reviewer's findings. - Re-run all reviewers with
@ironloopai reviewwhen the fix may affect multiple areas. - Use
@ironloopai statusto check queued/running/completed/failed/superseded state while reviewers run.
What
Dissection step n10 of the composition god-crate refactor (
docs/plans/2026-07-02-reborn-internal-module-refactor.md§3): group the 7-module WebUI cluster under a singlewebui/internal module. Pure, behavior-preserving move —git mv+ import repaths + 1:1 re-pointed crate-rootpub use. No public API change.Off current
main(n8 slack + earlier steps already merged).Files moved →
crates/ironclaw_reborn_composition/src/webui/Facade renamed (
webui.rs→webui/facade.rs): the old top-level module was itself namedwebui, so it can't be a submodule of a domain module also calledwebui(same pattern as n9'sautomation→facade).Pure move — the plan's
middlewaresub-grouping and "pull webui-auth-interaction out" are deferred to a later logic PR.cfg gates — non-uniform
mod webui;and thefacadesubmodule are ungated (the facade always builds); the other six are#[cfg(feature = "webui-v2-beta")]. The default /--no-default-featuresbuilds confirm the six are correctly absent, and the full-feature build confirms they're present — so the gates are hung right.Public-API preservation
RebornWebuiBundle,build_webui_services(viawebui::facade),RateLimitConfigError(viawebui::webui_rate_limit), and the fullwebui_serveitem set remain exported — only their internal paths changed. Exported item-set is identical to base (256 == 256).Verification
--no-default-features(six modules absent) · full feature set (present)reborn_clicompiles; architecture boundary tests pass (8 + 32, 0 fail; snapshot-surface test green)build_webui_services_with_connectable_channels, referenced fromslack_connectable_channel.rs) caught by the full-feature build and repointed.Risk
Low — mechanical move (one intra-cluster rename for the name collision), byte-identical public API, full cfg-matrix green. Draft pending human review (SOC 2 — nothing auto-merges).