new source: Konzepttitel mit Komma wird bei --set concepts/entities am Komma zerlegt (Frontmatter ohne Quoting, kaputte Wikilinks, lint-Fehler) #239

Open
opened 2026-10-20 04:39:54 +00:00 by torben · 1 comment
Owner

Kurzfassung

wikitool new source --set concepts="A,B, C,D" behandelt das Komma im Titel B, C als Listentrenner. Der Befehl endet mit Exit 0 und ohne Warnung. Das Ergebnis ist eine Source-Seite mit zwei nicht existierenden Einträgen in concepts: und zwei kaputten Wikilinks im Body. lint meldet sie erst danach.

Betroffen ist ein reales Concept: Ordnungs-, Wisch- und Sanitätsdienst (Verzeichnis kb/concepts/regeln/).

Umgebung

  • Stack-Version: VERSION 10.1.0
  • Claude Code, zsh, Linux 6.18.36-1-lts (Arch)
  • aufgetreten beim wiki-ingest einer PDF; Bugreport-Bündel (pseudonymisiert, Stufe 1 und 2) liegt lokal vor und kann auf Anfrage geliefert werden

Reproduktion

  1. Ein Concept anlegen, dessen Titel ein Komma enthält, zum Beispiel Alpha, Beta und Gamma.

  2. Eine Source-Seite anlegen, die dieses Concept in concepts: führen soll. Der Befehl ist hier gekürzt, mit den üblichen Pflichtfeldern:

    tools/wikitool new source --name "<Titel>" \
      --set source_type=dokument \
      --set raw_files=<pfad> \
      --set fidelity=verbatim --set authority=normative \
      --set source_language=de \
      --set concepts="Technische Besprechung,Alpha, Beta und Gamma,Spielkleidung"
    
  3. Die erzeugte Seite lesen.

  4. tools/wikitool lint ausführen.

Erwartet

Entweder lässt sich ein Titel mit Komma übergeben (Quoting, Escape oder Wiederholung des Flags), oder new source lehnt ihn mit einer klaren Meldung ab. Die Seite hätte dann genau einen gültigen Eintrag je Concept und einen Wikilink [[Alpha, Beta und Gamma]].

Beobachtet

  • new source endet mit Exit 0 und OK Created kb/sources/dokumente/Source - ....md, ohne Warnung.

  • Im Frontmatter steht, ohne Anführungszeichen (reales Beispiel):

    concepts: [Technische Besprechung, Ordnungs-, Wisch- und Sanitätsdienst, Haftmittel im BHV-Spielbetrieb, Spielkleidung, Spielbericht in nuScore]
    

    Ein YAML-Parser (PyYAML, safe_load) liest daraus sechs Einträge, der Titel mit Komma ist in 'Ordnungs-' und 'Wisch- und Sanitätsdienst' zerlegt.

  • Im Body steht unter ## Verwandte Concepts je ein Wikilink pro Teilstück (- [[Ordnungs-]], - [[Wisch- und Sanitätsdienst]]) statt [[Ordnungs-, Wisch- und Sanitätsdienst]].

  • tools/wikitool touch --set ... und tools/wikitool xref link-source ... (zweimal) enden mit Exit 0 und lassen die concepts:-Zeile unverändert.

  • Die Seite wurde mit der kaputten Zeile veröffentlicht (publish Exit 0). Erst lint meldet:

    - [[Source - ...]] `concepts:` names `Ordnungs-`, which is not a page
    - [[Source - ...]] `concepts:` names `Wisch- und Sanitätsdienst`, which is not a page
    

Vergleich: ältere Seite im selben Repository

Eine ältere Source-Seite führt dasselbe Concept korrekt in doppelten Anführungszeichen (Commit c2f040d):

concepts: [Technische Besprechung, Spielbericht in nuScore, Fahrtkostenteilung bei Doppeleinsätzen, "Ordnungs-, Wisch- und Sanit\xE4tsdienst"]

Wie diese Zeile entstanden ist (anderer Befehl, anderer Pfad, von Hand), ist nicht bekannt.

Nicht geprüft

  • Ob andere Befehle mit kommagetrennten Listen (--set entities=, xref link-source --entities, touch --add, new entity/new concept --set ...) denselben Titel mit Komma gleich zerlegen.
  • Ob der eigene Frontmatter-Reader des Stacks die ungequotete Zeile anders liest als PyYAML. lint meldet zwei getrennte Einträge.
  • Der Exit-Code von lint selbst wurde bei der Prüfung nicht erfasst.

Hinweis zur Behebung vor Ort

Die betroffene Seite habe ich nicht in tools/ oder per Hand im Frontmatter verändert (Invariante 1). Die zwei Wikilinks im Body habe ich beim Schreiben des Seitentexts korrigiert. Offen ist die concepts:-Zeile.

