None of these are needed for basic adoption. Each one is advisory or opt-in: it can add warnings or evidence, but merge stays deterministic.
Parked: contract preflight and the contract drift index
Two experiments shipped inside the CLI until 3.9 and are parked, unchanged but outside the CLI (the rewrite record lists them under its parked features):
- The advisory contract preflight (
gantry contract preflight, MCPgxt_preflight_contract, the optional Jev provider behindTYPESAFE_API_KEY) lives inexamples/jev-preflight/. - The local contract drift index (
gantry contract embed,--embedding-file,--auto-embed,better-sqlite3andsqlite-vec) lives inexamples/contract-drift-index/. The CLI no longer depends on a native module.
Call gantry contract propose (MCP gxt_propose_contract) directly; it is deterministic and needs neither.
Removed: KPI gate and rubric judges
gantry scan, a mission’s llm_verifiers, kpi_gate and aggregators, the committed KPI reports and the architecture and performance rubrics were removed in 4.0. A mission or org policy that still declares them is refused, so a gate nobody runs any more cannot pass silently. Run your producer as the mission’s gate_command or as a checks: command in a verify contract, and let it exit non-zero when it fails. examples/performance-judge/ shows a heuristic check written that way.
Parked: virtual scratch
The opt-in virtual_capture scratch area (.gitagent/virtual/<flight-id>/, captured gate output, purge on success) is parked outside the CLI since 4.0 in examples/virtual-scratch/. A mission’s virtual_capture field is accepted and ignored; gantry init still ignores .gitagent/virtual/ and .gitagent/tmp/.
Design notes: ADR-0020 KPI gate, ADR-0035 performance judge, ADR-0046 contract preflight, virtual scratch record, ADR-0052.