Commit Graph

1343 Commits

Author SHA1 Message Date
02f0d06414 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 23:16:41 +02:00
ff963c26a6 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 23:01:03 +02:00
494e61550d chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 22:45:30 +02:00
d935ec4d33 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 22:30:00 +02:00
3ded8006fb chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 22:14:45 +02:00
599cf6d771 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 21:58:43 +02:00
2c107e3ed5 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 21:44:30 +02:00
544a0acb20 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 08:13:05 +02:00
6d62766d2a chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 07:57:52 +02:00
e56e1631bd chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 07:42:48 +02:00
fa8a5f92a3 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 07:27:17 +02:00
b4a57bb764 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 07:11:55 +02:00
734e94680a chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 06:57:08 +02:00
627f2b4263 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 00:58:42 +02:00
beff3bedda chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 00:43:00 +02:00
a291df6fb5 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 00:28:25 +02:00
a5752c5d82 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-22:
  - update .custodian-brief.md for the-custodian
2026-04-22 00:12:56 +02:00
696b5da900 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 23:59:02 +02:00
dd80d490fd chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 23:43:51 +02:00
fece89ba2e chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 23:28:26 +02:00
ddcc392ef2 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 09:01:04 +02:00
a4050f6648 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 08:46:32 +02:00
bdef121d06 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 08:32:02 +02:00
b922d7d3cb chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 08:17:27 +02:00
52ed39fa5f chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 08:02:57 +02:00
16583a4d2d chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 07:48:21 +02:00
5eac9f3664 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 07:33:07 +02:00
c04b72d5b9 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 07:18:32 +02:00
0ad6307323 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 07:04:07 +02:00
ec7949744f chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 06:49:30 +02:00
4bd071ba7b chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 06:34:52 +02:00
cc5d6e7daf chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 06:20:20 +02:00
46ae3f3ed3 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 06:05:48 +02:00
a9710bc3bd chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 05:51:17 +02:00
649c43d2b2 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 05:36:43 +02:00
a5e3234235 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 05:22:10 +02:00
166379f35c chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 05:07:35 +02:00
3aaf14b4ec chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 04:53:02 +02:00
dbccacd431 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 04:38:29 +02:00
08c1f1ae6c chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 04:23:51 +02:00
12585704ff chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 04:09:17 +02:00
7bb749c35c chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 03:54:39 +02:00
d394a324a1 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 03:40:03 +02:00
c72d004b75 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 03:25:28 +02:00
c25ce87cf2 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 03:10:48 +02:00
453ec06ba1 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 02:56:08 +02:00
9ddced36b5 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 02:41:32 +02:00
6124b2ea78 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 02:27:31 +02:00
ba2addf924 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-04-21:
  - update .custodian-brief.md for the-custodian
2026-04-21 02:13:28 +02:00
e410d44959 feat(consistency): T04 push seal — closed-loop writeback for automated commits
Root cause of the 501-commit pile-up in inter-hub: fix_repo() created
git commits (brief updates, T03 writebacks) but never pushed them, so
the 15-minute timer accumulated local commits indefinitely. Once real
development landed on remote the repos diverged with no self-healing path.

Changes
-------
repo_sync.py (new module)
  Extracts all git lifecycle primitives: pull_ff, push_ff,
  count_remote_ahead (C-16 input), count_local_ahead (C-17/T04 input).
  Module docstring documents the push-seal invariant and stable state.

consistency_check.py
  - Imports primitives from repo_sync; thin _detect_behind_remote wrapper
    preserves backward compat for existing callers and tests.
  - C-17 backlog guard: if local has unpushed commits from a prior failed
    push, retry before making more; skip all writes if push still fails.
  - T04 push seal: unconditional push_ff() at end of every fix_repo() run.
  - _report_needs_action: ahead_of_remote param so repos with unpushed
    backlogs are not silently skipped as "clean" by fix_all_remote().
  - Domain-slug fallback: brief no longer degrades to "(unknown)" when all
    workplans are completed — falls back to any workstream for domain context.
  - Service switched from --all --fix to --remote --all (pulls before
    fixing, skips already-clean repos).

push-seal.md (new)
  Capability documentation: the problem, the invariant, all three checks
  (C-16/C-17/T04), stable-state description, API reference, and test map.

test_repo_sync.py (new, 32 tests)
  Full coverage of all four primitives via real git repos (tmp_path).
  Includes C-17 scenario, push-seal invariant, and four end-to-end
  loop-stability tests.

test_consistency_check.py
  Four new _report_needs_action cases for the ahead_of_remote parameter.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 01:43:40 +02:00