Files
management/analysis/findings/F-005-dead-gitea-tracker-still-referenced.md
T
Thore Cimbal eaa00f0ed2 analysis: add 16 evidence-backed drift findings
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.
2026-08-10 12:00:00 +00:00

2.8 KiB

F-005: A live document routes the reader to the Gitea tracker that three documents declare dead

category: claim-vs-reality confidence: high

evidence:

  • The claim, stated three times and each time absolutely:
    • README.md:22-27 — "Keine Ausnahmen mehr. … der Gitea-Tracker ist leer … Alle Issues leben auf git.lab."
    • hosts/overmind.md:38-42 — "Issues nicht mehr … der Tracker ist leer. Ohne Ausnahme: Issues leben auf git.lab."
    • CLAUDE.md:49 — "Issues leben auf git.lab. Die alten Gitea-Issues sind geschlossen und verweisen dorthin."
  • hosts/cfgmon.md:176 (section CFGMON-12) resolves its status against that tracker: "Status: abgelöst durch gitops#48 (2026-08-01, sorb: HOHE Priorität …) — Plan-Skizze und die offene Erreichbarkeits-Entscheidung git.lab-only vs. extern stehen dort".
  • So the substance of an open decision is said to live in an issue on the tracker that is declared empty. The link is the only pointer to it in the repo.
  • The number is additionally unsafe: CLAUDE.md:50-52 warns that gitops issue numbers shifted in the migration ("z. B. Gitea#48 → GitLab#46") and that "alte „gitops#N"-Verweise meinen die Gitea-Nummer". A reader who resolves gitops#48 on git.lab lands on a different issue than the one meant — and analysis/data/links.tsv records axion1337.chat-gitops#48 as an existing GitLab issue, so nothing looks broken.
  • CFGMON-12 has no issue of its own anywhere in the group (F-004).

impact: A high-priority decision ("HOHE Priorität", plus an open reachability question) is reachable only through a link into a system the documentation says is retired, under a number the documentation says is ambiguous. Both failure modes are silent: the link resolves, and so does the wrong git.lab issue.

root-cause pattern: Decision executed in the tool, documentation not carried along — the migration was completed and announced, but the documents that pointed into the old system were not swept. Compounded by two backlogs, one rule (F-004).

neckbeard mechanism: Removed by construction under ADR-0002 (docs/adr/0002-in-repo-issues.md): with issues as files in the repo, a reference to an issue is a relative link, and scripts/validate.py's check_body_links reports "inline link target missing" when it does not resolve — a renumbering or a retired tracker becomes a failing check instead of a working link to the wrong thing. ADR-0002 explicitly lists this as the con of forge issues: "issue ↔ artifact links leave the repo". Gap in neckbeard: check_body_links only validates repo-relative targets; external URLs are format-checked at most (schema.yaml:22-26 applies that only to frontmatter link fields). A doc pointing at a dead external tracker stays green.