Files
management/analysis/findings/F-004-open-work-lives-only-in-host-markdown.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

3.0 KiB

F-004: Open work items live only in host markdown, against the repo's own "no backlog markdown" rule

category: process-drift confidence: high

evidence:

  • The rule, twice stated: CLAUDE.md:72-75 — "Alles Offene ist ein Issue … Kein neues Backlog-Markdown anlegen; hosts//shared/ sind nur Bestand + Historie" — and README.md:47 — "Alle offenen Punkte sind Issues in diesem Projekt".
  • Open next steps that exist only as prose in hosts/ and shared/:
    • hosts/overmind.md:90 — "Nächster Schritt: element-desktop-build von rohana in die Lab-Registry umziehen … bewusst zurückgestellt" (section OVERMIND-01, marked "Status: erledigt").
    • hosts/overmind.md:111-115 — "Offen: … Falls der Hang trotz EEE-off + neuer Firmware wiederkehrt: gezielter ASPM-Fix statt globalem Kernel-Parameter".
    • hosts/cfgmon.md:148 — "Nächster Schritt: die drei manuellen Schritte oben, dann → erledigt" (section CFGMON-11).
    • shared/branding.md:210 — a whole ## Offen section.
  • Section IDs in hosts//shared/ with no corresponding issue anywhere in the group (checked against all 111 issues in analysis/data/gitlab_issues.json): OVERMIND-01, CFGMON-11, CFGMON-12, CFGMON-13, MATRIX-05. For contrast, OVERMIND-02 -> management#4 and LABNET-01 -> management#11 do exist.
  • hosts/overmind.md:146 even routes readers to a markdown-only item as if it were tracked: "CFGMON-11 (Gitea-CI-Rückbau)".

impact: An item like the element-desktop-build migration is invisible to the group board, carries no milestone, no priority and no owner, and appears in no refinement. It is deferred with a reason — a good reason — inside a file the process declares to be history. README.md:74 names the distinction between "gemacht" and "bewusst gelassen" as the most frequent question; for these five IDs the answer exists in exactly one place and it is not the one the process points at.

root-cause pattern: Two backlogs, one rule. The rule says one system; the host documents are the natural place to write while working on a host, so items land there and the migration to an issue is a separate act of discipline that sometimes does not happen.

neckbeard mechanism: Directly prevented by ADR-0002 (docs/adr/0002-in-repo-issues.md, Decision: "In-repo Markdown issues (docs/issues/NNNN-slug.md, status in frontmatter, generated STATUS.md as index)"). Under it there is no gap between "writing in the doc" and "filing an issue" — both are markdown files in the same tree, and scripts/validate.py enforces that an issue has a status from schema.yaml's enum [open, in-progress, done, rejected] (check_fields, schema.yaml:76-84), so an open item cannot exist as a bold prose label. scripts/gen_status.py then lists it in STATUS.md whether or not anyone remembered it. Residual gap: nothing in neckbeard would stop a wiki page under docs/wiki/ from carrying an "Offen" section; the guard is WORKFLOW.md:126 wiki lint, a human ritual.