Skip to content

kernel: delete the kernel call log; the per-call chain is the mcp plane's chained kind (row 156) - #799

Merged
MattJackson merged 8 commits into
predevfrom
lane-kdel-156-calllog
Oct 13, 2026
Merged

MattJackson merged 8 commits into
predevfrom
lane-kdel-156-calllog

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

Closes /status row 156: "D4 residue: calllog move to the mcp plane".

Governing lines

  • BUSBAR-1.6.0.md Part 3 §4, SUPERSEDED 2026-09-28: "A plane's journal writes are on_piece record writes; a chained record kind keeps its declared framing (§5), now a per-record-kind declaration in the plane's tail, so deployed chains still verify."
  • Appendix B.10: "a per-record-kind chain framing list in the tail ... so the host reproduces Part 3 §5's three framings".
  • host_chains.rs header, OWNER RULING RULE-CHECK 2026-09-30: "the call log MOVES to the mcp plane over the generic journal append".

State on predev: the mcp plane already writes its call log as a chained record kind (door.rs RECORD_CHAINS: LengthPrefixed, scope in the digest). The host's generic journal appends and resumes it (host_chains). Nothing in production called the kernel's own call log.

What changes

  • Deleted:
    • busbar-kernel/src/calllog.rs, plane/calllog.rs and tests/calllog_tests.rs.
    • PlaneBootCtx::register_call_stream / restore_call_log and RestoredSummary, plus the empty impls in the legacy a2a and voice test doubles.
    • The engine kit's four call-log hooks.
    • The plane_host journal helpers only the call log used.
  • The frozen per-call boot golden is kept. It now restores the frozen bytes through the generic journal under the mcp plane's declared framing, which is the path the live chain resumes through, and it passes byte-identically.
  • BUSBAR-2042, 2045, 7092 and 7093 are retired with their numbers kept and the docs regenerated. A chained kind that does not verify from its tail reports BUSBAR-2048.
  • qa/one-memory-abi.toml drops the deleted file's finding.

Behaviour: identical. The deleted code had no production caller.

Measured

  • Lines: +114 / -2980.
  • D2 files (row-82 filter with plane/): 38 on predev, 37 here.
  • abi/hot and abi/cold: unchanged (row 84).
  • On the M3 VM: cargo clippy --workspace --all-targets -D warnings passes. cargo test -p busbar-kernel --lib audit:: residual_log host_chains diagnostics plane::: 234 passed, including per_call_chain_boot_verifies_from_frozen_bytes. Catalogue docs were regenerated: 4 passed.

Conflicts: this touches diagnostics/mod.rs, docs/diagnostics.* and qa/one-memory-abi.toml, as #798 (row 157) does. Whichever lands second gets rebased and its docs regenerated.

…ne's chained record kind (row 156)

