tools/CONTRACT.md beschreibt raw accept noch vor #67: Typverzeichnisse statt Datums-Shard, keine Capture-Felder
#89
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?
Gefunden in der Vorbereitungssitzung zu #32 (2026-09-11), beim Lesen der Kommandotabelle für die dort zu ergänzenden Zeilen. Umgesetzt und ausgeliefert in
5.0.0-beta.10, Commit4781140.Der Befund
#67 hat
raw acceptauf einen Datums-Shard umgestellt und zwei Pflichtflags ergänzt. Vier Zeilen intools/CONTRACT.mdbeschrieben noch den Zustand davor:raw acceptincoming/<type>/intoraw/<type>/", „the type subdirectory comes from where the file sits underincoming/", Bündel alsraw/<type>/<stem>/, Stem-Eindeutigkeit „atraw/<type>/level"raw_cmd._shard_dir()schreibt nachraw/<YYYY>/<MM>/;_validate_under_incomingtoleriert ein Unterverzeichnis und ignoriert es;_occupied_stemsprüft global überraw/raw accept--fidelity/--authorityüberhaupt nicht, weder in der Signatur noch im Text--replacesPflicht,unknownverboten, mit--pagedirekt auf die Seite geschriebenraw accept --replaces--fidelity/--authoritysind hier optional und der einzige sanktionierte Weg, einen gesetzten Wert zu korrigierenraw accept-Zeilenincoming/… nested below its type directory", „files in one call disagree on type", „the target name is already occupied atraw/<type>/level", „an existingraw_files:entry … under a different type directory"incoming/ist der Normalfall; es gibt keine Typübereinstimmung zu verletzen; Belegung wird global geprüft; fehlende Pflichtflags und ein bereits gesetztes Capture-Feld waren zwei Fehlerfälle, die gar nicht aufgeführt warenraw/CONTRACT.mdwar korrekt und beschrieb Shard, Bündelregel und Capture-Felder vollständig — die Abweichung war auftools/CONTRACT.mdbeschränkt. #67s Akzeptanzkriterium „tools/CONTRACT.mdnennt den entfallenen Check nicht mehr" war aufcheck_raw_subdirsgemünzt und war erfüllt; die Kommando- und Fehlerkontrakt-Prosa daneben war dabei nicht mitgelesen worden.Warum
docs verifydas nicht sahcheck_commandsgleicht die Namen der registrierten Kommandos gegen die Tabelle ab, in beiden Richtungen, und der Fehlerkontrakt wird auf Vorhandensein einer Zeile pro Kommando geprüft. Der Zellentext ist Prosa, und es gibt keinen mechanischen Wächter dafür — genau die Hälfte, die AGENTS.md § Changelog der Sitzung zuschreibt. Das ist auch keine Lücke, die sich schließen ließe: ein Validator kann nicht wissen, ob ein beschriebener Mechanismus noch der gebaute ist.Was gemacht wurde
Beide
raw accept-Zeilen der Kommandotabelle und beide Fehlerkontrakt-Zeilen intools/CONTRACT.mdneu geschrieben, Zelle für Zelle gegentools/chemenu/commands/raw_cmd.pygelesen statt gegenraw/CONTRACT.md. Keine Codeänderung.raw/CONTRACT.mdselbst unverändert - war bereits korrekt.Akzeptanzkriterien
raw accept-Zeilen der Kommandotabelle beschreiben den Datums-Shard, das tolerierte-und-ignorierte Unterverzeichnis inincoming/, die globale Stem-Eindeutigkeit und die Bündelbildung am Elternverzeichnis der Bestandsdatei--fidelity/--authority, und der Text sagt, dass sie ohne--replacesPflicht sind,unknownnie schreiben dürfen und mit--replacesder einzige Weg sind, einen gesetzten Wert zu überschreibentools/chemenu/commands/raw_cmd.pygegengelesen, nicht gegenraw/CONTRACT.mddocs verifyundpytestgrün; keine Codeänderung in diesem Issue5.0.0-Kandidaten - der Kandidat trägt seine Boundary-Crossing-Zeile bereits aus einem früheren Bump, diese Änderung fügt keine neue hinzu, sieheversion-parts.md)Verifiziert
tools/wikitool docs verify— OK, 51 Kommandos dokumentiert, 11 Ignore-Kanarien klar.tools/wikitool instructions verify— OK, 20 Instructions und 7 Skills gültig, 14 publizierte Kopien identisch.pytest -qintools/: 1118 passed, keine neuen Tests nötig (reine Doku-Korrektur).4781140, gepusht nachorigin/main.Schließt #89.
Changelog: Body auf den Endzustand umgeschrieben, alle Akzeptanzkriterien abgehakt. Umgesetzt in
5.0.0-beta.10, Commit4781140— vier Zellen intools/CONTRACT.md(beideraw accept-Zeilen der Kommandotabelle, beide Fehlerkontrakt-Zeilen) auf den Stand nach #67 gebracht, keine Codeänderung.docs verify,instructions verify,pytest(1118 passed) grün, gepusht.