docs: tools/CONTRACT.md als Nachschlage-Dokument strukturiert, AGENTS.md-Routing angepasst (schliesst #92)
Files changed: - AGENTS.md - CHANGES.md - VERSION - tools/CONTRACT.md - tools/chemenu/tests/test_docs_verify.py
This commit is contained in:
+48
-1
@@ -35,7 +35,7 @@ dev-checkout concern - readable here, never shipped as something to parse.
|
||||
|
||||
---
|
||||
|
||||
## 5.0.0-beta.13 - 2026-09-11 - docs verify prueft die Kommando- und Fehlerkontrakttabelle in tools/CONTRACT.md getrennt, 10 fehlende Fehlerkontrakt-Zeilen nachgetragen (schliesst #91)
|
||||
## 5.0.0-beta.14 - 2026-09-11 - tools/CONTRACT.md als Nachschlage-Dokument strukturiert: ###-Gruppen in beiden Tabellen, spiegelnde Reihenfolge, Lead-in-Regel
|
||||
|
||||
**Author:** Torben Nehmer
|
||||
|
||||
@@ -66,6 +66,7 @@ dev-checkout concern - readable here, never shipped as something to parse.
|
||||
- MCP submit-Tool: Quarantäne-Schreibpfad mit Upload Review Gate (schliesst #32)
|
||||
- AGENTS.md-Changelog-Absatz korrigiert: Contract-Prosa ist Sitzungsarbeit, doc-pull-through-Instruction ergaenzt
|
||||
- docs verify prueft die Kommando- und Fehlerkontrakttabelle in tools/CONTRACT.md getrennt, 10 fehlende Fehlerkontrakt-Zeilen nachgetragen (schliesst #91)
|
||||
- tools/CONTRACT.md als Nachschlage-Dokument strukturiert: ###-Gruppen in beiden Tabellen, spiegelnde Reihenfolge, Lead-in-Regel
|
||||
<!-- /wikitool:bumps -->
|
||||
|
||||
|
||||
@@ -1261,6 +1262,52 @@ Abschnittstrennung, fehlende/umbenannte Überschrift, § Error contracts in beid
|
||||
Verifiziert: `tools/wikitool docs verify`, `tools/wikitool instructions verify`, volle
|
||||
`pytest`-Suite (1193 passed). Schließt #91.
|
||||
|
||||
**`tools/CONTRACT.md` ist jetzt ein Dokument zum Nachschlagen statt zum Durchlesen (#92).**
|
||||
Mit 70 KB war es das größte Dokument im Repo - größer als `AGENTS.md`, `kb/CONTRACT.md` und
|
||||
`raw/CONTRACT.md` zusammen -, und 89 % davon lagen in den zwei Kommandotabellen. Gleichzeitig
|
||||
war es für gezielten Abruf bereits ideal gebaut, ohne dass es irgendwo stand: eine Zeile ist
|
||||
ein Kommando, physisch einzeilig, also liefert ein einziges ``grep '^| `<kommando>' `` beide
|
||||
Hälften seines Vertrags - was es tut und wie es fehlschlägt - und sonst nichts. `AGENTS.md`
|
||||
routete stattdessen mit "Full command reference" dorthin, was sich als Vollread liest.
|
||||
|
||||
Drei Änderungen: die Datei trägt die Nachschlage-Regel samt `grep`-Zeile jetzt als Lead-in vor
|
||||
dem Inhaltsverzeichnis (genau einmal, Invariante 8 - `AGENTS.md`s Routing-Zelle beschreibt nur
|
||||
noch die Form und wiederholt die Zeile nicht); beide Tabellen sind in vierzehn `###`-Gruppen
|
||||
gegliedert, wodurch `docs toc` erstmals Anker unterhalb `##` erzeugt (vorher existierte im
|
||||
ganzen Repo genau ein Anker-Link in diese Datei); und § Error contracts steht nun in derselben
|
||||
Gruppen- und Zeilenreihenfolge wie § Commands, sodass die zwei Hälften eines Vertrags parallel
|
||||
liegen - vorher saß etwa `links show` einmal zwischen `xref link-source` und `cite id`, einmal
|
||||
zwischen `version release` und `migrate list`. Nebenbei repariert: die `dist export`-Zeile war
|
||||
über vier physische Zeilen umgebrochen und damit kein gültiger GFM-Tabellen-Datensatz mehr.
|
||||
|
||||
Die Umstellung lief per Skript mit einer Behauptung über die Multimenge der Erst-Zellen vor und
|
||||
nach dem Schreiben, nicht per Augenschein - bei 117 Zeilen ist "keine verloren" nichts, was ein
|
||||
Review zusieht. Dass `###` die Abschnittsgrenze aus #91 nicht bricht, ist jetzt ein eigener
|
||||
Test: `section_text`s Lookahead `(?=^#{1,2}[ \t]|\Z)` verlangt nach ein bis zwei `#` ein
|
||||
Space/Tab, was bei `###` fehlschlägt - ohne diese Eigenschaft wäre § Commands an seiner ersten
|
||||
Gruppe abgeschnitten und jedes spätere Kommando als undokumentiert gemeldet worden.
|
||||
|
||||
Bewusst nicht angefasst: die siebzehn Tabellenzellen über 900 Zeichen. Der naheliegende Schritt
|
||||
wäre, ihren Begründungsanteil nach `docs/` zu schieben; die Gegenprobe an der größten Zelle
|
||||
(`publish`, 3.375 Zeichen) zeigt, dass die Kandidaten dafür - warum ein Token Dateiliste *und*
|
||||
Inhalte digestiert, warum die Publish-Remote-Gate kein Flag hat - für eine handelnde Session
|
||||
normativ verwertbar sind und nicht Hintergrund. Sie wegzukürzen hätte die Zelle verkleinert und
|
||||
die Handlungsfähigkeit gesenkt. Die Zellen sind lang, weil die Verträge dicht sind.
|
||||
|
||||
PATCH, kein neues Boundary-Crossing: reine Dokumentstruktur, kein Format, keine Funktion, keine
|
||||
Hand-Arbeit bei Update oder Downgrade. Eine private Instanz mit eigenem `tools/CONTRACT.md`
|
||||
bekommt beim Merge Konflikte in den beiden Tabellen, weil deren Zeilen umsortiert wurden - das
|
||||
ist ein Merge-Konflikt in einer stack-eigenen Datei, den `upstream merge` ohnehin zugunsten der
|
||||
Upstream-Seite auflöst, kein Kompatibilitätsbruch.
|
||||
|
||||
Geändert: `tools/CONTRACT.md` (Lead-in, `###`-Gruppen in beiden Tabellen, gespiegelte
|
||||
Reihenfolge, TOC via `docs toc --apply`), `AGENTS.md` (Routing-Zelle für `tools/`),
|
||||
`tools/chemenu/tests/test_docs_verify.py` (zwei Tests: Abschnitt läuft über eigene
|
||||
Unterüberschriften hinweg, gruppierte Tabellen bleiben in beiden Richtungen geprüft).
|
||||
Verifiziert: `tools/wikitool docs verify`, `tools/wikitool instructions verify`, volle
|
||||
`pytest`-Suite (1195 passed). Typischer Zugriff: Median 229 statt 17.500 Tokens.
|
||||
Schließt #92.
|
||||
|
||||
---
|
||||
|
||||
## 4.7.4 - 2026-09-04 - bootstrap.md nennt den session-id-WARN nach frischem Bootstrap explizit als erwartet
|
||||
|
||||
Reference in New Issue
Block a user