Skip to content

release: v3.11.0 — read-only sync for pull-only clones - #295

Merged
AltDoug merged 2 commits into
mainfrom
feat/readonly-sync
Oct 30, 2026
Merged

AltDoug merged 2 commits into
mainfrom
feat/readonly-sync

Conversation

@AltDoug

@AltDoug AltDoug commented Oct 30, 2026

Copy link
Copy Markdown
Owner

What

git config found-issues.readonly true (or FOUND_ISSUES_READONLY=1) marks a clone read-only: every sync there (SessionStart, statusline autosync, post-merge hook, explicit found-issues sync) becomes a dry run. It prints what it would close, demote, wake or archive, headed Read-only clone (found-issues.readonly) — nothing written., and writes nothing. FOUND_ISSUES_READONLY=0 overrides the key for one command. found-issues doctor lists it under Hook opt-outs.

Why

Ledger lib/sync.sh:770, operator decision 2026-10-29: a pull-only clone (dougstation's agent-config) got uncommitted ledger edits from sync, and git refused its next git pull --ff-only even when upstream had the byte-identical change. 3.10.10 removed one cause (commit-stale); this switch covers all of them.

Evidence

  • New tests/cli-sync-readonly.bats: 7/7 (red before the change except the two "normal writes" checks).
  • Full suite on the Mac: 1..2055, 2055 ok, 0 not ok, exit 0.
  • Driven on a real main-only agent-config clone with a tombstone-able probe entry:
    • key set, explicit sync: Read-only clone (found-issues.readonly) — nothing written. Closed: 1 (0 PR + 0 commit + 1 tombstone)., git status empty
    • key set, SessionStart hook: entry still listed, git status empty
    • FOUND_ISSUES_READONLY=0: Synced. Closed: 1 …, ledger modified
    • doctor: ! sync is read-only in this clone …

Also logs the slow serial suite (tests/autofix-sweep.bats, decided: parallelize after this release).

🤖 Generated with Claude Code

https://claude.ai/code/session_01MVx3HWniZnrXYfPiCo5Lrs

AltDoug and others added 2 commits October 29, 2026 22:16
git config found-issues.readonly true (or FOUND_ISSUES_READONLY=1) makes
every sync in that clone a dry run: no closures, demotions, wake-ups or
archive, so a pull-only clone never gets an uncommitted ledger edit that
blocks its next git pull --ff-only. FOUND_ISSUES_READONLY=0 overrides the
key for one command. doctor lists the setting.

Closes ledger lib/sync.sh:770 (operator decision 2026-10-29). Also logs
the slow serial test suite (tests/autofix-sweep.bats, decided: parallelize
after this release).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MVx3HWniZnrXYfPiCo5Lrs
@AltDoug
AltDoug enabled auto-merge (squash) October 30, 2026 02:16
@AltDoug
AltDoug merged commit 390170b into main Oct 30, 2026
7 checks passed
@AltDoug
AltDoug deleted the feat/readonly-sync branch October 30, 2026 02:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant