wikitool new instruction schreibt das Migrationsfeld obligation: required in jede neue Instruktion #109
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?
Beobachtung
tools/wikitool new instruction --name "<name>"erzeugt (Stand6.1.0-beta.1):obligation:ist aber ein Migrationsfeld.instructions/CONTRACT.md§
instructions/migrations/fuehrt es als eines von drei Feldern, die eine Migrationzusaetzlich traegt (
migrates_to:,migration_kind:,obligation:), undtypes/instruction.schema.yamlbeschreibt es woertlich als "Whether the migration must run atall". Eine gewoehnliche Instruktion ist keine Migration und hat nichts, was laufen muesste.
Gegenprobe im Baum: ausser der frisch scaffoldeten Datei traegt das Feld nur
instructions/migrations/4.0.0-link-taxonomy.mdundinstructions/migrations/6.0.0-type-guidance-split.md- also genau die zwei Migrationsdokumente.Keine der 20 anderen Instruktionen hat es.
Warum es zaehlt
Nichts bricht:
migrate statusbaut die Kette ausmigrates_to:, nicht ausobligation:, unddas Feld ist schemakonform. Der Schaden ist Lesbarkeit an einer Stelle, an der der Stack sonst
sehr genau ist - eine neue Instruktion behauptet in ihrer Frontmatter eine Eigenschaft aus einem
anderen Konzept, und wer das Schema nicht daneben legt, liest es als bedeutungstragend. Beim
Anlegen von
instructions/upgrade-instance.mdist das Feld genau so aufgefallen und von Handwieder entfernt worden; das naechste Mal bleibt es vielleicht stehen.
Vermutete Ursache (nicht verifiziert): das Scaffold materialisiert Schema-Defaults, und
obligation:hat als einziges der Migrationsfelder einen (default: required).Akzeptanzkriterien
tools/wikitool new instruction --name "x"erzeugt eine Frontmatter ohneobligation:.tools/wikitool newerzeugt ein Migrationsdokument weiterhin mit den drei Feldern, sofernes das heute tut - andernfalls ist dokumentiert, dass eine Migration von Hand ergaenzt wird.
Schema-Default nicht still wieder einwandert.
docs verify,instructions verifyundpytestohne neue Befunde.Abgrenzung
Nur das Scaffold. Ob
obligation:im Schema einen Default haben soll, ist eine eigene Frage -instructions/CONTRACT.mdbeschreibtrequiredausdruecklich als den Default fuer Migrationen,und dort ist er richtig.
Gefunden beim Anlegen der Instruktion aus #108.