Skip to content

Define structured provenance for process-local MCP results #598

Description

@lthibault

Context

The shipping MCP topology is process-local: ww shell --mcp owns JSON-RPC and local Glia evaluation, then uses the normal dial/login/graft path to reach daemon-backed capabilities. The former std/mcp WASM adapter is not a shipping runtime.

The process-local adapter currently returns tool results without structured execution provenance. The former guest adapter's WW_CELL_CID annotation identified the adapter WASM, not necessarily the node, namespace, capability implementation, loaded Glia module, or live data that produced a result.

Problem

Define what Wetware can truthfully prove about an MCP result without conflating:

  • local adapter version or build;
  • remote peer identity;
  • grafted namespace head CID and epoch;
  • epoch source provenance (block or IPNS timestamp);
  • executing Glia module or WASM cell CID, when known;
  • capability provider identity and live-state observations.

A result must not claim stronger provenance than the execution path actually establishes.

Constraints

  • Keep ww shell --mcp process-local unless a separate architecture decision reopens topology.
  • Capability membranes remain the authority boundary.
  • Provenance should be machine-readable and should not require parsing text prefixes.
  • Fields must be optional when the corresponding fact is not knowable.
  • Preserve MCP/JSON-RPC protocol integrity and structured error behavior.

Acceptance criteria

  • A short design specifies the provenance vocabulary and trust meaning of every field.
  • Representative calls are mapped: live capability query, IPFS-loaded Glia module, WASM cell execution, and error response.
  • The MCP result envelope exposes provenance structurally, with compatibility behavior documented.
  • Tests prevent adapter identity from being presented as execution-code provenance.
  • Architecture, AI-facing documentation, and GBrain record the decision.

Out of scope

  • Restoring the guest MCP runtime merely to obtain a convenient cell CID.
  • Changing membrane authority or capability attenuation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — planned improvementenhancementNew feature or requestphase:2Phase 2: MCP shell interfaceroadmapDeferred roadmap items

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions