A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live
I1508
The navigation is derived from the dispatcher, not kept beside it
Where it stands
devtask.issue- Readiness
- complete completion is recorded and every required evidence token is present
- Status
- DONE
- Can start
- not now
- Milestone
- Milestone status
- ACTIVE
- Wave
0- Waiting on
- none
- Holds back
- none
- Behind it in all
0- Evidence
2of2
Moves
plan.transitionWhat it is
- Objective
- Reconcile the Cockpit's area list against the routes the dispatcher actually answers, and derive or check the route table in docs/COCKPIT.md, so that a routed page cannot be invisible.
- Why
- F5 of the audit's failure table, and it is independent of every other issue here, which is why it is cheap and should not wait. The literal area list in nav.rs is already behind the dispatcher — Executions and Quality are declared in the Area enum, rendered by pages and routed, and absent from the list — and three surfaces read the stale list: the sidebar, the product model's area validation, and the site's cockpit-areas dataset. The public route table in docs/COCKPIT.md is missing five routes the dispatcher answers. The compounding failure is that the Cockpit probe crawls out of the navigation, so a page absent from the navigation is a page nothing checks: new pages are invisible by default and the mechanism that would notice cannot see them.
- Now
- nav.rs::areas() is a hand-kept literal. docs/COCKPIT.md's route table is missing commands, continuity, directories, artifacts and quality. Page URLs and API endpoints are written as literals throughout pages.rs, including a hand-written mirror of the navigation on the 404 page.
- Wanted
- One declaration decides which areas exist. The sidebar, the product model, the site dataset and the documented route table are projections of it, and a routed page that no area names is a reported failure rather than an unreachable page.
- Done when
- unknown: the record declares no `completion`
- Risk
- Low. The one trap is that the route table lives in a file that is currently hand-written and public; deriving it changes who may edit it, and that must be said in the file itself.
Acceptance
- A route the dispatcher answers and no area names is a reported failure
- The sidebar, the product model's area validation and the site dataset read one declaration
- The route table in docs/COCKPIT.md is generated or checked against the dispatcher
- The probe reaches every routed page
- Validation
bash test/run.shbin/majordomus-cli product validatebin/majordomus-cli generate --check- Evidence required
no_unlisted_routeroute_table_is_checked- Evidence present
no_unlisted_routeroute_table_is_checked
Scope
- Touches
apps/majordomus-cli/src/cockpitdocs/COCKPIT.mdtest/cases- Not
Adding any page. This issue makes the existing ones reachable and checkable.The design of the sidebar. Nothing here changes how it looks.- Depends on
- none
- Priority
- p1
- Profile
- implementation
- Parallel safe
- true
- Owner
- unknown: the record declares no `owner`
The work so far
- Branches
- none
- Merged
- none
- Commits
0- Trunk
- master
- Sessions
- none
- Created
- 2026-09-11
- Updated
- 2026-10-14T07:58:48Z
- Started
- 2026-10-14T07:58:39Z
- Verified
- unknown: the record declares no `verified_at`
- Completed
- 2026-10-14T07:58:48Z
Synchronisation
- Adapter
scripts/github-sync- Repository
- unknown: the derived plan's header carries no repository
- External issue
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
- State there
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
Findings
Nothing is wrong with these records.