Skip to content
⌘K

mm_verify

Run one phase of the iterative verify-spec pipeline — start_run/finish_run delimit a measured run; the other phases perform checks, classification, persistence, confidence, and promotion. phase must be one of the enum values below; see the verify-* sources under src/tools/ for per-phase argument shapes.

  • Category: Core
  • Source: Built-in
  • Availability: Listed by default
  • Required parameters: 1
  • Total parameters: 68
ParameterTypeRequiredDescription
phasestring (enum: check_triage, start_run, finish_run, prepare_evidence, classify_findings, compute_confidence, convergence_step, persist_findings, write_summary, run_checks, parse_requirements, evaluate, classify_risk, record_outcome, promote, light_check)YesPipeline phase to invoke. Each phase carries its own per-call arguments — see the verify-* handler sources.
project_pathstringNocheck_triage: absolute path to the project root (the directory containing .mm/).
spec_folderstringNocheck_triage: spec folder name (spec_path accepted as alias).
verification_run_idstringNoStable id shared by every phase and captured turn in one verification run.
spec_slugstringNostart_run/finish_run: canonical spec folder slug.
workflowstringNoTelemetry label; verify-spec for this pipeline.
base_shastring | nullNo
head_shastring | nullNo
iterationintegerNo
agent_rolestringNo
parent_session_idstringNo
request_idstringNo
statusstring (enum: verified, verified-with-caveats, gaps-remain)Nofinish_run: final verification verdict.
measurement_completebooleanNo
measurement_reasonstringNo
findingsarray of objectNoclassify_findings: verifier-emitted Finding records (id, kind, spec_section_ref, code_location, failure_mode, reproduction, evidence, tier) — see verify-classify-findings.ts.
runs_completedintegerNo
t1_countintegerNo
t2_countintegerNo
t3_countintegerNo
t4_countintegerNo
adversarial_null_countintegerNo
adversarial_malformedintegerNo
decisionstringNocompute_confidence: continue | converged | did_not_converge.
consecutive_stableintegerNo
run_indexintegerNo
current_t12_idsarray of stringNo
prior_t12_idsarray of stringNo
floorintegerNo
ceilingintegerNo
run_labelstringNopersist_findings: human-meaningful run label recorded on new spec-gap / backlog rows (audit-only).
nowstringNopersist_findings: ISO-8601 timestamp stamped on new rows. Defaults to now; injectable for tests.
run_timestampstringNowrite_summary: ISO-8601 timestamp for verify-summary.json. Defaults to now.
tier_countsobjectNowrite_summary: { t1, t2, t3, t4 } counts of classified findings this run.
spec_gap_countintegerNo
confidenceobjectNowrite_summary: { bucket, numeric, rationale } from the compute_confidence phase.
open_backlog_countintegerNo
open_spec_gaps_countintegerNo
code_pathstringNorun_checks: absolute path to the checkout/worktree holding the code under verification. Defaults to project_path; the checks run here.
verifier_modelstringNoevaluate: model name recorded as verified_by.
scorecardarray of objectNoevaluate: one row per R<n> — { id, status: pass|partial|miss|regression|pass-pre-existing, citation?, note? }.
checksobjectNoevaluate: run_checks output (or the subset: passed_ids/failed_ids/skipped_ids/env_skipped_ids/all_skipped_env).
adversarialarray of objectNoevaluate: adversarial-prompt rows — { prompt, outcome: finding|null, spec_section_ref?, justification?, finding_id? }.
open_backlogarray of objectNoevaluate: open check_triage entries — { cluster_id_short, failure_mode, spec_section_ref?, status?, actor? }.
diffobjectNoevaluate: { files_changed, files_mapped, unmapped }.
strictbooleanNoevaluate: 0-tolerance for partially_supported claims when true.
modestringNoevaluate: recorded on summary.json.
risk_tierstring (enum: low, medium, high)Noevaluate: recorded on summary.json.
risk_reasonsarray of stringNo
touched_pathsarray of stringNoclassify_risk: repo-relative paths touched by the diff under verification.
total_changed_linesintegerNo
touched_requirement_idsarray of stringNo
critical_requirement_idsarray of stringNo
floor_confidencestring (enum: low, medium, high)Noclassify_risk: floor-pass confidence, when the floor pass has already run.
floor_flagged_high_riskbooleanNo
max_total_linesintegerNo
max_filesintegerNo
extra_high_risk_patternsarray of stringNo
style_only_pathsarray of stringNoclassify_risk: touched paths whose change is style-only; all touched paths must be listed for the trivial tier.
max_trivial_linesintegerNo
max_trivial_filesintegerNo
light_checksarray of objectNolight_check: the mechanical checks the caller ran — { name, ok, detail? }.
outcomestring (enum: spec-verified, pr-merged)Norecord_outcome: which value boundary this row records.
refstringNorecord_outcome: what the outcome refers to — spec folder, or PR number/URL.
session_idsarray of stringNo
started_atstringNo
ended_atstringNo
event_idstringNo
{
"tool": "mm_verify",
"arguments": {
"phase": "check_triage",
"project_path": "/Users/you/projects/my-app",
"spec_folder": "example-spec_folder"
}
}
  • mm_search - Full-text search across all entity types (specs, features, issues, notes, ide…
  • mm_configure_integration - Configure an external service integration (github, trello, grain, gmail, noti…
  • mm_sync_notion - Bidirectional sync between a Notion database and .mm/specs/ or .mm/notes/. Pu…
  • mm_daily_brief - Generate a structured morning summary with active tasks, blockers, recently c…
  • mm_revert_spec_completion - Revert a spec’s completion status in its parent feature. Tasks stay [x] but t…