Issue-Management: Label-Schema und Body-als-Wahrheit-Konvention #41
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Kontext
Bündelt die Ergebnisse einer Diskussion am 2026-09-02 über den Entwicklungsprozess dieses Repos, ausgehend von den Fallouts in #38, #30, #28, #7, #27. Bewusst das erste Issue, das umgesetzt wird - es setzt den Rahmen für die Bearbeitung aller anderen.
Stand: vollständig umgesetzt. Label-Set steht in Gitea, das Schema ist seit
4.0.1kanonisch ininstructions/dev/issue-tracking.md(Commitc8c2385),kb/concepts/Issue Label Scheme.mdist nachgezogen (Commit23e34a9), und alle offenen Issues tragen die vier Pflicht-Label. Offen ist nur noch die Entscheidung, ob dieses Issue geschlossen wird oder als Referenz stehen bleibt.Entscheidung 1: Issues bleiben Storage für eingehende Specs, mit schärferer Pflege
Ein eingehender Wunsch/Requirement bleibt Issue, nicht
kb/-Seite - Issues sind ephemer und bilden Wünsche ab,kb/bildet verifiziertes, dauerhaftes Wissen ab (unverändert gegenüberinstructions/dev/issue-tracking.md).Motivation für die verschärfte Pflege: Die Umsetzung der hier verhandelten Issues zieht sich über mehrere, oft zeitlich getrennte LLM-Sitzungen. Der Issue-Body ist der einzige Ort, der diese Sitzungen verbindet - er ist die Lifeline für das Agent-Memory. Eine Sitzung, die ein Issue neu öffnet, muss allein aus dem Body rekonstruieren können, was entschieden ist und was noch offen ist, ohne dass ein Mensch den Kontext erneut vorkaut. Ein additiv wachsendes Log zwingt zum Lesen der ganzen Geschichte, um den aktuellen Stand herauszufiltern - ein aktuell gehaltener Body liefert ihn direkt. Das ist der eigentliche Grund für die folgenden drei Regeln, nicht Ordnung um der Ordnung willen.
Entscheidung 2: Vier Pflicht-Label-Familien statt zwei
area/kb,distribution,corpus,workflow,processAGENTS.md(keinarea/tools- Tooling wird nach der Domäne eingeordnet, die es bedient, nicht nach Codeort)size/S,M,L(verdichtet von vier auf drei Stufen,XSentfällt)S/M/Lprio/blocking,planned,waiting(Umbenennung von1/2/3, Bedeutung unverändert)kind/decision,build,defectdecision→build, sobald entschieden) - das ist erwünschtes Session-Memory-Verhalten, kein MakelAlle vier sind Pflicht auf jedem offenen Issue, weil maschinelle Pflege durch das LLM den ursprünglichen Einwand gegen eine dritte/vierte Achse (Pflegeaufwand für einen einzelnen Menschen) entkräftet.
Entscheidung 3: Zwei optionale Status-Flags
status/blocked- wartet auf ein anderes, noch offenes Issue; unabhängig vomprio-Wert nicht eigenständig bearbeitbar. Nicht mandatory, weil es eine Beziehung zwischen Issues abbildet, keine Eigenschaft eines einzelnen.status/unconfirmed- gemeldeter Verdacht, noch nicht gegen tatsächliches Verhalten geprüft. Gilt für jedenkind-Wert, nicht nurdefect. Solange gesetzt, sindsizeundpriovorläufig. Nach Triage: Flag entfernt undsize/prioverbindlich gesetzt, oder Issue mit Begründung geschlossen (kein unbelegter Verdacht bleibt offen liegen - Analogie zu Invariante 3 des Stacks, nur auf Prozessebene).Migration der bestehenden Labels
prio/1→prio/blocking,prio/2→prio/planned,prio/3→prio/waiting(reine Umbenennung).size/XSentfällt,size/S/M/Lbleiben unverändert.area/*,kind/*,status/*sind neu. Erledigt - alle 16 Label stehen in Gitea.Umgesetzt in
4.0.1instructions/dev/issue-tracking.mdist auf das Schema umgeschrieben: Schritt 2 (Body als aktuelle Wahrheit inkl. Mehrsitzungs-Begründung), Schritt 3 (Changelog-Kommentar statt Vollkopie, mit Beispiel), Schritt 4 (alle vier Pflichtachsen als vier Tabellen), Schritt 5 (die beidenstatus/-Flags und der Triage-Ausgang), Schritt 6 (Re-Labeling schließtkind/-Wechsel ein). Der Entscheidungspunkt „Two labels feel too coarse?" ist entfallen, an seine Stelle treten zwei neue („Rewrite the body, or add a comment?" und der Umgang mit Altissues, die nur zwei Label tragen). Die Beschreibungszeile ininstructions/dev/stack-dev/SKILL.mdnennt jetzt die vier Achsen und die Body-Konvention.PATCH und nicht MINOR, weil
dist exportinstructions/dev/vollständig ausschließt - für eine ausgelieferte Instanz ändert sich nichts. Gleiche Begründung wie bei1.2.1, das das ursprüngliche Zweiachsen-Schema eingeführt hat.Nachgezogen in
kb/(Commit23e34a9)kb/concepts/Issue Label Scheme.mdbeschreibt jetzt das Vierachsen-Schema, die beidenstatus/-Flags und die Body-als-Wahrheit-Konvention; das abgelöste Zweiachsen-Schema steht als Abschnitt „Historie" mit Diff-Tabelle daneben statt gelöscht zu werden.confidence_basevon 0.70 auf 0.85.Als Quelle dient dieser Thread selbst: Body und Changelog-Kommentare im Stand vom 2026-09-02T21:13Z, plus das gelesene Label-Set, liegen wörtlich als
raw/notes/Gitea Issue 41 - Issue Management and Label Scheme 2026-09-02.mdund alskb/sources/Source - Gitea Issue 41 - Issue Management and Label Scheme 2026-09-02.md. Das Transkript der zugrundeliegenden Diskussion existiert nicht inraw/, was auf der Source-Seite unter „Nicht übernommen" vermerkt ist - die Quelle belegt das Ergebnis der Debatte, nicht ihren Verlauf.Board vollständig umgestellt (2026-09-02)
Alle 21 offenen Issues tragen die vier Pflicht-Label. Die 15, die noch auf dem Zweiachsen-Stand waren, wurden nach Lektüre des jeweiligen Bodys eingeordnet, nicht nach Titel:
area/kind/kbbuildkbdecisiondistributiondecisionprocessbuildprocessdecisionprocessdefect#29 trug bis dahin als einziges Issue überhaupt kein
size/und hatsize/Sbekommen.Zwei Einordnungen sind nicht selbsterklärend und deshalb hier festgehalten: #23 (Test erzwingt
_WIKITOOL_ENV-Vollständigkeit) und #10 (Coverage-Reporting) sindarea/process, obwohl sie Code untertools/anfassen - sie bedienen den Entwicklungsprozess, und die Regel lautet Einordnung nach bedienter Domäne, nicht nach Codeort. #36 und #32 sindarea/kb, weil der MCP-Leseserver und die Ingest-Queue Zugangswege zur Wissensbasis sind, nicht Auslieferung einer Instanz; #37 ist dagegenarea/distribution, weil dort ein lauffähiges Artefakt gebaut und in eine Registry geschoben wird.Nicht in diesem Issue
Nichts mehr.
Akzeptanzkriterien
instructions/dev/issue-tracking.mdin einer stack-dev-Sitzung um dieses Schema ergänzt (4.0.1, Commitc8c2385)kb/concepts/Issue Label Scheme.mdin einerwiki-manage-Sitzung nachgezogen (Commit23e34a9)instructions/dev/issue-tracking.mdund dauerhaft inkb/concepts/Issue Label Scheme.md- eine Referenzfunktion dieses Issues ist damit nicht mehr nötig.Vorgeschichte
Entschieden in der Diskussion vom 2026-09-02, im Rahmen einer Aufarbeitung von #38, #30, #28, #7, #27 als "Fallouts" des Entwicklungsprozesses. #39 und #40 liefen parallel und unabhängig, nicht Teil dieser Debatte.
Changelog: Entscheidung 1, dritter Punkt korrigiert. Vorher: "Kommentare = Historie", der bisherige Body-Stand wird beim Umschreiben vollständig als Kommentar gesichert. Jetzt: "Kommentare = Changelog, nicht Kopie" - ein Kommentar nennt nur, was sich geändert hat, keine Volltextkopie des alten Bodys. Grund: eine Vollkopie pro Revision ist für einen Menschen nicht diffbar und damit keine brauchbare Historie.
Changelog: Entscheidung 1 um Motivationsabsatz ergänzt (Body als Lifeline für Agent-Memory über mehrere Sitzungen hinweg, nicht Ordnung um der Ordnung willen). Akzeptanzkriterium 1 abgehakt, Referenzliste der bereits umgestellten Issues (#38, #27, #7, #42) ergänzt.
Changelog: Akzeptanzkriterium 2 abgehakt - das Schema ist mit
4.0.1(Commitc8c2385) kanonisch ininstructions/dev/issue-tracking.md. Neu: Stand-Zeile im Kontext, Abschnitt „Umgesetzt in4.0.1" (was genau in der Instruction steht, und warum PATCH), Vermerk „Erledigt" an der Label-Migration. Neu als offener Punkt und als fünftes Akzeptanzkriterium:kb/concepts/Issue Label Scheme.mdbeschreibt noch das Zweiachsen-Schema und braucht eine eigenewiki-manage-Sitzung. Entfallen: der Absatz „Die eigentliche Textänderung ... braucht eine separate stack-dev-Sitzung" - genau die ist jetzt gelaufen.Changelog: Akzeptanzkriterium 4 abgehakt -
kb/concepts/Issue Label Scheme.mdist nachgezogen (Commit23e34a9). Der Absatz „Nicht in diesem Issue" verliert damit seinen zweiten Punkt; diekb/-Seite beschreibt jetzt das Vierachsen-Schema, die beidenstatus/-Flags und die Body-als-Wahrheit-Konvention, das abgelöste Zweiachsen-Schema steht als Abschnitt „Historie" mit Diff-Tabelle daneben. Quelle dafür ist dieser Thread selbst: Body und Changelog-Kommentare liegen wörtlich alsraw/notes/Gitea Issue 41 - Issue Management and Label Scheme 2026-09-02.mdund als Source-Seite im Korpus. Offen bleibt nur noch Kriterium 3, die Relabelung der verbliebenen Sachissues.Changelog: Akzeptanzkriterium 3 abgehakt - alle 21 offenen Issues tragen jetzt die vier Pflicht-Label. Neu: Abschnitt „Board vollständig umgestellt" mit der Zuordnungstabelle und der Begründung der beiden nicht selbsterklärenden
area/-Einordnungen (#23/#10 alsprocesstrotz Code untertools/; #36/#32 alskbgegen #37 alsdistribution). Der Abschnitt „Nicht in diesem Issue" ist leer geworden. Das letzte Kriterium ist umformuliert: aus „dient bis dahin als Referenz" wird eine offene Betreiberentscheidung, ob das Issue geschlossen wird - eine Referenzfunktion braucht es nicht mehr, seit das Schema kanonisch in der Instruction und dauerhaft inkb/concepts/Issue Label Scheme.mdsteht.Zwei Beobachtungen aus der Umstellung, die eine
prio/-Entscheidung wären und deshalb nicht von mir gesetzt wurden:prio/waitingmit dem im Body benannten Auslöser „#19 muss stehen". #19 ist geschlossen, der Auslöser ist also gefeuert - nach Schritt 6 der Instruction wäre das ein Wechsel aufprio/planned.prio/blocking, beschreiben aber Arbeit, die in4.0.0ausgeliefert wurde. Entweder sind Restkriterien offen, oder beide sind schließbar.Geschlossen. Alle vier Akzeptanzkriterien sind umgesetzt: Label-Set in Gitea (16 Labels, vier Pflicht- plus eine optionale Familie), Schema kanonisch in
instructions/dev/issue-tracking.md(4.0.1, Commitc8c2385),kb/concepts/Issue Label Scheme.mdnachgezogen (Commit23e34a9), alle 21 offenen Issues auf die vier Pflicht-Label umgestellt.Nicht umgesetzt wurde nichts - kein Teil der drei Entscheidungen wurde bewusst weggelassen. Verifiziert:
docs verify,instructions verify,pytest(856 passed) nach dem Instruction-Rewrite;sources coverage,lintund Index-Rebuild nach demkb/-Nachzug.Referenzfunktion für das Schema übernehmen ab jetzt
instructions/dev/issue-tracking.md(für Sitzungen) undkb/concepts/Issue Label Scheme.md(für Nachschlagen) - beide dauerhaft, dieses Issue war nur der Weg dorthin.