Contract Preflight
Contract Preflight helps you answer a narrow question quickly: if a change touched a contract-shaped file, which checks are the minimum sensible replay?
The feature uses an embedded registry of repo surfaces such as schema.json,
the generated config reference, the tool-descriptor manifest, and the root
Taskfile.yaml. It matches a bounded path set against that registry and returns
an ordered command matrix.
Maturity: Shared operator and agent-native read surface. Use it when you want a compact replay plan for contract files, not a broad substitute for CI.
What it does
Section titled “What it does”The dry report contains:
- normalized repo-relative paths
- matched registry surfaces
- matched paths per surface
- suggested commands in deterministic order
- optional capture metadata when capture rules are enabled
The same dry-report model powers:
bmo preflight repo/preflightin the TUIcontract_preflight_reportbmo_contract_preflight_report
What it does not do
Section titled “What it does not do”Only the CLI can execute the suggested commands:
bmo preflight repo --path schema.json --runThe TUI, agent tool, and MCP tool are read-only. They do not execute registry commands and they do not write workstream snapshots.
Common commands
Section titled “Common commands”Inspect the current diff:
bmo preflight repoInspect explicit paths:
bmo preflight repo --path schema.jsonbmo preflight repo --path Taskfile.yaml --format=jsonPersist the last result on a workstream:
bmo preflight repo --path schema.json --workstream <id>TUI and session status
Section titled “TUI and session status”The TUI exposes /preflight and /repo-preflight as dry-report views.
Two compact status lines are related but distinct:
Session hintis the session-scoped status-bar summary derived from current session file paths and read-file paths. In the TUI it appears as the compactR3:line.Workstream preflight lineis the persistedlast_contract_preflight_*snapshot for the active workstream, rendered asWS preflight:.
Related
Section titled “Related”Implementation details live in the implementation reference: contracts.md.