Skip to main content

VerificationAvailable

Verification

Verification maps changed paths to named checks, runs those checks, and records receipts. It owns the verification and coverage objects in agent-up.json and the receipt ledger.

It never reads the agent commit queue. Record receipts before enqueue. MCP is loopback-only, like the other Agent-Up servers.

Owner

AgentUp.Verification

Tests

AgentUp.Verification.Tests

MCP

/mcp/verification

  1. Plan which checks apply

  2. Run them and record receipts

  3. Guard before enqueue

Tool

run_verification

Tools​

Every tool on /mcp/verification names its target with exactly one of workspaceId or worktreePath, resolved the same way the commit queue tools resolve theirs. Passing both, or neither, is a validation error, and a workspace-bound session passes neither.

  1. plan_verification

    See which checks the current changes require, and which rule selected each.
  2. run_verification

    Run every required check and record a receipt per check.
  3. run_verification_check

    Re-run one check by id after a targeted fix.
  4. guard_verification

    Report whether every required check has a passing receipt matching the current file contents.

Also

CLI

agent-up verify plan · run · guard

Coverage

Runs as patch-coverage inside run_verification

Receipts

.git/agent-up/verification/receipts.json

Planned: receipt export​

Receipts live outside the working tree so one cannot travel in a change proposal and satisfy another machine's guard against bytes it never tested. The side effect is that the evidence cannot be shown to anyone — there is no way to answer "what was proven about this revision?" from off the machine that ran it.

A planned export closes that without weakening the ledger.

Export rules

Contains

Check ids, commands, exit codes, revision, digest

Never contains

The per-file hash map

Skipped checks

Reported with a reason, never counted as proven

Guard

Must not be satisfiable by an exported document

The export is evidence to read, not an input to a gate. Keep the two types distinct so the confusion cannot be expressed in code.

The field contract is the agent-up.json reference. Agent operating rules stay in AGENTS.md.

Next in this slice

Commits

Enqueue only after receipts pass.