
 Usage: root check [OPTIONS]

 Validate every committed contract against the repo map and the vendored schema.

 Every boundary relation owes a contract (`contract/missing`); a contract naming no relation
 the map declares is an orphan, unless it is `status: proposed` (written before its table).
 A contract off the boundary is checked like any other. A relation `semantic_exclusions`
 names is reported `boundary/excluded` (info), not `boundary/undeclared`.

 Where the repo has adopted a canonical model, a boundary contract must also agree with the
 document that names its relation. A schema that model documents no relation in is not yet
 modelled: its boundary relations warn (`contract/no-document`) instead of failing, because the
 review asks for those documents and the gate has nothing to agree with. A map that declares
 no boundary layers leaves nothing to agree with at all: `map/no-boundary-layers` reports that gap
 rather than inventing a set. `--relations` adds the comparison against the built relation
 (the engine's presence and type checks on a database, names only against dbt's `catalog.json`)
 and fails when no catalog resolves, rather than skipping: asking for the check and getting
 silence is the false pass it exists to prevent.

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
│ --root                           <str>                                                           │
│ --relations    --no-relations           [default: no-relations]                                  │
│ --catalog                        <str>                                                           │
│ --help                                  Show this message and exit.                              │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
