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

I1120

A refusal says what to do about it

Where it stands

devtask.issue
Readiness
blocked 1 of its dependencies is not DONE
Status
BLOCKED
Can start
not now
Milestone
Milestone status
ACTIVE
Wave
4
Waiting on
Holds back
Behind it in all
1
Evidence
0 of 1
In the waySubjectDetail
issueI1108I1108 is not DONE
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 I1120

majordomus plan verify I1120

majordomus plan done I1120

What it is

Objective
Make every refusal in this subsystem name the source of truth, what was observed, what was expected and the command that repairs it — through the diagnostics framework that already exists.
Why
The operations here refuse often by design: an edited bridge, a stale ledger, a non-conforming path, a plan that would touch something it does not own. A refusal that only says no turns a safety property into an obstacle.
Now
Errors in the executable carry structured detail in places and a bare message in others. The new operations have no convention yet.
Wanted
Each refusal is actionable, and a person who has never read this code can act on it without reading this code.
Done when
unknown: the record declares no `completion`
Risk
Message quality is the first thing to decay under time pressure and the last thing anybody tests. Testing the messages is what keeps them.

Acceptance

  • A refusal names the file or path, what was found, what was expected and the command that repairs it
  • An edited bridge, a ledger mismatch, a non-conforming path and a plan touching something unowned each have their own message rather than a shared generic one
  • The messages are exercised by tests, so a change that degrades one is caught
  • Machine-readable output carries the same detail as the human-readable form
Validation
cargo test --workspace --all-featuresbash test/run.sh
Evidence required
failures_actionable
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
apps/majordomus-cli/src/error.rs
Not
A second diagnostics frameworkA message that reports a condition without naming the repair
Depends on
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-06
Updated
2026-09-06
Started
unknown: the record declares no `started_at`
Verified
unknown: the record declares no `verified_at`
Completed
unknown: the record declares no `completed_at`

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.