Skip to content

D2 step 1: the routing tables are the kernel's, read unconditionally - #526

Closed
MattJackson wants to merge 1 commit into
p3-flip-llm-delfrom
p6-d2-kernel
Closed

MattJackson wants to merge 1 commit into
p3-flip-llm-delfrom
p6-d2-kernel

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

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/models and /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

  • Moved, not copied: plane_host/engine_view.rs becomes busbar-kernel/src/route_tables.rs via git mv. It carries:
    • EngineTablesView, LaneView, EMPTY_VIEW
    • ConfigTables, the -next lane's kernel-built tables over pools:/models:
    • set_pool_queued_depth
  • Its tests move to src/tests/route_tables_tests.rs. plane_host no longer declares or re-exports the module.
  • Consumers now name busbar_kernel::route_tables: core-admin service.rs, appbuild, state, test_support, root model_egress, and one 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 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::of still takes plane_host's LaneInput/PoolInput. Those move with build_input in 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/models lists the configured models in the resolved order, and /metrics carries busbar_lane_{state,available,inflight,recovery_hint_ms} per model. It is RED on an empty view.

GREEN:

  • fmt
  • check --workspace --all-targets with --all-features and with --no-default-features
  • clippy -D warnings, workspace with --all-features, plus default features on kernel, core-admin and busbar
  • busbar-kernel lib: 2721 passed
  • busbar-core-admin lib: 436 passed
  • busbar bin with the example cdylibs built: 634 passed
  • route_tables_on_the_shipped_binary
  • metrics_scrape_boot_window, default and --all-features

The workspace-wide gates and the oracle are left to the hop, per the cost rule.

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.
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown

promote into p3-flip-llm-del: NO VERDICT @2d4a9059e

The hop ended without writing a verdict (runner lost, timeout, cancel, or it died before the engine judged): preflight: failure at step Run cargo run --locked --release --no-default-features -p busbar-release-cli --bin busbar-release -- ci preflight; publish: runner lost at step Run bash "$GITHUB_WORKSPACE/busbar-release/ci/promote/fallback.sh", Post Run actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1.

No failing-test list exists for this run. Run: https://github.com/GetBusbar/busbar/actions/runs/37585544477 . Re-run the hop, or read the job's step list in the run page.

@MattJackson

Copy link
Copy Markdown
Collaborator Author

Dead: closed when its base p3-flip-llm-del was deleted. It is not on predev, and the D2 stack waits for #464 as task draft-546-d2-kernel-stack. Branch p6-d2-kernel bundled at ~/Library/Caches/busbar-release/salvage/GetBusbar_busbar-p6-d2-kernel-1791610783.bundle and deleted.

@MattJackson
MattJackson deleted the p6-d2-kernel branch October 10, 2026 06:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant