Files
management/analysis/findings/F-009-doc-attention-does-not-follow-work-mass.md
T

58 lines
3.7 KiB
Markdown
Raw Normal View History

# F-009: Documentation attention and actual work mass point at different components
category: structural-drift
confidence: medium
evidence:
- Open issues per component (`analysis/data/gitlab_issues.json`):
`axion1337.chat-gitops` 35 · `management` 26 · `ThreadNet-Web` 9 · `threadnet-call` 1 ·
`thread-net-git` 0 · `threadnet-operating` 0.
- Commit volume over all refs (`analysis/data/git_activity.tsv`):
`axion1337.chat-gitops` 269 · `ThreadNet-Web` 52 · `threadnet-operating` 21 ·
`threadnet-call` 12 own · `thread-net-git` 11.
- Repository substance (`analysis/data/tree_*.txt`): `thread-net-git` holds **4 tracked
files** (`.gitignore`, `README.md`, `docker-compose.yml`, one file under `backup/`) and
one markdown document; last commit 2026-08-02, 7 days before the reference date.
`threadnet-operating` holds 27 files, 2 documents.
- Against that, `vision/threadnet.md:9-11` presents all four ThreadNet repos as equal
members of the product line, and `roadmap.md:50-62` gives the ThreadNet line six numbered
items, five of which concern `ThreadNet-Web` and none of which concern `thread-net-git`
or `threadnet-operating`.
- The component carrying half the open work, `axion1337.chat-gitops`, is named in the
vision document **not at all** and in `CLAUDE.md` once, parenthetically, as an equation
to a display name (`CLAUDE.md:6`).
- All 14 issues of the newly created M5 — Härtung milestone are in `axion1337.chat-gitops`.
impact: A reader forming a mental model from `vision/` and `roadmap.md` will weight five
components roughly equally and will not learn that one of them holds half the backlog while
two are effectively dormant. Session-start reading therefore mis-primes exactly the
prioritisation that the roadmap exists to steer. This is a mismatch, not a defect: dormancy
may be entirely intended — but the documents do not say so, and `README.md:68-70` requires
each point to describe "den tatsächlichen Zustand".
root-cause pattern: **Documents describe the intended shape, the tracker holds the actual
one, and nothing reconciles them.** Related to F-001 in mechanism: the tracker is where
reality accumulates, the documents are written once.
neckbeard mechanism: `AGENTS.md:79` plus `scripts/gen_status.py`: `STATUS.md` is a generated
overview of open issues, active designs and recent ADRs, explicitly "do not edit by hand",
and `WORKFLOW.md:128` puts reviewing it for "anything stale or surprising" on the refinement
agenda. With ADR-0002's in-repo issues, work mass is countable from the tree, so the
imbalance would be visible in a generated artifact rather than inferable only from an API.
**Gap in neckbeard:** `gen_status.py` covers one repo. This project is six, and neckbeard
has no cross-repo status concept — the same missing "components" artifact as in F-008.
confidence note: medium rather than high — the underlying counts are exact, but "attention
should follow work mass" is a judgement about intent, and dormant-by-design is a legitimate
answer the documents simply do not give.
post-analysis addendum (2026-08-10, session close): the human confirmed the dormancy is
**intentional and staged**: a base feature set first, then build out monitoring and
security — explicitly avoiding getting lost in polish ("sich nicht in Chromleisten
verrennen"). `threadnet-operating` rests deliberately. This resolves the intent question
and sharpens the finding rather than dissolving it: the strategy exists, but it lives in
the owner's head and now in this file — no repo document records it. Implication for
Session 2's components artifact (neckbeard gap 2): it needs a lifecycle field
(active / dormant, with the staging rationale) so that intent like this is recorded where
sessions read it.