Wire consumer-supplied HTTP MCP into kiro.acp session/new (g06.037) - #376
Conversation
Contract 063 admits the URL-plus-header placement. Emit the ACP http form verbatim on production session/new under route-owned name swallowtail-kiro-acp, carry it through the prepared facade and restoration, and name the placement through the Contract 061 projection. Emission stays distinct from honouring: KiroAcpEncodedMcpServers redacts URL and header values in Debug, keeps the wire JSON crate-private, reports is_honoured() == false, and lists the Research 351 gates (initialize-advertisement-unproven, governance-disabled drop, agent-config override). KiroAcpHttpAdvertisement::from_initialize classifies the initialize advertisement without blocking emission. Omission keeps mcpServers byte-identical. No feature-matrix MCP cell becomes Yes. Co-authored-by: Cursor <cursoragent@cursor.com>
VerdictReady to merge at Independent exact-head review of the committed diff against canonical g06.037, Research 351, Contract 063's consumer-supplied HTTP MCP placement, and the g06.019 encoder. No blocking findings. ScopeOwned surfaces only: Oracle
Facade and typed outcome
Guide records ACP-entry precedence over agent-configured servers. ValidationReviewed head
All passed. Head left clean at the reviewed SHA. |
Implements g06.037.
What changed
kiro.acpproductionsession/newnow carries a validated consumer-supplied streamable-HTTP MCP entry (type: "http"with headers) under the route-owned nameswallowtail-kiro-acp. Omission still sendsmcpServers: []byte-identically.mcpmodule: structural validation only (non-empty name, absolutehttp/httpsURL, well-formed header names), values verbatim, redactingDebug, crate-private wire JSON.KiroSessionProfileInput::with_http_mcp_placement, carried throughKiroPreparedSessionandKiroPreparedSession::prepare_working_state_restoration.consumer-supplied-httpwhen an entry is bound.KiroAcpEncodedMcpServers::is_honoured()is alwaysfalseandgates()lists the Research 351 gates (initialize advertisement unproven, governance-disabled drop, agent-config override).KiroAcpHttpAdvertisement::from_initializeclassifies the advertisement.No matrix MCP cell becomes
Yes: emission is proven, live honouring of a remote tool call is not.Validation
cargo fmt -p swallowtail-adapter-kiro -- --checkeffigy validate:focused swallowtail-adapter-kiroeffigy package:verify-affected swallowtail-adapter-kiroeffigy package:apieffigy qa:routeseffigy qa:docsgit diff --checkProvider-free only. No contract, core vocabulary, live session, release, or tag change.