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

I1306

A sync resumes, repeats itself without harm, and says how fresh it is

Where it stands

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

majordomus plan verify I1306

majordomus plan done I1306

What it is

Objective
Implement the sync: incremental from a durable checkpoint, idempotent on replay, bounded in what one run may fetch, and honest about how each change was acquired.
Why
Polling is not a subscription. A run that cannot resume will either re-fetch a whole workspace every time or silently skip what it missed, and a store that changes when nothing upstream changed cannot be diffed by anyone.
Now
Nothing exists.
Wanted
A run reads its checkpoint, fetches only what changed, writes records that are byte-identical when nothing changed, records the acquisition mode of every change, bounds itself by count and by wall clock, and leaves a checkpoint an interrupted run can resume from.
Done when
unknown: the record declares no `completion`
Risk
Bounds that are too tight make the first sync of a large workspace impossible to finish; bounds that are too loose make a broken adapter expensive. Both are tuned against a measured first run, not chosen in advance.

Acceptance

  • A second run over an unchanged workspace leaves the store byte-identical
  • An interrupted run resumes from its checkpoint without re-fetching what it already had
  • Every change records the acquisition mode that produced it, and a poll is never reported as a push
  • A run is bounded by count and by wall clock and says what it did not reach
  • Replaying a captured run over fixtures reproduces the same store
Validation
bash test/run.sh
Evidence required
idempotent_replayresumableacquisition_honestbounded
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
scripts/libscriptstest/cases
Not
Any write to the vendorWatch semantics that call polling a subscription
Depends on
Priority
p1
Profile
deep-work
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-09
Updated
2026-09-09
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.