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

I1111

Uninstall gives back exactly what was taken

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
5
Waiting on
Holds back
Behind it in all
2
Evidence
0 of 3
In the waySubjectDetail
issueI1109I1109 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 I1111

majordomus plan verify I1111

majordomus plan done I1111

What it is

Objective
Implement removal that reverses every recorded mutation, refuses anything a person has since edited, and leaves authored knowledge in place unless removal is asked for separately and explicitly.
Why
A tool that cannot be removed is a tool people hesitate to adopt. And the half of the footprint that matters most — the decisions, the handovers, the knowledge accumulated over months — is the project's property, not the tool's leftovers.
Now
Nothing removes an adoption. What Majordomus wrote outside its namespaces can only be found by reading a diff.
Wanted
One command reverses the ledger, one flag additionally removes generated state, and removing authored content is a separate decision the default never makes.
Done when
unknown: the record declares no `completion`
Risk
This is the operation where a mistake destroys somebody's work. Every deletion is justified by a ledger entry and a matching hash, or it does not happen.

Acceptance

  • Every recorded mutation outside the two namespaces is reversed to the state the ledger recorded as prior
  • A managed region is removed without disturbing the rest of its file, and a file that exists only because Majordomus created it is removed whole
  • A bridge whose hash no longer matches is left in place and reported, never overwritten or deleted
  • The default leaves authored `.ai/` content untouched; removing generated state and removing authored content are separate, explicit requests
  • After the default removal, the repository is what it was before adoption apart from authored content, proved by comparing against a recorded starting state
Validation
bash test/run.shcargo test --workspace --all-features
Evidence required
reverses_ledgerrefuses_editedauthored_survives
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
apps/majordomus-cli/src/commands/uninstall.rs
Not
Removing authored content under any defaultA broad recursive delete of any path not named by the ledger
Depends on
Priority
p0
Profile
deep-work
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.