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
| Category | Meaning | Action |
|---|---|---|
same_hash | The contract hash is identical | Reuse the existing Protocol |
metadata_only | Only name/description/tags/type changed | Do not create a new Protocol |
options_only | Only parameter defaults or a profile changed | Use --options or a profile |
compatible_extension | Adds optional fields or a non-breaking phase | May create a Protocol, but explain the risk |
contract_change | Changes messages, flow, rules, or constraints | May 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"