Skip to content

I2478 — A rule opens its proof: what it states, the tests that prove it, what is missing, and the rules around it

Let a reader of majordomus ui open any rule (/ui/governance?rule=<id>) into an inspector from rules.show: what it states, how it is enforced, every test that proves it with the state of its proof, the gates that run them, what is still missing to prove it, and the rules it depends on and that require it, each a link.

DONE wave 2 · p1 · implementation profile · runs alone

Part of development-runtime — The runtime has a development surface.

Objective

Let a reader of majordomus ui open any rule (/ui/governance?rule=<id>) into an inspector from rules.show: what it states, how it is enforced, every test that proves it with the state of its proof, the gates that run them, what is still missing to prove it, and the rules it depends on and that require it, each a link.

Why

The owner asked on 2026-10-11 to implement every view of the UI screenshots, maximally interactive (pack v3 M10 governance). The Governance screen lists 165 rules as rows that open nothing, and its rule column read a field the report gives as an object, so a row did not even name its rule; rules.show already joins one rule to its proof.

Current state

A rule is a row of the Governance screen that opens nothing and does not name its rule.

Desired state

?rule=<id> asks rules.show and opens the inspector above the Governance screen: the rule's identity, title, class, status and proof state, its statement, what its proof state means, how it is enforced (mode and validator), its gates, the rules it depends on and that require it (each a link), where it is declared, every test that proves it with its state and meaning, and what is still missing to prove it. The Governance rows name each rule by its id and title and lead to its inspector. A rule the index does not hold is shown as the capability's refusal; a value that is no rule id is never asked.

Scope

  • apps/majordomus-cli/src/ui/rule.rs
  • apps/majordomus-cli/src/ui/governance.rs
  • apps/majordomus-cli/src/ui/mod.rs
  • .ai/repo/project/issues/I2478.yaml
  • docs/MAJORDOMUS_UI.md
  • test/cases/1083_a_rule_opens_its_proof.sh

Dependencies

What waits on this

Acceptance criteria

  • ?rule=<id> opens the inspector with what proves it and the rules around it as links
  • the Governance rows name each rule and lead to its inspector
  • an unknown rule is said as the capability's refusal, and a value that is no id is never asked

Validation

  • cargo test --lib ui::rule
  • test/run.sh 1083_a_rule_opens_its_proof

Evidence required

  • ui_rule_unit_tests
  • ui_rule_case_1083

Evidence

coverstypecommandresultat commit
ui_rule_unit_testscicargo test --lib ui::rule (validate run 38223440282 on 722228ef3c, the v0.21.0 top)3 ui::rule tests ok722228e
ui_rule_case_1083citest/run.sh 1083_a_rule_opens_its_proof (validate run 38223440282 on 722228ef3c, the v0.21.0 top)case 1083_a_rule_opens_its_proof ok722228e

Timeline

started
2026-10-12T11:01:34Z
verified
2026-10-12T11:01:39Z
completed
2026-10-12T11:01:50Z

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/I2478.yaml. Read it back with majordomus plan show I2478.

Searches the titles and descriptions of every page this site publishes.