Skip to content

I1009 — Every menu in this repository comes from one derivation

Derive the desktop navigation, the mobile navigation, the Cockpit sections, the documentation navigation and the landing links from one projection of the graph, with deterministic grouping and ordering.

READY wave 3 · p0 · implementation profile · parallel safe

Part of capability-graph — One capability graph, two projections, and no second inventory of what this repository can do.

Ready. Every dependency is done, so majordomus plan start I1009 will be accepted.

Objective

Derive the desktop navigation, the mobile navigation, the Cockpit sections, the documentation navigation and the landing links from one projection of the graph, with deterministic grouping and ordering.

Why

Five menus mean five edits for one new page, and the fifth is the one everybody forgets. Grouping by facts the model already holds gives an order that is stable without anyone maintaining it.

Current state

Navigation and landing content are assembled per surface. The landing page and the Cockpit each know their own entries.

Desired state

One navigation projection feeds every surface, grouping derives from kind, category, scope and availability, and ordering is deterministic.

Scope

  • apps/majordomus-cli/src/cockpit/nav.rs

Out of scope

  • Any hand-written menu entry in a template, a script or a data file
  • Layout coordinates, columns or component trees expressed as data

Dependencies

What waits on this

Acceptance criteria

  • Every navigation surface reads the same projection, and none holds its own list
  • Grouping derives from metadata the model already carries, and ordering is deterministic and stable across builds
  • Adding a capability or a document changes every menu that should show it with no template edit
  • An entry unavailable in the current environment is not rendered as an active destination

Validation

  • cargo test --workspace --all-features
  • bash test/run.sh

Evidence required

  • one_navigation_source
  • deterministic_order

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Risk

Derived menus can order badly for a reader while being perfectly deterministic. Semantic grouping with alphabetic ordering inside it is the default; an authoritative order is metadata, never a template edit.

Timeline

started
verified
completed

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I1009.yaml. Read it back with majordomus plan show I1009.