## Kurzfassung `wikitool new source --set concepts="A,B, C,D"` behandelt das Komma im Titel `B, C` als Listentrenner. Der Befehl endet mit Exit 0 und ohne Warnung. Das Ergebnis ist eine Source-Seite mit zwei nicht existierenden Einträgen in `concepts:` und zwei kaputten Wikilinks im Body. `lint` meldet sie erst danach. Betroffen ist ein reales Concept: `Ordnungs-, Wisch- und Sanitätsdienst` (Verzeichnis `kb/concepts/regeln/`). ## Umgebung - Stack-Version: `VERSION` 10.1.0 - Claude Code, zsh, Linux 6.18.36-1-lts (Arch) - aufgetreten beim `wiki-ingest` einer PDF; Bugreport-Bündel (pseudonymisiert, Stufe 1 und 2) liegt lokal vor und kann auf Anfrage geliefert werden ## Reproduktion 1. Ein Concept anlegen, dessen Titel ein Komma enthält, zum Beispiel `Alpha, Beta und Gamma`. 2. Eine Source-Seite anlegen, die dieses Concept in `concepts:` führen soll. Der Befehl ist hier gekürzt, mit den üblichen Pflichtfeldern: ```bash tools/wikitool new source --name "<Titel>" \ --set source_type=dokument \ --set raw_files=<pfad> \ --set fidelity=verbatim --set authority=normative \ --set source_language=de \ --set concepts="Technische Besprechung,Alpha, Beta und Gamma,Spielkleidung" ``` 3. Die erzeugte Seite lesen. 4. `tools/wikitool lint` ausführen. ## Erwartet Entweder lässt sich ein Titel mit Komma übergeben (Quoting, Escape oder Wiederholung des Flags), oder `new source` lehnt ihn mit einer klaren Meldung ab. Die Seite hätte dann genau einen gültigen Eintrag je Concept und einen Wikilink `[[Alpha, Beta und Gamma]]`. ## Beobachtet - `new source` endet mit Exit 0 und `OK Created kb/sources/dokumente/Source - ....md`, ohne Warnung. - Im Frontmatter steht, ohne Anführungszeichen (reales Beispiel): ```yaml concepts: [Technische Besprechung, Ordnungs-, Wisch- und Sanitätsdienst, Haftmittel im BHV-Spielbetrieb, Spielkleidung, Spielbericht in nuScore] ``` Ein YAML-Parser (PyYAML, `safe_load`) liest daraus sechs Einträge, der Titel mit Komma ist in `'Ordnungs-'` und `'Wisch- und Sanitätsdienst'` zerlegt. - Im Body steht unter `## Verwandte Concepts` je ein Wikilink pro Teilstück (`- [[Ordnungs-]]`, `- [[Wisch- und Sanitätsdienst]]`) statt `[[Ordnungs-, Wisch- und Sanitätsdienst]]`. - `tools/wikitool touch --set ...` und `tools/wikitool xref link-source ...` (zweimal) enden mit Exit 0 und lassen die `concepts:`-Zeile unverändert. - Die Seite wurde mit der kaputten Zeile veröffentlicht (`publish` Exit 0). Erst `lint` meldet: ```text - [[Source - ...]] `concepts:` names `Ordnungs-`, which is not a page - [[Source - ...]] `concepts:` names `Wisch- und Sanitätsdienst`, which is not a page ``` ## Vergleich: ältere Seite im selben Repository Eine ältere Source-Seite führt dasselbe Concept korrekt in doppelten Anführungszeichen (Commit `c2f040d`): ```yaml concepts: [Technische Besprechung, Spielbericht in nuScore, Fahrtkostenteilung bei Doppeleinsätzen, "Ordnungs-, Wisch- und Sanit\xE4tsdienst"] ``` Wie diese Zeile entstanden ist (anderer Befehl, anderer Pfad, von Hand), ist nicht bekannt. ## Nicht geprüft - Ob andere Befehle mit kommagetrennten Listen (`--set entities=`, `xref link-source --entities`, `touch --add`, `new entity`/`new concept --set ...`) denselben Titel mit Komma gleich zerlegen. - Ob der eigene Frontmatter-Reader des Stacks die ungequotete Zeile anders liest als PyYAML. `lint` meldet zwei getrennte Einträge. - Der Exit-Code von `lint` selbst wurde bei der Prüfung nicht erfasst. ## Hinweis zur Behebung vor Ort Die betroffene Seite habe ich nicht in `tools/` oder per Hand im Frontmatter verändert (Invariante 1). Die zwei Wikilinks im Body habe ich beim Schreiben des Seitentexts korrigiert. Offen ist die `concepts:`-Zeile.
Author
Owner

Workaround in der Instanz (kein Fix des Fehlers):

Die betroffene Concept-Seite wurde so umbenannt, dass der Titel kein Komma mehr enthält: Ordnungs-, Wisch- und Sanitätsdienst → Ordnungs-; Wisch- und Sanitätsdienst (Commit 7081182, per wikitool rename, 18 Seiten mit angepassten Referenzen).

Die concepts:-Zeile der betroffenen Source-Seite wurde danach von Hand korrigiert, mit ausdrücklicher Freigabe für diesen Einzelfall. wikitool lint meldet die beiden Einträge Ordnungs- und Wisch- und Sanitätsdienst nicht mehr.

Der Fehler selbst bleibt offen: new source --set concepts=... (und vermutlich --set entities=) zerlegt einen Titel mit Komma weiterhin am Komma, ohne Warnung und ohne Anführungszeichen im Frontmatter. Erwartet bleibt entweder korrektes Quoting oder eine Ablehnung mit Meldung.

Workaround in der Instanz (kein Fix des Fehlers): Die betroffene Concept-Seite wurde so umbenannt, dass der Titel kein Komma mehr enthält: `Ordnungs-, Wisch- und Sanitätsdienst` → `Ordnungs-; Wisch- und Sanitätsdienst` (Commit 7081182, per `wikitool rename`, 18 Seiten mit angepassten Referenzen). Die `concepts:`-Zeile der betroffenen Source-Seite wurde danach von Hand korrigiert, mit ausdrücklicher Freigabe für diesen Einzelfall. `wikitool lint` meldet die beiden Einträge `Ordnungs-` und `Wisch- und Sanitätsdienst` nicht mehr. Der Fehler selbst bleibt offen: `new source --set concepts=...` (und vermutlich `--set entities=`) zerlegt einen Titel mit Komma weiterhin am Komma, ohne Warnung und ohne Anführungszeichen im Frontmatter. Erwartet bleibt entweder korrektes Quoting oder eine Ablehnung mit Meldung.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: torben/chemenu#239