state-hub/scripts
tegwick fcf0515874 fix(consistency): C-14 ghost-duplicate check + CLAUDE.md sync rule
Root cause analysis: calling create_workstream() before writing the workplan
file creates a ghost workstream with repo_id=null. When fix-consistency later
runs on the file, it creates a second workstream and writes its ID into the
file — leaving the ghost permanently active and showing false partial progress
in the dashboard.

C-14: after checking file-backed workstreams, query active workstreams on the
same topic with repo_id=null. Flag any whose title matches a file-backed
workstream as a probable ghost duplicate.

CLAUDE.md: add explicit "workplan ↔ DB sync rule" prohibiting create_workstream()
for file-backed work. Write file first, then make fix-consistency.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 23:23:24 +01:00
..
project_rules feat(CUST-WP-0017): scope-analyst agent + SCOPE.md template + coverage 2026-03-17 23:10:30 +01:00
capture_sbom_tools.py feat(sbom): CUST-WP-0013 — expand SBOM infra to terraform, ansible, and tool manifests 2026-03-12 04:40:26 +01:00
cleanup_stale_tasks.py feat(maintenance): add stale-task cleanup scheme 2026-03-02 00:32:35 +01:00
consistency_check.py fix(consistency): C-14 ghost-duplicate check + CLAUDE.md sync rule 2026-03-17 23:23:24 +01:00
gitea_inventory.py feat(CUST-WP-0014): repo sync automation & Gitea inventory 2026-03-16 01:41:16 +01:00
ingest_sbom.py feat(sbom): CUST-WP-0013 — expand SBOM infra to terraform, ansible, and tool manifests 2026-03-12 04:40:26 +01:00
install_hooks.sh feat(CUST-WP-0014): repo sync automation & Gitea inventory 2026-03-16 01:41:16 +01:00
patch_mcp_cwd.py Implement registration UX wishlist W1–W6 (260224) 2026-02-24 22:22:53 +01:00
project_claude_md.template feat(register): modular @-import CLAUDE.md structure (ops-bridge pattern) 2026-03-16 18:35:02 +01:00
pull_image.py Add state-hub v0.1 — local-first state service for the Custodian 2026-02-24 17:47:49 +01:00
register_project.sh feat(CUST-WP-0017): scope-analyst agent + SCOPE.md template + coverage 2026-03-17 23:10:30 +01:00
seed.py feat(state-hub): implement v0.5 — dynamic domains & multi-repo 2026-02-28 15:20:15 +01:00
validate_repo_adr.py feat(custodian): add ADR-001 compliance validator 2026-02-28 12:00:09 +01:00