--- type: adr id: "0019" status: accepted date: 2026-08-18 supersedes: docs/adr/0002-issues-und-management-ins-lab.md superseded_by: null related: - "docs/adr/0012-issues-im-repo-gitlab-als-spiegel.md" - "docs/adr/0013-gruppenregeln-kanonisch-mit-pruefung.md" --- # ADR-0019: Komponenten-Issues in docs/issues/ adoptiert — eine Nummernwelt für die Gruppe ## Kontext ADR-0012 machte `docs/issues/` kanonisch, **beschränkt auf den Management-Scope**, und ließ die Komponenten-Tracker (gitops, ThreadNet-Web, threadnet-call) ausdrücklich auf GitLab als Wahrheit — „bis die jeweilige Komponente selbst adoptiert". Der Zustand seither: zwei Issue-Welten mit getrennten Nummernkreisen (management#20 ≠ gitops#20), Drift zwischen Board und Repo an mehreren Stellen (Beispiel: gitops#61 monatelang ohne Meilenstein, geschlossene Board-Issues zu offenen Dateien), und Host-Sessions ohne Lab-Zugang sehen die Komponenten-Backlogs gar nicht. sorb hat am 2026-08-18 die Adoption angeordnet: ein Backlog, eindeutige Bezeichner, Drift beenden. ## Entscheidung **Die offenen Issues der Komponenten-Tracker werden in `docs/issues/` adoptiert; es gibt ab jetzt genau eine kanonische Nummernwelt.** - Jedes adoptierte Issue bekommt die nächste freie Datei-Nummer (0056 ff.); die Datei-ID ist der eindeutige Bezeichner der Gruppe. Die Herkunft steht im Frontmatter (`projekt` + `gitlab_iid`) und im Dateinamen (`0091-gitops-61-…`); ADR-0012s Gleichung „GitLab-iid = Datei-id" gilt nur noch für den Management-Altbestand 0001–0032 — über mehrere Projekte ist sie nicht kollisionsfrei zu halten. - Übernommen werden Titel, Beschreibung (wortgleich), Status (Board-Labels `status:*`), Meilenstein, Priorität, Fälligkeit und eine `area`; Kommentare und Verlauf bleiben auf GitLab (wie beim Management-Import). Geschlossene GitLab-Issues bleiben Historie und werden nicht importiert. - Die GitLab-Projekt-Tracker werden zur **bespiegelten Ansicht** wie zuvor schon das management-Projekt: `spiegel_issues.py` routet jede Datei über ihr `projekt`-Feld ins Herkunftsprojekt, kann geschlossene Issues zu offenen Dateien wieder öffnen, und `gruppenpruefung.py` prüft die Drift über alle adoptierten Projekte. Board-, Meilenstein- und Label-Ansichten arbeiten unverändert weiter — der Grund, aus dem ADR-0012 Option C gewählt hat, bleibt erhalten. - Neue Issues entstehen ab jetzt **immer** als Datei; das `projekt`-Feld bestimmt, in welchem Tracker der Spiegel sie anlegt (fehlt es: management). Ein GitLab-seitig neu angelegtes Issue ohne Datei ist ein Befund der Gruppenprüfung („zweites Backlog"), kein stiller Zustand. - Werkzeug: `verfahren/issue-adoption/adoptiere.py` (deterministisch, idempotent, Dry-Run-Default) hat die 46 offenen Komponenten-Issues als 0056–0101 übernommen. ## Konsequenzen - Ein Backlog, ein Nummernkreis, eine Drift-Prüfung; `STATUS.md` zeigt erstmals die ganze Gruppe. Host-Sessions lesen alle Backlogs über den Gitea-Mirror dieses Repos. - Die Schwelle „Komponente adoptiert selbst" aus ADR-0012 ist damit für gitops, ThreadNet-Web und threadnet-call genommen; thread-net-git, threadnet-operating und notfallhandbuch hatten keine offenen Issues und adoptieren bei Bedarf durch Aufnahme in die `projekt`-Enum. - Querbezüge in Prosa nennen künftig die Datei-ID; alte Bezeichner wie „gitops#61" bleiben über Frontmatter und Dateinamen auffindbar. ## Verhältnis zu ADR-0002 (Ablösung, teilweise) ADR-0002 entschied zweierlei: dass **alle Projekt-Issues auf git.lab leben**, und dass das Backlogs-Repo als `axion1337.chat/management` ins Lab zieht, weil das Lab die Quelle der Wahrheit ist. Nur der **erste** Satz fällt. - **Abgelöst:** „Alle Projekt-Issues leben auf git.lab." Kanonisch ist seit ADR-0012 `docs/issues/` im Repo, seit diesem ADR für alle Tracker der Gruppe; GitLab ist der generierte Spiegel. ADR-0002 wird deshalb auf `superseded` gesetzt — die Aussage stünde sonst als gültige Regel neben ihrem Gegenteil. - **Gilt weiter:** git.lab bleibt kanonisch für **Code** (ADR-0001), und das management-Repo bleibt dort, wohin ADR-0002 es gebracht hat. Der Umzug selbst wird nicht rückgängig gemacht und nicht neu entschieden. Die Statusmarkierung betrifft also die Issue-Frage, nicht die Repo-Topologie. Wer ADR-0002 künftig liest, findet über den `superseded_by`-Zeiger hierher.