Skip to content

C4: Extension Points

Enforces P6: MCP is extensible.

An MCP-bearing harness either declares ExtensionPoints or explicitly opts out with None. When non-null, it declares:

  • training_signal_inputs — what feeds the harness's learning loop
  • validation_gate — what validates a proposed new skill
  • allowed_mutation_surfaces — which surfaces T3 may mutate

The extension registry registers an extension's tools against the named harness only when extension_points is non-null — the same path customers use to extend G6.

Enforced at: tests/contract/test_extension_points.py.