Files
management/analysis/findings/F-015-rewrite-mapping-is-sound.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.9 KiB

F-015: The rewrite mapping list does what it promises — 251 of 251 rows verified

category: works-well confidence: high

evidence: analysis/scripts/inv_shas.py -> analysis/data/sha_refs.tsv, every row of shared/commit-zuordnung-2026-08-07.md re-checked against the actual repositories.

  • Row count matches the claim exactly: 117 (gitops) + 78 (management) + 47 (ThreadNet-Web)
    • 9 (threadnet-call) = 251, and CLAUDE.md:136 says "251 Commits neue SHAs".
  • Of the 251 pairs: 209 ok (new SHA resolves, old one gone as expected) and 42 ok-both-present (new resolves, old still reachable — all 42 explained by the stale branches in F-006, not by a mapping error).
  • 0 inverted (new missing while old resolves) and 0 unresolvable (neither present). There is no row in the table that does not describe a real commit pair.
  • Consequently no accidental orphan reference exists in the docs: all six unresolvable SHA citations have individual, benign explanations (F-012).
  • The document is honest about its own boundaries in a way that measurably helped: shared/commit-zuordnung-2026-08-07.md:39-44 states what is not in the table (pre-boundary commits, 147 in gitops, 3 in ThreadNet-Web) — which is what let this session classify unresolved SHAs correctly instead of reporting them as breakage.
  • It records the operational trap it hit rather than quietly fixing it (:24-37): the tag force-push restarted three release pipelines, and the reason nothing was overwritten is named as luck, not design — "Das war Glück, keine Planung" — with the follow-up tracked as ThreadNet-Web#14.

impact: A destructive, irreversible operation was made auditable after the fact by one hand-written document, and the audit passes three days later. The unusual quality is the self-criticism: the near-miss is written down as a near-miss, which is exactly the material a future session needs and exactly what usually gets smoothed over.

root-cause pattern: A risky operation paired with a written reconstruction of what it did. Note the limit, recorded as F-004's sibling: the backup-vor-rewrite branches the document names as its verification basis (:14-17) exist on no remote today, so the mapping can no longer be re-derived — only, as here, spot-checked against surviving refs.

neckbeard mechanism: docs/aar/ is the home for this document type — AGENTS.md:83, "Standalone After Action Reviews (incidents, major deviations only)", with the required frontmatter at schema.yaml:67-74 (type, status from [open, harvested], date) and the content shape at WORKFLOW.md:84-89 (planned / actual / why the difference / learnings, then harvest into the wiki). WORKFLOW.md:105 makes it mandatory rather than optional: "Incidents and major misdiagnoses get a standalone AAR in docs/aar/". The status: harvested transition is the piece this project lacks — it writes AARs but has no mechanism that marks a learning as absorbed.