Skip to content
EN · PT

Gate: nav-annotated

Every navigation call — back and reset included — carries @navigates: naming the screen it leads to, or @no-nav: <reason>.

Property Value
Checker nav-annotated
Confronts code
Blocking by default — new project yes
Blocking by default — existing project no — informs

A screen spec declares its route and its navigation tables, and nothing tied its Out table to the navigation calls of its code, nor one screen’s Out to the other’s In: a screen could lead where its spec did not say, with every gate green, and the app had no navigation map. This unit confronts the navigation flags the agent writes beside each call with the code and with the specs (DESIGN-dependencies-and-navigation.md):

  • nav-annotated — every navigation call, back and reset included, carries the navigation flag naming the screen it leads to, or a waiver with its reason;
  • nav-matches-spec — a screen’s Out table and its code’s flags name the same screens;
  • nav-symmetric — a screen’s Out leads to another exactly when that one’s In comes from it;
  • nav-reachable — every screen is reachable from the app’s entry routes.

A call is read by a pattern — the dialect’s navigation_call, its destination in the group route, or the family’s —, a screen by its spec’s stem and its declared route.

gates:
- name: nav-annotated
on: [code]
check: nav-annotated

Source: checker · its spec