Files
management/docs/adr/0019-komponenten-issues-adoptiert.md
Thore CimbalandClaude Opus 5 577c371ebf docs(adr): supersede ADR-0002 with ADR-0019, and say what survives it
Decision sorb. ADR-0002 held that all project issues live on git.lab. Since
ADR-0012 and now ADR-0019 the canonical place is docs/issues/ in this repo, with
GitLab as the generated mirror - so that sentence stood in the record as a valid
rule next to its own opposite.

Only that sentence falls. ADR-0002 also moved the backlog repo into the lab and
named the lab the source of truth; git.lab stays canonical for code (ADR-0001) and
the repo stays where ADR-0002 put it. Because a bare "superseded" would read as if
the move were undone too, ADR-0019 now carries a section drawing the line, and the
superseded_by pointer leads a reader there. ADR-0002's body is untouched, matching
how ADR-0006 and ADR-0007 were retired.

ADR-0005 is deliberately left accepted: the WIP limit, the status labels and the
rule that only sorb promises work all still hold - only "the board is the truth"
moved, and ADR-0012 already records that.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 12:00:00 +00:00

4.3 KiB
Raw Permalink Blame History

type, id, status, date, supersedes, superseded_by, related
type id status date supersedes superseded_by related
adr 0019 accepted 2026-08-18 docs/adr/0002-issues-und-management-ins-lab.md null
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 00010032 — ü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 00560101 ü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.