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

I1109

Everything placed outside the two namespaces is recorded, with what it was

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
12
Evidence
0 of 2
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 I1109

majordomus plan verify I1109

majordomus plan done I1109

What it is

Objective
Record every mutation Majordomus makes outside `.ai/` and `.majordomus/` in a typed ledger: the path, the kind of mutation, the content hash as written, the generator and version that wrote it, and what was there before.
Why
Without a ledger the tool cannot tell its own edits from a person's, which means it can neither update them safely nor remove them at all. The ledger is what makes an uninstall possible and an overwrite refusable.
Now
Root documents carry generated blocks and provider bootstraps are written to the root. Nothing records that Majordomus put them there.
Wanted
The ledger is the authority on what Majordomus owns outside its namespaces, and a mismatch between what it recorded and what is on disk stops a mutation rather than resolving it.
Done when
unknown: the record declares no `completion`
Risk
A ledger that drifts from the filesystem authorises deletions it cannot justify. The hash is what keeps it honest, and a mismatch has to stop the operation rather than warn about it.

Acceptance

  • Every mutation outside the two namespaces is recorded with its path, its kind, the hash as written, the generator and version, and the prior state
  • A managed region records the markers that bound it, so the rest of the file is never in question
  • The ledger is typed and schema-backed, generated from the canonical type rather than hand-written
  • A path whose current hash does not match what the ledger recorded is reported as edited by a person, and no mutation proceeds on it silently
  • The ledger contains no secret and no absolute developer path
Validation
cargo test --workspace --all-featuresbin/majordomus doctor
Evidence required
ledger_recordsmismatch_stops
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
.majordomus/manifest.jsonapps/majordomus-cli/src/integration/ownership.rs
Not
Recording anything inside the two namespaces, which are owned by constructionA ledger a person is expected to edit
Depends on
Priority
p0
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.