Skip to content

Epic: MCP hardening — close the swarm-review findings #418

Description

@tcballard

Purpose

Track the confirmed weaknesses from the 2 August 2026 three-agent Terra review of asdecided/core at fd1c20191351ba74524afd993290c6dfd1c56b16.

The review found no P0. The concentration of risk is MCP: transport hardening, protocol validation, audit correctness, and response-boundary enforcement. The Rust index, freshness, export, and Sentry paths were comparatively sound. The full decided-mcp suite passed while several invalid requests were still accepted, so negative and conformance coverage is part of the corrective programme rather than optional follow-up.

Recommended execution order

Phase 1 — secure and validate the MCP request boundary

These should be designed together so Origin policy, size/deadline controls, version negotiation, and JSON-RPC validation happen before era-specific dispatch. Valid frozen legacy bytes must remain unchanged.

Phase 2 — make compatibility independently testable

Core should consume the language-neutral fixtures directly. This can begin alongside Phase 1, but Phase 1 is not complete until its negative cases are represented in the shared fixture set or an explicitly Core-only integration suite.

Phase 3 — restore MCP product guarantees

Audit semantics and the response budget are user-facing trust contracts. Any intentional changes to ADR-084, ADR-098, or ADR-033 must be recorded as explicit superseding artifacts rather than silent implementation drift.

Phase 4 — make mutation safe

Root confinement lands first. Transactional multi-file replacement must not expand the filesystem attack surface.

Phase 5 — close operability and correctness gaps

Documentation should follow the resolved runtime contracts. Cross-platform runtime coverage then verifies the supported distribution surfaces.

Programme exit criteria

  • Every linked issue is closed by a reviewed PR with focused regression evidence.
  • Accepted decision/design/requirement artifacts match the shipped behavior.
  • asdecided/spec is the authoritative language-neutral MCP compatibility source.
  • Core runs positive and negative MCP compatibility cases in CI.
  • Shared HTTP serving resists stalled and oversized unauthenticated requests.
  • Audit events accurately identify callers and all returned artifacts.
  • Every successful MCP response obeys its configured response budget.
  • Mutation commands cannot write outside the corpus or leave a silent partial rename.
  • Windows and macOS execute representative runtime tests, not compile checks alone.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions