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

I0604

Prove the offline guarantee survives sharing

Where it stands

devtask.issue
Readiness
blocked 1 of its dependencies is not DONE
Status
BLOCKED
Can start
not now
Milestone
Milestone status
BLOCKED
Wave
3
Waiting on
Holds back
Behind it in all
1
Evidence
0 of 2
In the waySubjectDetail
issueI0603I0603 is not DONE
milestoneshared-policythe milestone shared-policy waits on an outcome of its own
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 I0604

majordomus plan verify I0604

majordomus plan done I0604

What it is

Objective
Prove with cases and a doctrine that no path introduced by shared policy reaches a network, and that an unavailable shared source degrades to a named refusal rather than a fetch or a silent local fallback.
Why
Every guarantee this tool makes rests on it being local and offline. Sharing policy across repositories is the exact feature that historically converts a local tool into a client of something, and it has to be refused structurally rather than by intention.
Now
Resolution, override and drift reporting all exist and are documented as filesystem-only. Nothing enforces that they stay so.
Wanted
A doctrine refuses a network call in the policy resolution path, cases cover an unavailable source, and the refusal names the doctrine.
Done when
unknown: the record declares no `completion`
Risk
The pressure to add a remote source arrives with the first user who has repositories on two machines; the doctrine is what makes that a decision rather than a patch.

Acceptance

  • A doctrine declares the rule, its validator exists, and doctor proves it reaches the command that runs it
  • A case shows an unavailable shared source producing a named refusal, with nothing fetched and no fallback
  • CI runs the case
Validation
bash test/run.shbin/majordomus doctor
Evidence required
suitedoctor
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
sharelibtest/cases
Not
Any offline cache of a remote source, which would be a fetch with extra steps
Depends on
Priority
p3
Profile
debugging
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-09-04
Updated
2026-09-04
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.