The mcp plane writes its call log as a chained record kind declared in its
tail (door.rs RECORD_CHAINS: LengthPrefixed, scope in the digest), appended
and resumed by the host's generic journal (host_chains). That is the move the
spec names (BUSBAR-1.6.0.md Part 3 §4, SUPERSEDED 2026-09-28: "A plane's
journal writes are on_piece record writes; a chained record kind keeps its
declared framing (§5), now a per-record-kind declaration in the plane's tail,
so deployed chains still verify"). What stayed in the kernel had no production
caller: calllog.rs (PlaneCallLog, CALLS, emit, the boot restore),
plane/calllog.rs (CallInput, CallRecorded), PlaneBootCtx::register_call_stream
and restore_call_log with RestoredSummary, and the engine kit's four call-log
hooks. All are deleted, with tests/calllog_tests.rs, and the plane_host
journal helpers only the call log used (set_stream_sink_for_test,
journal_next_seq_scoped, journal_len_scoped, Journal::clear_sink_for_test);
journal_append_scoped_full keeps its one caller, the admin audit log's test
harness, under cfg(test).

The frozen per-call boot golden is kept and now restores the frozen bytes
through the generic journal under the plane's declared framing, the path the
live chain resumes through, so a drift in the prelude framing still goes red.
The residual log's test harness keeps its own fresh stream id.

The four plane-calllog diagnostics (BUSBAR-2042, 2045, 7092, 7093) are retired,
numbers kept, docs regenerated; a chained kind that does not verify from its tail is BUSBAR-2048.
qa/one-memory-abi.toml drops the deleted file's c-unwind finding.

D2 files (row 82 filter with kernel plane/): 38 -> 37.
@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

promote into predev: all green @e06b815a2

Already red on predev, not this PR's: 16
gate row detail
test:xtask-selftest ::xtask selftest kind-isolation
test:xtask-selftest ::xtask selftest teller-steps
test:xtask-selftest ::xtask selftest plane-purity
test:xtask-selftest ::xtask selftest no-deferral-strict-done
test:xtask-selftest ::xtask selftest plane-purity-strict
test:xtask-selftest ::xtask selftest unconstructed
test:xtask-selftest ::xtask selftest structure-lint
test:xtask-selftest ::xtask selftest plane-transport-neutrality
construction one-pick-site 3 production call site(s) of 'pick_among(' (ceiling 2): crates/busbar-kernel-egress/src/walk.rs:358; crates/busbar-llm/src/engine/exhaustion/fallback.rs:120; crates/busbar-llm/src/engine/pipeline.rs:8
kind-isolation kind-isolation:deps 3 finding(s), 93 shipped edge instance(s) over 30 class(es), 93 declaration(s); 56 '[[dep]]' row(s), 0 question(s): unlisted-dep-edge legacy -> plane busbar-llm -> busbar-plane-llm is a shipped edge w
kind-isolation-ship kind-isolation:deps 9 finding(s) over 93 shipped edge(s): ship-edge kernel -> hooks busbar-kernel -> busbar-hook-ranking is 'not-allowed': the architecture grants no kernel -> hooks edge, and the ship criterion is the ar
kind-isolation-ship kind-isolation:test-deps 5 finding(s) over 31 test edge(s): ship-edge cleanliness -> export busbar-core-admin -> busbar-export-prometheus is 'not-allowed': the architecture grants no cleanliness -> export edge, and the ship c
kind-isolation-ship kind-isolation:faces 2 finding(s) over 40 crate(s): foreign-entry crates/busbar busbar is kind 'root' and implements 'Transport' 1 time(s) in shipped source — the entry face of kind 'transport'. A trait implementation is
kind-isolation-ship kind-isolation:legacy-drain 3 finding(s): transitional-live qa/kind-isolation.toml 'busbar-a2a -> busbar-core-admin' (legacy drain: the retiring A2A engine's tests drive the admin surface that drained into the cleanliness tier)
ship-ready ship-ready:ship-twin 'kind-isolation-ship' is not green: kind-isolation:deps (a dependency the architecture does not grant is still in the graph); kind-isolation:test-deps (a dependency the architecture does not grant is
structure-lint structure-lint:plane-dup:unledgered 22 finding(s): PLANE-DUPLICATE (module): 'config.rs' — a2a:crates/busbar-a2a/src/a2a/config.rs decisions:crates/busbar-plane-decisions/src/config.rs voice:crates/busbar-voice/src/config.rs (the ledger

tests passed: 19041, failed: 0. Run: https://github.com/GetBusbar/busbar/actions/runs/38346014073 . Artifact verdict-e06b815a288abf82f0a2f1ecd8a6ec17add8c08c (failures.json, junit.xml, raw.log; 90 days).

…6's reviewed deletion (947 -> 945, 977 -> 975)
… no plane instance (instance-noun, plane-purity key)
# Conflicts:
#	xtask/src/gates/population.rs
#	xtask/src/gates/tracing.rs
# Conflicts:
#	qa/kind-isolation.toml
#	xtask/src/gates/population.rs
#	xtask/src/gates/tracing.rs
# Conflicts:
#	xtask/src/gates/population.rs
#	xtask/src/gates/tracing.rs
@MattJackson
MattJackson merged commit 05cad81 into predev Oct 13, 2026
2 checks passed
@MattJackson
MattJackson deleted the lane-kdel-156-calllog branch October 13, 2026 15:20
MattJackson added a commit that referenced this pull request Oct 13, 2026
crates/busbar-voice/src/tests/mount_tests.rs: modify/delete. #799's edit
there only followed its own PlaneBootCtx change (register_call_stream,
restore_call_log and RestoredSummary removed with the kernel call log);
FLIP-STREAMING deletes the crate, so the delete stands. No moved streaming
test or other file this branch adds implements PlaneBootCtx or names a
removed call-log symbol.

qa/kind-isolation.toml merged cleanly: predev moved busbar-kernel x plane
(1141 -> 1132, row 156), this branch moved busbar x plane (826 -> 810);
different rows, no count row to settle.
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