Skip to content
Cockpit0.29.0
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

I2481

The UI links every entity it names, and says none where a source has no value

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
3
Waiting on
none
Holds back
Behind it in all
1
Evidence
1 of 1
A move writes the repository: it stamps one field of this issue's record and appends one event to the ledger, and a commit will carry both.
The same moves from a terminal

majordomus plan start I2481

majordomus plan verify I2481

majordomus plan done I2481

What it is

Objective
Make every entity a screen of majordomus ui names lead somewhere: to the UI's own screen or inspector for it, to its technical view when the UI has no screen for it, or to the address its source gives when it lives elsewhere; say none where a source has no value; say how much a cut list leaves out; and count throughput over the window the queue states rather than one the screen chooses.
Why
The owner asked on 2026-10-12 that majordomus ui be interconnected, interlinked, derived and inferred. The audit of the merged UI (#940-#963) found releases, gates, deployments, a rule's tests, declaration and gates, a claim's document, code and test, and an issue's milestone and intents drawn as plain text; about sixty fields rendered blank instead of none; seven lists cut with take(N) without saying so; and the PR Drain counting merges over a hard-coded fourteen-day window beside a tile labelled with a hard-coded seven days, while the queue answers its own window (throughput/window_days).
Now
Entities outside the UI's own inspectors are plain text, a missing value is a blank cell, cut lists are silent, and the merge tile and chart use windows the screen chose. Commit SHAs and file paths that are not objects of the index stay text: no fast capability derives the forge's address, and the UI does not compose one.
Wanted
A gate leads to its row in the CI model (/ui/delivery#gate-<id>), and a gate's implied gates to theirs; a deployment leads to its row on Deployments and its declaration to its technical view; a release leads to the record the distribution publishes; the publication address of the delivery report is a link; a command the registry also serves as a capability leads to that capability, joined by the capability's declared command-line path; a feature and a document lead to their technical views; an issue's row, its milestone and the intents it serves open their inspectors; a rule's tests (when the report found them), its declaration and its gates are links; a claim's document, implementation and test lead to their technical views when objects.get resolves them and are text otherwise, so no link answers 404. A value a source does not have reads none or unknown; every list cut short says how many it leaves out and, where one exists, links the place that shows them all. The merge tiles say the queue's window, and the throughput chart counts over that window and draws nothing when the queue states none.
Done when
unknown: the record declares no `completion`
Risk
unknown: the record declares no `risk`

Acceptance

  • every gate, deployment, release, milestone, intent, rule test, rule declaration and claim source, implementation and test a screen names is a link, to a UI route or to the technical view of an object the index holds
  • a reference the index does not hold is text, never a link to a page that answers 404
  • a missing value reads none or unknown, never a blank
  • a list cut short says how many it leaves out
  • the merge tiles and the throughput chart use the queue's own window, and a window the queue does not state is never invented
Validation
cargo test --lib ui::scripts/ci/cockpit-projection-check --ui-integritytest/run.sh 1079_the_drain_draws_its_throughput
Evidence required
ui_links_unit_tests
Evidence present
ui_links_unit_tests

Scope

Touches
apps/majordomus-cli/src/ui/view.rsapps/majordomus-cli/src/ui/source.rsapps/majordomus-cli/src/ui/dashboard.rsapps/majordomus-cli/src/ui/delivery.rsapps/majordomus-cli/src/ui/deployments.rsapps/majordomus-cli/src/ui/command.rsapps/majordomus-cli/src/ui/docs.rsapps/majordomus-cli/src/ui/prs.rsapps/majordomus-cli/src/ui/rule.rsapps/majordomus-cli/src/ui/claim.rsapps/majordomus-cli/src/ui/evidence.rsapps/majordomus-cli/src/ui/mesh.rsapps/majordomus-cli/src/ui/work.rsapps/majordomus-cli/src/ui/milestone.rs.ai/repo/project/issues/I2481.yamldocs/MAJORDOMUS_UI.mdtest/cases/1079_the_drain_draws_its_throughput.sh
Not
unknown: the record declares no `non_scope`
Depends on
Priority
p1
Profile
implementation
Parallel safe
false
Owner
unknown: the record declares no `owner`

The work so far

Branches
none
Merged
none
Commits
0
Trunk
master
Sessions
none
Created
2026-10-12
Updated
2026-10-14T07:59:44Z
Started
2026-10-14T07:59:38Z
Verified
unknown: the record declares no `verified_at`
Completed
2026-10-14T07:59:44Z

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.