Skip to content

Preflight and checks

Before a change lands: what the team already knows about the code it touches.

comindly preflight .                          # your uncommitted changes
comindly preflight . --base origin/main --strict   # in an MR pipeline; fails on violated checks

Preflight lists recorded constraints and dead ends on the touched code, contracts other services consume, the blast radius across repos, files that usually change together but are missing, and failing constraint checks.

Constraints that enforce themselves

A constraint can carry a rule that runs against the graph or the manifests:

comindly remember constraint --on raw_query --title "Handlers never call raw SQL" \
  --field "check=forbid calls from svc/app/handlers/** to **::raw_*"
comindly remember constraint --on Settings --title "No lance 1.0.1" --field "check=forbid dep lance =1.0.1"
comindly ledger --check                       # non-zero exit when a `must` rule is violated

Rules: forbid [<edge kind>] from <glob>[::<name>] to <glob>[::<name>] and forbid dep <package> [<version>]. A passing rule ranks the constraint as T4. An attempt recorded with --field "dep=lance =1.0.1" is reported as retry condition met once no manifest uses that version any more.