Ausgelieferte Instruktionen zeigen tools/wikitool-Aufrufe, deren Flags das Werkzeug nicht (mehr) kennt, und nichts meldet das. #174 ist der Fall: wiki-ingest und wiki-manage zeigten xref add --rel-a/--rel-b von 4.0.0 bis 8.0.0-beta.38 - über vier Major-Versionen hinweg, gefunden erst, als eine Ingest-Sitzung in einer Instanz daran scheiterte. instructions verify prüft Frontmatter, Links und Drift der publizierten Kopien. docs verify gleicht Flags gegen die CLI ab, aber nur für die SYNOPSIS der cli_contract-Records (check_synopsis_flags()), nicht für Aufrufe in Instruktionen. Ob ein gezeigter Aufruf ausführbar ist, prüft niemand.
Was gebaut werden soll
Eine Prüfung, die jeden tools/wikitool <subcommand…> --flag-Aufruf in den Agenten-Dokumenten gegen den Typer-Kommandobaum (typer.main.get_command(chemenu.cli.app)) abgleicht und ein unbekanntes Subkommando oder Flag als Fehler meldet, mit Datei und Zeile.
Ein Ad-hoc-Prototyp aus der Triage von #174 (Skript nicht eingecheckt) hat gezeigt, dass das geht, und hat die Fallstricke offengelegt, die der Bau auflösen muss:
Zeilenweise parsen. Der Prototyp ließ Whitespace über Zeilenumbrüche laufen und zog so Flags aus der Folgezeile in den Aufruf davor (evolve-subtypes.md, ingest-large-tree.md). Fortsetzungszeilen mit \ müssen dagegen zusammengefügt werden.
Zitierte Strings ausblenden. Ein Flag-Name in einem Argumentwert (--breaking "--gate-file is gone" in tools/CONTRACT.md) ist kein Flag.
Kommentare nach # ausblenden.
TyperGroup ist in der installierten Click-Version keine Unterklasse von click.Group - Gruppen über .commands erkennen, nicht über isinstance.
Platzhalter wie <cmd> oder <subcommand> sind kein Subkommando; ein Aufruf, der nicht bis zu einem Blatt-Kommando auflöst, wird übersprungen, nicht gemeldet.
Offene Fragen (Betreiberentscheidung)
Wo lebt die Prüfung? Als neuer Check in instructions verify (läuft in jeder Instanz, deckt auch instanz-eigene Instruktionen ab) oder als Test in tools/chemenu/tests/ (nur im Ursprungs-Repo, nur ausgelieferte Texte)? Empfehlung: instructions verify - eine Instanz, die eigene Instruktionen schreibt, hat dasselbe Problem.
Welcher Umfang? Nur Code-Blöcke, oder auch Inline-Code in Prosa? Und welche Dateien: instructions/**, AGENTS.md, */CONTRACT.md, kb/CONVENTIONS.md, kb/**/COLLECTION.md, types/*.md? tools/CONTRACT.md ist aus cli_contract generiert und wird bereits über check_synopsis_flags() abgedeckt - ausnehmen.
Akzeptanzkriterien (vorläufig, bis die Fragen entschieden sind)
Ein Aufruf mit einem Flag, das das Blatt-Kommando nicht definiert, wird mit Datei, Zeile, Kommando und Flag gemeldet und lässt die Prüfung mit Exit 1 enden.
Auf dem aktuellen Baum (nach #174) meldet die Prüfung nichts - insbesondere keinen der Fehlgriffe des Prototyps.
Je ein Test für: Flag aus der Folgezeile, Flag im zitierten Argument, Flag im Kommentar, \-Fortsetzung, Platzhalter-Subkommando.
Dateien
tools/chemenu/commands/docs_verify.py:394check_synopsis_flags() - läuft bereits über den Kommandobaum und sammelt die echten Flags je Kommando; Durchlauf und Flag-Menge wiederverwenden statt eine zweite Kopie zu bauen
tools/chemenu/commands/instructions_cmd.py (falls instructions verify) oder ein neuer Test unter tools/chemenu/tests/
tools/chemenu/markdown_code.py hat bereits Code-Block-Erkennung
tools/CONTRACT.md / cli_contract-Record von instructions verify, instructions/CONTRACT.md, falls der Check dort landet
Versionsteil
Vorläufig --minor: neue Prüfung, keine Schnittstelle geändert. Grenzfall: Eine Instanz mit eigenen Instruktionen, die heute veraltete Flags zeigen, bekommt nach dem Update ein rotes instructions verify - zu prüfen, sobald Frage 1 entschieden ist.
## Problem
Ausgelieferte Instruktionen zeigen `tools/wikitool`-Aufrufe, deren Flags das Werkzeug nicht (mehr) kennt, und nichts meldet das. #174 ist der Fall: `wiki-ingest` und `wiki-manage` zeigten `xref add --rel-a/--rel-b` von 4.0.0 bis 8.0.0-beta.38 - über vier Major-Versionen hinweg, gefunden erst, als eine Ingest-Sitzung in einer Instanz daran scheiterte. `instructions verify` prüft Frontmatter, Links und Drift der publizierten Kopien. `docs verify` gleicht Flags gegen die CLI ab, aber nur für die SYNOPSIS der `cli_contract`-Records (`check_synopsis_flags()`), nicht für Aufrufe in Instruktionen. Ob ein gezeigter Aufruf ausführbar ist, prüft niemand.
## Was gebaut werden soll
Eine Prüfung, die jeden `tools/wikitool <subcommand…> --flag`-Aufruf in den Agenten-Dokumenten gegen den Typer-Kommandobaum (`typer.main.get_command(chemenu.cli.app)`) abgleicht und ein unbekanntes Subkommando oder Flag als Fehler meldet, mit Datei und Zeile.
Ein Ad-hoc-Prototyp aus der Triage von #174 (Skript nicht eingecheckt) hat gezeigt, dass das geht, und hat die Fallstricke offengelegt, die der Bau auflösen muss:
- **Zeilenweise parsen.** Der Prototyp ließ Whitespace über Zeilenumbrüche laufen und zog so Flags aus der Folgezeile in den Aufruf davor (`evolve-subtypes.md`, `ingest-large-tree.md`). Fortsetzungszeilen mit `\` müssen dagegen zusammengefügt werden.
- **Zitierte Strings ausblenden.** Ein Flag-Name in einem Argumentwert (`--breaking "--gate-file is gone"` in `tools/CONTRACT.md`) ist kein Flag.
- **Kommentare nach `#` ausblenden.**
- `TyperGroup` ist in der installierten Click-Version keine Unterklasse von `click.Group` - Gruppen über `.commands` erkennen, nicht über `isinstance`.
- Platzhalter wie `<cmd>` oder `<subcommand>` sind kein Subkommando; ein Aufruf, der nicht bis zu einem Blatt-Kommando auflöst, wird übersprungen, nicht gemeldet.
## Offene Fragen (Betreiberentscheidung)
1. **Wo lebt die Prüfung?** Als neuer Check in `instructions verify` (läuft in jeder Instanz, deckt auch instanz-eigene Instruktionen ab) oder als Test in `tools/chemenu/tests/` (nur im Ursprungs-Repo, nur ausgelieferte Texte)? Empfehlung: `instructions verify` - eine Instanz, die eigene Instruktionen schreibt, hat dasselbe Problem.
2. **Welcher Umfang?** Nur Code-Blöcke, oder auch Inline-Code in Prosa? Und welche Dateien: `instructions/**`, `AGENTS.md`, `*/CONTRACT.md`, `kb/CONVENTIONS.md`, `kb/**/COLLECTION.md`, `types/*.md`? `tools/CONTRACT.md` ist aus `cli_contract` generiert und wird bereits über `check_synopsis_flags()` abgedeckt - ausnehmen.
## Akzeptanzkriterien (vorläufig, bis die Fragen entschieden sind)
- [ ] Ein Aufruf mit einem Flag, das das Blatt-Kommando nicht definiert, wird mit Datei, Zeile, Kommando und Flag gemeldet und lässt die Prüfung mit Exit 1 enden.
- [ ] Auf dem aktuellen Baum (nach #174) meldet die Prüfung nichts - insbesondere keinen der Fehlgriffe des Prototyps.
- [ ] Je ein Test für: Flag aus der Folgezeile, Flag im zitierten Argument, Flag im Kommentar, `\`-Fortsetzung, Platzhalter-Subkommando.
## Dateien
- `tools/chemenu/commands/docs_verify.py:394` `check_synopsis_flags()` - läuft bereits über den Kommandobaum und sammelt die echten Flags je Kommando; Durchlauf und Flag-Menge wiederverwenden statt eine zweite Kopie zu bauen
- `tools/chemenu/commands/instructions_cmd.py` (falls `instructions verify`) oder ein neuer Test unter `tools/chemenu/tests/`
- `tools/chemenu/markdown_code.py` hat bereits Code-Block-Erkennung
- `tools/CONTRACT.md` / `cli_contract`-Record von `instructions verify`, `instructions/CONTRACT.md`, falls der Check dort landet
## Versionsteil
Vorläufig `--minor`: neue Prüfung, keine Schnittstelle geändert. Grenzfall: Eine Instanz mit eigenen Instruktionen, die heute veraltete Flags zeigen, bekommt nach dem Update ein rotes `instructions verify` - zu prüfen, sobald Frage 1 entschieden ist.
Herkunft: Triage von #174.
Changelog: Beim Abschluss von #174 gefunden: docs verify gleicht über check_synopsis_flags() (docs_verify.py:394) bereits Flags gegen die CLI ab, aber nur für die Record-SYNOPSIS. Problem-Abschnitt präzisiert, unter Dateien als wiederverwendbarer Baustein ergänzt; tools/CONTRACT.md in Frage 2 als „ausnehmen“ markiert, weil schon abgedeckt. Falsche Zeitangabe „zwei Jahre“ war bereits vorher zu „über vier Major-Versionen“ korrigiert.
**Changelog:** Beim Abschluss von #174 gefunden: `docs verify` gleicht über `check_synopsis_flags()` (`docs_verify.py:394`) bereits Flags gegen die CLI ab, aber nur für die Record-SYNOPSIS. Problem-Abschnitt präzisiert, unter Dateien als wiederverwendbarer Baustein ergänzt; `tools/CONTRACT.md` in Frage 2 als „ausnehmen“ markiert, weil schon abgedeckt. Falsche Zeitangabe „zwei Jahre“ war bereits vorher zu „über vier Major-Versionen“ korrigiert.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Ausgelieferte Instruktionen zeigen
tools/wikitool-Aufrufe, deren Flags das Werkzeug nicht (mehr) kennt, und nichts meldet das. #174 ist der Fall:wiki-ingestundwiki-managezeigtenxref add --rel-a/--rel-bvon 4.0.0 bis 8.0.0-beta.38 - über vier Major-Versionen hinweg, gefunden erst, als eine Ingest-Sitzung in einer Instanz daran scheiterte.instructions verifyprüft Frontmatter, Links und Drift der publizierten Kopien.docs verifygleicht Flags gegen die CLI ab, aber nur für die SYNOPSIS dercli_contract-Records (check_synopsis_flags()), nicht für Aufrufe in Instruktionen. Ob ein gezeigter Aufruf ausführbar ist, prüft niemand.Was gebaut werden soll
Eine Prüfung, die jeden
tools/wikitool <subcommand…> --flag-Aufruf in den Agenten-Dokumenten gegen den Typer-Kommandobaum (typer.main.get_command(chemenu.cli.app)) abgleicht und ein unbekanntes Subkommando oder Flag als Fehler meldet, mit Datei und Zeile.Ein Ad-hoc-Prototyp aus der Triage von #174 (Skript nicht eingecheckt) hat gezeigt, dass das geht, und hat die Fallstricke offengelegt, die der Bau auflösen muss:
evolve-subtypes.md,ingest-large-tree.md). Fortsetzungszeilen mit\müssen dagegen zusammengefügt werden.--breaking "--gate-file is gone"intools/CONTRACT.md) ist kein Flag.#ausblenden.TyperGroupist in der installierten Click-Version keine Unterklasse vonclick.Group- Gruppen über.commandserkennen, nicht überisinstance.<cmd>oder<subcommand>sind kein Subkommando; ein Aufruf, der nicht bis zu einem Blatt-Kommando auflöst, wird übersprungen, nicht gemeldet.Offene Fragen (Betreiberentscheidung)
instructions verify(läuft in jeder Instanz, deckt auch instanz-eigene Instruktionen ab) oder als Test intools/chemenu/tests/(nur im Ursprungs-Repo, nur ausgelieferte Texte)? Empfehlung:instructions verify- eine Instanz, die eigene Instruktionen schreibt, hat dasselbe Problem.instructions/**,AGENTS.md,*/CONTRACT.md,kb/CONVENTIONS.md,kb/**/COLLECTION.md,types/*.md?tools/CONTRACT.mdist auscli_contractgeneriert und wird bereits übercheck_synopsis_flags()abgedeckt - ausnehmen.Akzeptanzkriterien (vorläufig, bis die Fragen entschieden sind)
\-Fortsetzung, Platzhalter-Subkommando.Dateien
tools/chemenu/commands/docs_verify.py:394check_synopsis_flags()- läuft bereits über den Kommandobaum und sammelt die echten Flags je Kommando; Durchlauf und Flag-Menge wiederverwenden statt eine zweite Kopie zu bauentools/chemenu/commands/instructions_cmd.py(fallsinstructions verify) oder ein neuer Test untertools/chemenu/tests/tools/chemenu/markdown_code.pyhat bereits Code-Block-Erkennungtools/CONTRACT.md/cli_contract-Record voninstructions verify,instructions/CONTRACT.md, falls der Check dort landetVersionsteil
Vorläufig
--minor: neue Prüfung, keine Schnittstelle geändert. Grenzfall: Eine Instanz mit eigenen Instruktionen, die heute veraltete Flags zeigen, bekommt nach dem Update ein rotesinstructions verify- zu prüfen, sobald Frage 1 entschieden ist.Herkunft: Triage von #174.
Changelog: Beim Abschluss von #174 gefunden:
docs verifygleicht übercheck_synopsis_flags()(docs_verify.py:394) bereits Flags gegen die CLI ab, aber nur für die Record-SYNOPSIS. Problem-Abschnitt präzisiert, unter Dateien als wiederverwendbarer Baustein ergänzt;tools/CONTRACT.mdin Frage 2 als „ausnehmen“ markiert, weil schon abgedeckt. Falsche Zeitangabe „zwei Jahre“ war bereits vorher zu „über vier Major-Versionen“ korrigiert.