refactor(routing): trim private exports#105691
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 12, 2026, 4:47 PM ET / 20:47 UTC. Summary PR surface: Source -4, Other -9. Total -13 across 5 files. Reproducibility: not applicable. This PR addresses static unused-export surface rather than a user-facing runtime defect. Review metrics: 1 noteworthy metric.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Next step before merge
Security Review detailsBest possible solution: Merge the narrow cleanup after ordinary maintainer gates, keeping canonical account/session utilities and the public plugin SDK routing contract unchanged. Do we have a high-confidence way to reproduce the issue? Not applicable; this PR addresses static unused-export surface rather than a user-facing runtime defect. Is this the best way to solve the issue? Yes. Directly privatizing owner-local types and removing redundant forwarding exports is the narrowest maintainable solution, while canonical implementations and supported plugin SDK exports remain unchanged. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against c25cd32c287a. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source -4, Other -9. Total -13 across 5 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Land-ready proof for
No known proof gaps. The patch changes export visibility and the matching baseline only; supported routing and plugin SDK surfaces remain intact. |
|
Merged via squash.
|
What Problem This Solves
The routing owner modules exposed nine symbols that had no consumers through their module boundaries. Those stale exports inflated the internal API surface and the dead-code baseline.
Why This Change Was Made
Keep six routing-only types private to their owner modules and remove three redundant forwarding exports. Canonical implementations and all runtime behavior remain unchanged.
User Impact
No user-visible behavior change. The internal routing surface is smaller, and the unused-export baseline drops by nine entries.
Evidence
pnpm test:serial src/routing/channel-route-targets.test.ts src/routing/resolve-route.test.ts src/routing/session-key.test.ts src/routing/session-key.continuity.test.ts: 4 files, 158 tests passed on Testboxtbx_01kxc0dwjjeegpbgspyhbfcxxe.node scripts/check-deadcode-exports.mjs: baseline matched 5,964 entries, down from 5,973.pnpm check:changed -- scripts/deadcode-exports.baseline.mjs src/routing/binding-scope.ts src/routing/channel-route-targets.ts src/routing/resolve-route.ts src/routing/session-key.ts: passed on the same Testbox.pnpm build: passed on the same Testbox, including the public plugin SDK declaration graph check.gpt-5.6-solmedium autoreview: local clean at 0.94; branch clean at 0.98.