# F-010: Hand-written "Stand" labels are older than the commits that touched the same file category: doc-drift confidence: medium evidence: - Label vs. last commit on `main` (`analysis/data/docs_inventory.tsv`, `git log -1`): | file | "Stand" label | last commit | |---|---|---| | `CLAUDE.md:18` | 2026-08-01 | 2026-08-09 | | `roadmap.md:3` | 2026-08-06 | 2026-08-09 | | `hosts/overmind.md:14` | 2026-07-31 | 2026-08-09 | - The labels are not merely old, they are contradicted inside their own file: `hosts/overmind.md` carries the table label "**Stand** 2026-07-31" at line 14 and the sentence "Stand 2026-08-09 **sieben**" at line 28. - `CLAUDE.md` is labelled "Projektrealitäten (Stand 2026-08-01)" while containing a rule section headed "Commit-Konventionen (seit 2026-08-07)" — six days newer than the label above it. - Scale of the surface: 40 documents, 813 extracted claim lines, of which 68 carry an explicit date assertion (`analysis/data/claims.tsv`, trigger `date-claim`). - The whole document set is young — every management doc is ≤ 8 days old (`docs_inventory.tsv`, max `days_since_change` = 8) — so this is drift accumulating at high speed, not neglect over time. impact: The label is what a reader uses to decide whether to trust a section, and here it systematically under-reports freshness, which trains readers to distrust current content and, worse, gives no signal at all when a section really is stale. In `roadmap.md` the combination is actively misleading: "Stand 2026-08-06" over numbers that were already wrong on 2026-08-09 (F-001). root-cause pattern: **Hand-maintained metadata about a file, kept inside the file.** Git already knows the answer; the label is a second source of truth that must be updated by hand and therefore is not. neckbeard mechanism: Prevented by `AGENTS.md:79` — `STATUS.md` is "Generated overview … do not edit by hand", produced by `scripts/gen_status.py` — combined with `AGENTS.md:101-103`: "Deterministic jobs (status generation, validation, link checks) are done by scripts, not by you. If a deterministic job lacks a script, propose one instead of doing it by inference." A file's freshness is exactly such a deterministic job. `docs/aar/2026-08-09-neckbeard-v1-creation.md` reinforces it from experience: "Deterministic jobs belong in scripts, not inference — this rule paid for itself repeatedly", and "Git is the changelog. No separate log file." (`WORKFLOW.md:140`) is the same principle applied to history. Note for Session 2: `schema.yaml` requires a `date` field on adr, design and aar artifacts (`kind: date`), which is a *creation/decision* date and legitimately hand-set — that is not the same thing as a freshness label and should not be conflated when migrating. confidence note: medium — the dates are exact, but a "Stand" label may be intended as "state of the described system as last verified", not "state of this text". Under that reading the labels are defensible for `hosts/overmind.md`; they are not for `roadmap.md`, whose own header says "Zahlen hier veralten, das Board nicht".