Repository navigation
fix: MCP tool id registry, per-session ACP MCP servers, usage accounting and hardening batch - #7078
Merged
Merged
Conversation
…xecutor and usage accounting
…mit helpers Closes #7059
…'s speed, counters and model price Closes #7058
… quoted-printable and split tokens Closes #7065
…orting no goals Closes #7057
…scrub provider error text after control stripping
… by ownership and document fail-closed tool exposure
…b-agent handle and guard plan-cache billing
… fast mode and error detail; make stable clippy failures visible
…ed transcript meta loader
…ng and hardening batch
This was referenced Nov 14, 2026
Open
Owner
Author
Follow-up issues
|
bug-ops
enabled auto-merge (squash)
November 14, 2026 09:14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Batch of 26 backlog issues: single-writer MCP tool id registry with a typed
McpServerId, per-session ACP IDE MCP servers, Claude usage and error handling, chain-of-entropy wiring, secret scrubber hardening, sub-agent block recording and inherited trust, CI clippy coverage, and mechanical cleanups.McpToolListsingle writer andMcpToolIdsHandlereplace four registries and colon-split server ids; fail-safe join with executor definitions is kept; shadowed tools are shown in/mcp listand the TUI.mcpServersare leased per session on new, load, fork and resume with ownership-safe release and release on connection close. Tools of IDE servers stay hidden (fail-closed) until an allowlist source exists.ChatExtras.entropy(OpenAI, compatible, Ollama) with a retry latch; CoE shadow usage goes toauxiliary; background and ensemble usage is billed at the serving provider's speed, counters and model price; Claudeusage.speed, speed latch, 404 detail logged once.=3D, split tokens), scrubbed provider error text, sub-agent pre-dispatch block recording, inherited trust floor for transcripts and knowledge import, Telegram guest proxy body cap.zeph-skills/minerandtest-utilsof zeph-db, zeph-memory, zeph-index, zeph-orchestration; weekly stable-toolchain clippy workflow.map_or_defaultandassert_matches!sweep, sharedBodyLimit::from_const, plugin overlay renderer, goal list errors, servestore_routing.Breaking changes (listed in CHANGELOG):
McpServerIdin MCP types, removedSpawnContext.session_mcp_servers/mcp_tool_namesandTranscriptMeta.mcp_tool_names,LlmError::ApiError.detail,llm.coe.intra_thresholdrange widened to any finite value >= 0.Closing notes
McpToolListcaches the id set, but the fail-safe join with executor definitions still reads definitions per batch; the remaining per-batch cost is tracked in a follow-up.tests/url_open_loop_guard.rs; items 1 and 2 are added.assert_matches!migration is done; thefrom_utf8_lossypart needs MSRV 1.99 and is a follow-up.McpServerIdstops at the manager and config boundary (follow-up).Verification
Full CI-matching suite on the final HEAD: fmt, clippy
--profile ci(CI feature set, miner, test-utils entries), nextest lib+bins (16866 passed), rustdoc gate,cargo check -D warnings --locked, doc-tests, root integration tests. Local rustc is 1.100 while CI pins 1.98; four 1.100-only lints were suppressed locally.LLM serialization gate: live round-trip on local Ollama (
qwen2.5:0.5b) withchat_with_extraslogprobs and a two-turn agent session without 400/422. Not exercised live: the OpenAI path and the 400 retry latch (wiremock only), CoE escalation through the router, Claude fast-mode billing and 404 detail (unit and wiremock tests only).Follow-up issues: listed in a comment below.
Closes #7075
Closes #7071
Closes #7072
Closes #7070
Closes #7069
Closes #7074
Closes #7073
Closes #7064
Closes #7066
Closes #7063
Closes #7058
Closes #6956
Closes #7052
Closes #7065
Closes #7055
Closes #7027
Closes #7029
Closes #7062
Closes #7061
Closes #7057
Closes #7056
Closes #7060
Closes #7059
Closes #6940
Closes #6925
Closes #7026