Route is the kernel's (spec Part 3, the outbound table, step 1: "KERNEL |
route (pool walk, member, breaker)"), so its tables live in a kernel module of
their own and App::engine_tables_view() answers from them whatever a plane
states.
- plane_host/engine_view.rs is MOVED (git mv, not copied) to
busbar-kernel/src/route_tables.rs: EngineTablesView, LaneView, EMPTY_VIEW,
ConfigTables (the -next lane's kernel-built tables over pools:/models:) and
set_pool_queued_depth. Its tests move to src/tests/route_tables_tests.rs.
plane_host no longer declares or re-exports it; the consumers name
busbar_kernel::route_tables (core-admin service.rs, appbuild, state,
test_support, root model_egress, a serve_door_ported test).
- App::engine_tables_view() returns the kernel's ConfigTables unconditionally;
the fallback plane's runtime slot is no longer consulted for routing.
- PlaneHooks::viewer is now unread, documented as such; it leaves with the rows
that still state it in the plane-hosting deletion step.
RED first:
- route_tables::tests::the_tables_are_the_kernels_whatever_a_plane_states (a
fallback plane contributing a runtime slot and a sentinel view) fails on the
viewer-first read and passes on the kernel read.
- crates/busbar/tests/route_tables_on_the_shipped_binary.rs (new, spawned
binary): /v1/models lists the configured models in the resolved order and
/metrics carries the four lane families per model; RED on an empty view.
Stacked on
p3-flip-llm-del(DEL-LLM), ruled option (b). No hop runs until DEL's PR merges and GitHub retargets this PR to predev. Then predev gets merged in once and the hop runs, including shard 4's oracle cells for/v1/modelsand/metrics.Why
Route is the kernel's. Spec Part 3, the outbound table, step 1: "KERNEL | route (pool walk, member, breaker)". So the routing tables live in a kernel module of their own, and
App::engine_tables_view()answers from them whatever a plane states. Core names no plane type.Change
plane_host/engine_view.rsbecomesbusbar-kernel/src/route_tables.rsviagit mv. It carries:EngineTablesView,LaneView,EMPTY_VIEWConfigTables, the -next lane's kernel-built tables overpools:/models:set_pool_queued_depthsrc/tests/route_tables_tests.rs.plane_hostno longer declares or re-exports the module.busbar_kernel::route_tables: core-adminservice.rs,appbuild,state,test_support, rootmodel_egress, and oneserve_door_portedtest.App::engine_tables_view()returns the kernel'sConfigTablesunconditionally. The fallback plane's runtime slot is no longer consulted for routing.PlaneHooks::vieweris now unread and documented as such. It leaves with the rows that still state it (a2a/mcp/voice and test rows) in the plane-hosting deletion step of D2.ConfigTables::ofstill takesplane_host'sLaneInput/PoolInput. Those move withbuild_inputin a later D2 step.Proof (Latchkey large, tags bundle)
RED first:
route_tables::tests::the_tables_are_the_kernels_whatever_a_plane_states: a fallback plane contributes a runtime slot and a sentinel view. It fails on the viewer-first read ("the configured model") and passes on the kernel read.crates/busbar/tests/route_tables_on_the_shipped_binary.rs, new, spawned binary:/v1/modelslists the configured models in the resolved order, and/metricscarriesbusbar_lane_{state,available,inflight,recovery_hint_ms}per model. It is RED on an empty view.GREEN:
fmtcheck --workspace --all-targetswith--all-featuresand with--no-default-featuresclippy -D warnings, workspace with--all-features, plus default features on kernel, core-admin and busbarroute_tables_on_the_shipped_binarymetrics_scrape_boot_window, default and--all-featuresThe workspace-wide gates and the oracle are left to the hop, per the cost rule.