Skip to content

(mcp) Enforce hard response budgets - #425

Merged
tcballard merged 1 commit into
mainfrom
codex/mcp-response-budgets
Aug 2, 2026
Merged

(mcp) Enforce hard response budgets#425
tcballard merged 1 commit into
mainfrom
codex/mcp-response-budgets

Conversation

@tcballard

@tcballard tcballard commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

Implements #411. The native MCP server now treats the response budget as a hard successful-payload limit across stdio and HTTP.

What changed

  • Enforce deterministic hard caps in the shared Rust serializer for summaries, deep relationship neighborhoods, outgoing targets, attention, matches, items, and artifact content.
  • Return a small structured response_budget_exceeded payload when fixed fields cannot fit instead of returning an oversized success.
  • Add decided-mcp --budget N for both transports with an explicit 128-character minimum; reject undersized per-call budgets for get_artifact and retrieve_grounding.
  • Thread the configured budget through stdio and HTTP without changing frozen protocol/list bytes.
  • Add ADR-128, update the MCP wire contract and public docs, and add deterministic/unit plus end-to-end stdio/HTTP coverage.

Validation

  • cargo test --workspace
  • cargo clippy -p asdecided-core -p decided-mcp --all-targets -- -D warnings
  • git diff --check
  • Rebased onto the merged (mcp) Restore complete and attributable audit records #424 commit; the PR now contains only the nine budget files and is ready to squash-merge once GitHub CI is green.

@tcballard
tcballard changed the base branch from codex/mcp-audit-records to main August 2, 2026 18:06
@tcballard
tcballard marked this pull request as ready for review August 2, 2026 18:06
@tcballard
tcballard force-pushed the codex/mcp-response-budgets branch from 8e92a96 to 523b563 Compare August 2, 2026 18:23
@tcballard
tcballard merged commit 5758918 into main Aug 2, 2026
8 checks passed
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