Twelve drift findings and four works-well findings, each citing file paths, line numbers, commit hashes or rows in analysis/data/. Every 'neckbeard mechanism' field names a concrete rule in neckbeard v0.1.1 or states explicitly that none exists.
2.8 KiB
F-006: Three abandoned branches keep publishing exactly what the rewrite removed from main
category: dead-artifact confidence: high
evidence:
axion1337.chat-gitopsorigin/turn-secret-rotation-20260728-192656: 41 commits not on main, headf30d2f5dated 2026-07-28, not merged (git merge-base --is-ancestor-> no). All 41 carry real clock times (00h–01h and 21h–23h heavy). They are the pre-rewrite versions of commits the mapping table lists as replaced — 42 mapping rows resolve asok-both-presentinanalysis/data/sha_refs.tsv, meaning the old SHA is still reachable.- The same branch exists on the public mirror:
git ls-remote https://rohana.axion1337.de/sorb/axion1337.chat-gitops.git->f30d2f582ba14d85a7dec97c4db9bb2677ca824d refs/heads/turn-secret-rotation-20260728-192656, identical to git.lab. threadnet-callorigin/livekit: 14 own commits with real clock times, headc12a4116(2026-07-31 22:22), mirrored publicly with the same head.axion1337.chat-gitopsorigin/wiki: head0ff598e, 2026-05-14.CLAUDE.md:63already describes it as "ein überholter Mai-Abzug vondocs/", and management#19 ("DOC-02: Veraltetenwiki-Branch im gitops-Repo entfernen?") tracks it — open,priority:low, nostatus:label, i.e. plain backlog.- The rotation branch's own successor mechanism is live: the scheduled CI job
canonize_rotationexists at.gitlab-ci.yml:51in the gitops repo, asCLAUDE.md:56-60describes. The branch predates it and was never cleaned up.
impact: The single most expensive operation in this repo's history — a 251-commit rewrite
that restarted three release pipelines and needed its own mapping document — is undone for
42 of those commits by a branch nobody looks at, on a host that is public. The wiki branch
additionally offers a three-month-old copy of the documentation next to the current one,
which is the "zwei Wahrheiten über dieselbe Sache" failure CLAUDE.md:94-97 names as worse
than an incomplete one.
root-cause pattern: Artifacts outlive their purpose without an owner. All three branches
served a finished purpose; none had a defined end. The one that is noticed (wiki) sits in
the backlog without a status label, which is where low-priority hygiene goes to rest.
neckbeard mechanism: Gap in neckbeard. The framework governs files inside a checkout,
not refs: nothing in AGENTS.md, WORKFLOW.md or scripts/validate.py sees a branch.
The nearest existing mechanisms are WORKFLOW.md:122 (refinement item 2, "Backlog triage
over docs/issues/") and WORKFLOW.md:126 (wiki lint, which hunts "orphan pages") — both
would need a branch equivalent to catch this. schema.yaml's warn_if_orphan rule shows
the framework already accepts "reachable from nowhere" as a reportable condition for
documents; the field test shows refs need the same treatment.