docs: Ticket-Kennungen sind auch alphanumerisch — Muster statt Numerik-Heuristik (D34-Nachtrag)

Taiga schreibt #US-123 für eine User Story, Jira #ABC-123 — die frühere
Heuristik „rein numerisch = Ticket" trägt nicht. Als Ticket-Link erkannt
wird künftig, was dem konfigurierbaren Muster des angebundenen Trackers
entspricht (Festlegung beim Taiga-Spike); die Zeichenmenge der Knoten-ID
deckt solche Kennungen schon ab, am Parser ändert sich nichts. SPEC
§1/§11, llms.md und Plan nachgezogen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
mhoennig
2026-08-22 21:06:42 +02:00
co-authored by Claude Fable 5
parent 01b836a4d4
commit fd324d8828
4 changed files with 34 additions and 13 deletions
+13
View File
@@ -1601,6 +1601,19 @@ frei. Verworfen: `$` (Preis-Kollision), `%` (ein Tippfehler vom
Auskommentieren), `:` (zu nah an `:#…`), `§` (fehlt auf US-Tastaturen), `*` Auskommentieren), `:` (zu nah an `:#…`), `§` (fehlt auf US-Tastaturen), `*`
(Markdown, schon in D29 verworfen). (Markdown, schon in D29 verworfen).
**Nachtrag — Ticket-Kennungen sind auch alphanumerisch; die
Numerik-Heuristik ist gestrichen.** Der ältere Nachtrag oben nahm an, als
Ticket-Link genüge heuristisch das rein numerische `#123`. Das trägt nicht:
Taiga schreibt `#US-123` für eine User Story, Jira `#ABC-123` — Kennungen
sind alphanumerisch (Nutzer-Hinweis). Statt die Form-Heuristik auszuweiten
(jedes `GROSS-123` als Ticket zu raten, kollidierte mit gewöhnlichen
Knoten-IDs), wird ein Token künftig am **Muster des angebundenen Trackers**
erkannt — konfigurierbar je Integration, z. B. `US-\d+` und `\d+` bei Taiga.
Die Zeichenmenge der Knoten-ID (§1: Buchstaben, Ziffern, `.`, `_`, `-`)
deckt solche Kennungen bereits ab; am Parser ändert sich nichts, die
Festlegung des Musters liegt beim Taiga-Spike. SPEC §11 ist entsprechend
umformuliert.
**Nachtrag — das XOR-Zeichen ist entschieden: `=`.** Das in §11 zunächst **Nachtrag — das XOR-Zeichen ist entschieden: `=`.** Das in §11 zunächst
vorgeschlagene `x` ist verworfen; ausschlaggebend war, **wann** seine vorgeschlagene `x` ist verworfen; ausschlaggebend war, **wann** seine
Glyph-Kollision auftritt: `x` teilt sich das Zeichen mit dem Statuscode für Glyph-Kollision auftritt: `x` teilt sich das Zeichen mit dem Statuscode für
+17 -11
View File
@@ -47,9 +47,10 @@ sie ist die Adresse für Abhängigkeiten und Beschreibungsblöcke (§11).
Label, und der für Abhängigkeiten reservierte Doppelpunkt `:#a,#b` (§11) Label, und der für Abhängigkeiten reservierte Doppelpunkt `:#a,#b` (§11)
kollidiert nicht. kollidiert nicht.
- Das **erste** solche Token der Zeile ist die ID; weitere `#`-Token bleiben im - Das **erste** solche Token der Zeile ist die ID; weitere `#`-Token bleiben im
Label stehen (dort liegt die reservierte Ticket-Referenz `#123`, §11). Eine Label stehen (dort liegt die reservierte Ticket-Referenz, §11). Eine ID, die
rein numerische ID ist zugleich die künftige Ticket-Referenz — oft ist die dem Muster des angebundenen Trackers entspricht (`#123`, `#US-123`), ist
Ticket-Nummer die natürliche Knoten-ID (D34). zugleich die künftige Ticket-Referenz — oft ist die Ticket-Kennung die
natürliche Knoten-ID (D34).
- Die ID gehört **nicht** zum Label. Eine eigene Darstellung im Diagramm hat - Die ID gehört **nicht** zum Label. Eine eigene Darstellung im Diagramm hat
sie (noch) nicht; sichtbar ist sie im Knoten-Tooltip und im `aria-label`. sie (noch) nicht; sichtbar ist sie im Knoten-Tooltip und im `aria-label`.
- **Doppelte ID:** Warnung `duplicateId` mit beiden Zeilennummern; die spätere - **Doppelte ID:** Warnung `duplicateId` mit beiden Zeilennummern; die spätere
@@ -730,18 +731,23 @@ das auch. Begründung und Zusammenhang: D34.
### Referenzen und Knoten-IDs (`#`) ### Referenzen und Knoten-IDs (`#`)
- `#123` — Referenz auf externe Tickets (geplant für Taiga-Integration). - `#123`, `#US-123` — Referenz auf externe Tickets (geplant für die
Ticket-Referenzen werden **so** notiert, weil es die etablierte Tracker-Integration). Ticket-Referenzen werden **so** notiert, weil es die
Kurzschreibweise ist; sie haben unter den `#`-Verwendungen Vorrang. etablierte Kurzschreibweise ist; sie haben unter den `#`-Verwendungen
Vorrang. Ticket-Kennungen sind **auch alphanumerisch** (Taiga schreibt
`#US-123` für eine User Story, Jira `#ABC-123`) — die Zeichenmenge der
Knoten-ID (§1) deckt sie ab.
- `#auth`**Knoten-ID**: **umgesetzt**, Definition jetzt in §1 (Zeichenmenge, - `#auth`**Knoten-ID**: **umgesetzt**, Definition jetzt in §1 (Zeichenmenge,
Alleinstehend-Regel, Warnung `duplicateId`). Ziel für Abhängigkeiten und Alleinstehend-Regel, Warnung `duplicateId`). Ziel für Abhängigkeiten und
Beschreibungsblöcke (siehe unten). Beschreibungsblöcke (siehe unten).
Beide Rollen vertragen sich: Oft **ist** die Ticket-Nummer die natürliche Beide Rollen vertragen sich: Oft **ist** die Ticket-Kennung die natürliche
Knoten-ID. Als Ticket-Link behandelt wird heuristisch das rein **numerische** Knoten-ID. Als Ticket-Link behandelt wird ein Token **nicht an seiner Form**
`#123`; wo das nicht reicht, schafft eine Präfix-Konvention (z. B. `#t123`) (die frühere Heuristik „rein numerisch" trägt bei alphanumerischen Kennungen
Eindeutigkeit. Freie Schlagworte liegen **nicht** mehr auf `#` — siehe `&tag` nicht), sondern am **Muster des angebundenen Trackers** — konfigurierbar,
unten; damit ist die frühere Dreifach-Rolle von `#` aufgelöst (D34). z. B. `US-\d+`/`\d+` bei Taiga; festzulegen im Taiga-Spike (D34-Nachtrag).
Freie Schlagworte liegen **nicht** mehr auf `#` — siehe `&tag` unten; damit
ist die frühere Dreifach-Rolle von `#` aufgelöst (D34).
### Schlagworte (`&tag`) — reserviert, bewusst ungebaut ### Schlagworte (`&tag`) — reserviert, bewusst ungebaut
+1 -1
View File
@@ -22,7 +22,7 @@
- [^] A short text right at the node (S) %% a " line below the node - [^] A short text right at the node (S) %% a " line below the node
- [^] A long block at the end, addressed by its id (S) %% behind a --- separator - [^] A long block at the end, addressed by its id (S) %% behind a --- separator
- [-] A separate storage format for the structure (L) %% the text is the format - [-] A separate storage format for the structure (L) %% the text is the format
- [ ] Ticket references (#123) (S) - [ ] Ticket references (#123,#US-123) (S) %% Taiga writes #US-123 for a user story
- [x] llms.md, the notation explained to AI agents (S) - [x] llms.md, the notation explained to AI agents (S)
- [?] Benefit per node, not only cost (M) - [?] Benefit per node, not only cost (M)
| [?] Another sigil next to the size (S) | [?] Another sigil next to the size (S)
+3 -1
View File
@@ -182,5 +182,7 @@ One node per line. Everything except the label is optional.
## Reserved — do not use for other purposes ## Reserved — do not use for other purposes
- Purely numeric `#123`: ticket references (planned tracker integration). - Ticket references like `#123` or `#US-123` (Taiga user story, Jira
`#ABC-123`): planned tracker integration will resolve node IDs that match
the connected tracker's reference pattern.
- Free-standing `&tag`: keywords across the hierarchy (reserved, unbuilt). - Free-standing `&tag`: keywords across the hierarchy (reserved, unbuilt).