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.
3.2 KiB
F-014: The issue discipline the docs describe is actually lived — measurably
category: works-well confidence: high
evidence: all measured against analysis/data/gitlab_issues.json (111 issues, 71 open).
- Milestone duty (
CLAUDE.md:98-103, "Jedes Issue gehört zu genau einem Meilenstein"): 0 of 71 open issues lack a milestone. Across all four active projects, in every one. - Exactly one status label (
CLAUDE.md:76-78,README.md:60): 0 issues carry more than onestatus:label. - WIP limit 2 (
CLAUDE.md:77, "WIP-Limit 2 — auch sessionübergreifend zu verteidigen"):status:doing= 0. The limit is not merely respected, there is no work parked as in-progress at all. - No priority in titles (
CLAUDE.md:90-97, cleaned up 2026-08-06 after 34 migrated issues carried prefixes and two contradicted their own label): 0 open issues carry a[HIGH]/[MEDIUM]/[LOW]prefix. Priority lives only inpriority:*labels (48 medium, 37 low, 12 high, 4 critical). - Legacy IDs preserved and never reused (
README.md:64-66, "IDs … werden nie wiederverwendet; sie leben in Issue-Titeln weiter"): 23 issues carry a leading legacy ID (^ID:), across 23 distinct IDs — no ID identifies two issues. Three further titles mention an ID belonging to another issue (LABNET-02in management#15, #26 and #27), which is the scheme used as intended: perCLAUDE.md:92-93the IDs "benennen den Gegenstand", so referring to one from another issue is a cross-reference, not a collision. - Closed, not deleted (
README.md:72-74): 40 closed issues are present and readable alongside the 71 open ones. - Link hygiene in the management repo is likewise clean: of 161 links in its documents,
0 broken (
analysis/data/links.tsv); the two broken links in the whole corpus are malformed upstream Element changelog entries inThreadNet-Web.
impact: The rule set is not aspirational. Where a rule is mechanically checkable and the tracker enforces it — a milestone field, a label — compliance is total. That is the strongest single argument for the migration: this project already works the way neckbeard assumes, and the failures found elsewhere in this report are concentrated exactly where no mechanism enforces anything (prose, branches, commit metadata, cross-document consistency).
root-cause pattern: Where the tool can hold the rule, the rule holds. The inverse of the pattern behind F-001, F-004, F-005 and F-010.
neckbeard mechanism: Preserved and extended by ADR-0002
(docs/adr/0002-in-repo-issues.md) plus schema.yaml:76-84, which makes status an enum
([open, in-progress, done, rejected]) that scripts/validate.py enforces via
check_fields — the file-level equivalent of "exactly one status label", but checkable in
CI rather than by convention. Note the direction of loss to plan for: neckbeard's issue
schema has no milestone and no priority field, and
docs/aar/2026-08-09-neckbeard-v1-creation.md lists "priority field on issues (YAGNI,
revisit via refinement)" among the ideas deliberately not adopted. This project uses both,
on 100% and 101 of 111 issues respectively. Recorded here as field-test evidence, not as a
proposal — see REPORT.md's gap list.