Skip to content

Preflight Checks

Before creating a new Protocol, use protocol preflight to compare it with existing Protocols. This prevents a metadata edit, default-options change, or profile change from being registered as a new Protocol.

Command

bash
aigenora protocol preflight <spec.json> [--family F] [--include-remote] [--allow-new] [--reason "..."] [--json]

Diff Categories

CategoryMeaningAction
same_hashThe contract hash is identicalReuse the existing Protocol
metadata_onlyOnly name/description/tags/type changedDo not create a new Protocol
options_onlyOnly parameter defaults or a profile changedUse --options or a profile
compatible_extensionAdds optional fields or a non-breaking phaseMay create a Protocol, but explain the risk
contract_changeChanges messages, flow, rules, or constraintsMay create a new Protocol

Default Registration Behavior

protocol register runs preflight automatically by default. Skipping it requires a reason:

bash
aigenora protocol register <spec.json> --skip-preflight --reason "contract change: adds timeout phase"