tegwick
07031fa63e
feat(CUST-WP-0014): repo sync automation & Gitea inventory
- Migration e2f3a4b5c6d7: add last_state_synced_at to managed_repos
- consistency_check.py: PATCH last_state_synced_at after fix run;
fix ~ treated as non-empty state_hub_task_id (C-03 vs C-11);
fix _inject_task_id_into_block skipping injection when field exists
with null value
- install_hooks.sh: idempotent post-commit hook installer for all
registered repos (make install-hooks REPO= / install-hooks-all)
- gitea_inventory.py: compare coulomb Gitea org against state-hub
registered repos — registered / unregistered / hub-only sections
- infra/README.md: document systemd user timer + crontab fallback
- systemd user timer: custodian-sync.{service,timer} runs
fix-consistency-all every 15 min (enabled)
- dashboard/src/repo-sync.md: Repo Sync Health page — sync age table,
unregistered Gitea repos, hub-only repos
- api/routers/repos.py: GET /repos/{slug}/dispatch endpoint returning
active goal, pending tasks per workstream, human interventions
- mcp_server/server.py: get_repo_dispatch() MCP tool
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 01:41:16 +01:00
..
2026-03-11 01:09:07 +01:00
2026-03-11 01:09:07 +01:00
2026-03-12 22:36:24 +01:00
2026-03-02 00:32:35 +01:00
2026-02-28 12:14:47 +01:00
2026-03-11 01:40:52 +01:00
2026-03-02 00:32:35 +01:00
2026-03-12 21:46:17 +01:00
2026-03-03 08:16:00 +01:00
2026-03-12 21:47:01 +01:00
2026-03-04 19:44:14 +01:00
2026-03-09 00:21:37 +01:00
2026-03-04 19:44:14 +01:00
2026-03-11 01:09:07 +01:00
2026-03-11 23:04:08 +01:00
2026-03-12 04:40:26 +01:00
2026-03-16 01:41:16 +01:00