diff --git a/docs/mcp-contracts.md b/docs/mcp-contracts.md index 614bcd3281..f910755af8 100644 --- a/docs/mcp-contracts.md +++ b/docs/mcp-contracts.md @@ -252,10 +252,11 @@ restart or recreate the server to apply changes. If a result cannot fit, REA ret `resource_constraint` with `details.resource: "transport"` before constructing a document-sized string. Analysis Evidence remains complete in the current session. Its exact reference is reported in -`details.reported_limits.evidence_reference`; call `inspect_analysis_view` with -that reference for a summary, one section/module, or a stable page, or call -`export_evidence_bundle` with a destination path. Complete -bundle exports stream canonical JSON into an atomically published file. +`details.reported_limits.evidence_reference`; for supported parent operations, +call `inspect_analysis_view` with that reference and a compatible view. To recover +any retained record, export the complete session with `export_evidence_bundle` +to a destination path. Complete bundle exports stream canonical JSON into an +atomically published file. On protocol revision `2026-07-28`, completed replies retain the SDK's `resultType: "complete"`, including the replacement for an oversized error. @@ -384,9 +385,13 @@ To discover existing records without their large payloads, call `get_evidence_bundle` with `detail: "summary"`. Its `result.records` contain Evidence IDs, artifact/provider identities, analysis-profile digests and native procedure metadata. Optional `filters` match exact `evidence_id`, `operation`, -`target_sha256`, `analysis_profile_digest` or `procedure_address`. Use a discovered -ID with `inspect_analysis_view`; neither discovery nor retained selection starts -a provider. `retention: "complete-record"` describes stored Evidence, while +`target_sha256`, `analysis_profile_digest` or `procedure_address`. For a supported +parent operation, use a discovered ID with a compatible `inspect_analysis_view`; +neither discovery nor retained selection starts a provider. For records without +a supported view, use `detail: "records"` to retrieve selected complete records, +or export the bundle to a caller-selected path. Record and bundle delivery are +subject to the MCP response budget. +`retention: "complete-record"` describes stored Evidence, while `native_dossier.value_flow` independently reports truncation, unavailable or unknown metadata. Missing omission counts remain null. Summary output carries every matching record; actual transport admission still applies. Omitted diff --git a/src/contracts/sessionToolContracts.ts b/src/contracts/sessionToolContracts.ts index 8db5fdf4f6..b98c9e716d 100644 --- a/src/contracts/sessionToolContracts.ts +++ b/src/contracts/sessionToolContracts.ts @@ -173,7 +173,7 @@ export const SESSION_TOOL_CONTRACTS = [ ), session( "get_evidence_bundle", - "Return every retained Evidence record and residual unknown as a complete canonical bundle by default. detail=summary discovers retained records without copying or transferring their payloads; optionally filter by exact Evidence ID, operation, target SHA-256, analysis-profile digest or canonical native procedure address. Metadata distinguishes complete record retention from native value-flow truncation or unavailable/unknown coverage. detail=records returns a page (offset, limit) of the matching complete records with unchanged IDs and their missing direct evidence_links; it is not an importable bundle. detail=links reads which evidence_links of the selected records this session or bundle retains, without their payloads: traversal retained-closure also follows retained links, the walk composed workflows require, and rows default to missing links. Use a discovered evidence_id with inspect_analysis_view without restarting a provider. Filters apply to summary, records and links delivery.", + "Return every retained Evidence record and residual unknown as a complete canonical bundle by default. detail=summary discovers retained records without copying or transferring their payloads; optionally filter by exact Evidence ID, operation, target SHA-256, analysis-profile digest or canonical native procedure address. Metadata distinguishes complete record retention from native value-flow truncation or unavailable/unknown coverage. detail=records returns a page (offset, limit) of the matching complete records with unchanged IDs and their missing direct evidence_links; it is not an importable bundle. detail=links reads which evidence_links of the selected records this session or bundle retains, without their payloads: traversal retained-closure also follows retained links, the walk composed workflows require, and rows default to missing links. For supported parent operations, use a discovered evidence_id with a compatible inspect_analysis_view without restarting a provider. Filters apply to summary, records and links delivery.", getEvidenceBundleInputSchema, ), {