generated from coulomb/repo-seed
feat(consistency): distributed multi-machine safety (CUST-WP-0026)
T01 — No-regress rule (C-15): fix-consistency now detects when a DB task status is ahead of the workplan file (e.g. marked done on CoulombCore) and emits C-15 WARN instead of regressing the DB back to the stale file value. STATUS_ORDER ranking: todo(0) < in_progress/blocked(1) < done/cancelled(2). T02 — Pull gate (C-16): fix_repo runs git fetch + rev-parse at the start of every --fix run. If the local repo is behind its remote tracking branch, all write operations are skipped and C-16 WARN is emitted. Best-effort: offline/no-remote silently skips the check. T03 — DB→file writeback: C-15 fix path patches the status field in the matching task block and git-commits the change with a standard message. --no-writeback flag disables writeback while keeping T01/T02 active. T04 — CLAUDE.md + session-protocol.template updated with new guidance, C-15/C-16 semantics, and fix-consistency-remote recommendation. T05 — Makefile: fix-consistency-remote pulls then fixes in one step. 16 new tests; 155 passed total. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -42,7 +42,16 @@ If no workstreams: follow First Session Protocol (`first-session.md`).
|
||||
```
|
||||
add_progress_event(summary="...", topic_id="{TOPIC_ID}", workstream_id="<uuid>")
|
||||
```
|
||||
If workplan files were modified:
|
||||
If workplan files were modified, ensure the local copy is up to date first:
|
||||
```bash
|
||||
git -C <repo_path> pull --ff-only
|
||||
cd ~/the-custodian/state-hub && make fix-consistency REPO={REPO_SLUG}
|
||||
```
|
||||
For repos where implementation runs on a remote machine (e.g. CoulombCore),
|
||||
use the combined target which pulls before fixing:
|
||||
```bash
|
||||
cd ~/the-custodian/state-hub && make fix-consistency-remote REPO={REPO_SLUG}
|
||||
```
|
||||
**C-15** (DB task ahead of file) is normal in multi-machine workflows — writeback
|
||||
will sync the file to match DB. **C-16** (repo behind remote) blocks all writes
|
||||
until you pull — intentional to prevent clobbering remote progress.
|
||||
|
||||
Reference in New Issue
Block a user