1Gegenstand
Dieses Dokument ist eine sinngemäße Übersetzung. Maßgeblich ist das Originaldokument auf Französisch; Erweiterungen und Änderungen werden stets dort eingepflegt.
Das Kit gibt sich als unabhängig von der künstlichen Intelligenz aus, die es ausführt. Das ist es nicht: seine Kette setzt Werkzeuge, eine Ordnerstruktur und Verhaltensweisen voraus, die sie nicht mitliefert. Dieses Dokument benennt, was sie verlangt.
Es nennt keine einzelne Intelligenz. Jede schreibt daneben ihren eigenen Befund, der Zeile für Zeile auf den Vertrag aus §2 antwortet und erklärt, was ihr fehlt. Der Vertrag gehört dem Kit und gilt überall; der Befund gehört der Intelligenz, und nur sie kann ihn messen.
2Ausführungsvertrag
Jede Zeile nennt eine Fähigkeit, ihren Nutzen in der Kette und das, was ohne sie wegfällt. Die Reihenfolge der Zeilen liegt fest: sie macht zwei Befunde vergleichbar.
| Fähigkeit | Nutzen | Ohne sie | Grad |
|---|---|---|---|
| Node.js | Führt die Stylesheets und die Generatoren aus. | Nichts wird erzeugt. | Erforderlich |
| Modul docx | Baut das Dokument und schreibt es. | Kein Dokument. | Erforderlich |
| Python 3 | Werkzeuge zum Auslesen, Prüfen und Rendern. | Keine Prüfung, kein Deckblatt. | Erforderlich |
| pandoc | Wandelt ein Dokument in eine Webseite und liest das Cover Sheet. | Keine Webseite. | Bedingt |
| LibreOffice | Wandelt ein Dokument in PDF. | Die Website erscheint ohne PDF. | Bedingt |
| zip | Erzeugt das Projektarchiv, wenn projectShareable im Registry true ist. | Der Durchlauf bricht ab: Der von projectZip.downloadUrl angekündigte Link zeigte auf ein fehlendes Archiv. | Erforderlich, wenn projectShareable true ist |
| Pillow | Setzt das PNG des Deckblatts. | Kein gerendertes Deckblatt. | Bedingt |
| Modul adm-zip | Baut das Archiv der Website. | Die Website entsteht ohne Archiv. | Bedingt |
3Grade der Anforderung
Drei Grade, und sie bestimmen das Verhalten, wenn eine Fähigkeit fehlt.
–Erforderlich: die Kette hält an. Es gibt keine ehrliche abgespeckte Fassung eines Dokuments: ohne den Baustein entsteht kein ärmeres Dokument, es entsteht keines.
–Bedingt: ein Erzeugnis entfällt, der Rest entsteht. Eine Website ohne PDF ist besser als keine Website. Das entfallene Erzeugnis wird angesagt.
–Geduldet: ein Umweg besteht und wird samt seinem Preis angesagt. Eine Installation zu Sitzungsbeginn ist einer: sie überlebt nicht.
4Regeln unabhängig von der Intelligenz
Sie folgen aus dem Vertrag und gelten in jeder Umgebung. Ihr Wohnsitz liegt anderswo; sie stehen hier, weil ein Befund auf sie antwortet.
–Eine einzige Auflösung: alle Dateien einer Kette lösen das Baumodul gleich auf. Zwei Instanzen erzeugen ein gültiges und leeres Dokument. General Reference §1.3.
–Reihenfolge der Auflösung: gewöhnliche Auflösung, dann die in KIT_NODE_MODULES erklärte Wurzel, dann die vom Paketwerkzeug gemeldete. Kein Pfad wird im Voraus geschrieben.
–Örtlicher Zeitstempel: Dateinamen tragen die Luxemburger Zeit, nie die des Containers. Nur der Veröffentlichungsstempel der Registry steht in Weltzeit.
–Neu geschriebener Generator: kein Erzeugungsskript überlebt von einer Sitzung zur nächsten. Jede Sitzung geht vom aktiven Stylesheet und seiner Reference aus.
5Prüfung zu Sitzungsbeginn
Vor jeder Erzeugung wiederholt die Intelligenz die folgende Prüfung und sagt ihr Ergebnis an. Das ist keine Einladung: es ist das nullte Glied der Prüfkette und geht der ersten Prüfung aus Quality Control §3.13 voraus.
node --version
node -p "require.resolve('docx')"
node -p "Object.keys(require('docx')).length"
python3 --version
python3 -c "import PIL; print('Pillow', PIL.__version__)"
which pandoc soffice
node -e "require('adm-zip'); console.log('adm-zip')"Die Ansage geht der Erzeugung voraus, nie umgekehrt. Die Intelligenz sagt an, was sie erzeugen wird und was nicht. Ein Fehlen am Ende eines Durchlaufs zu entdecken heißt, es zu spät zu entdecken.
–Eine erforderliche Fähigkeit fehlt: Abbruch, mit dem Namen der Fähigkeit und dem Befehl, der sie installiert.
–Eine bedingte Fähigkeit fehlt: das zugehörige Erzeugnis wird als fehlend angesagt, der Durchlauf geht weiter.
–Ein Umweg wird gegangen: er wird in der Ausgabe des Durchlaufs angesagt und in den Befund der Intelligenz eingetragen.
6Aufbau eines Befunds
Ein Befund trägt das Präfix der Intelligenz und die Kategorie Documentation — Namenskonvention §2. Er hat sechs Abschnitte, in dieser Reihenfolge.
| # | Abschnitt | Inhalt |
|---|---|---|
| 1 | Gegenstand und Daten | Welche Umgebung, Datum der Abfassung und Datum der letzten Prüfung. Der Abstand zwischen beiden sagt etwas aus. |
| 2 | Antwort auf den Vertrag | Die Tabelle aus §2, gleiche Zeilenfolge, mit dem Gemessenen und seinem Ort. |
| 3 | Lücken | Was fehlt, und welchem Grad aus §3 es entspricht. |
| 4 | Umwege | Was dagegen getan wird, und was es kostet. |
| 5 | Besonderheiten | Was nicht im Vertrag steht und die Arbeitsweise dennoch ändert. |
| 6 | Rohbefund | Befehle und Ausgaben, wörtlich. Der Beleg für Abschnitt 2. |
7Was das Kit nicht zusichert
Zwei Annahmen fallen aus dem Vertrag, weil das Kit sie hinnimmt, ohne sie erzwingen zu können. Sie gehören in den Befund jeder Intelligenz, Abschnitt 5.
–Das Fortbestehen zwischen Sitzungen. Nichts sichert zu, dass eine Umgebung ihren Zustand wiederfindet. Darauf beruhen die Prüfung aus §5 und das Neuschreiben des Generators.
–Die Form einer angehängten Datei. Eine Intelligenz kann ein Dokument als Binärdatei oder als ausgelesenen Text liefern. Im zweiten Fall erzeugt das Ändern eines bestehenden Dokuments aus dem Gelesenen eine verarmte Datei, ohne dass etwas darauf hinweist — daher die Regel der zwingenden Binärdatei.