Netzwerk-Labor · Doku Stand — gemessen, nicht getippt Zum Spiel Online

Stand — gemessen, nicht getippt

Die einzige Zahlenquelle des Projekts — bei jedem Lauf neu gemessen, nicht getippt.

Erzeugt von tools/stand.py. Handarbeit wird beim naechsten Lauf ueberschrieben.

Diese Seite ist die einzige Zahlenquelle des Projekts (Vertrag: Architektur.md Abschnitt 16.1). README.md, Liesmich.md, AGENTS.md, Bauen.md, SITZUNGSABSCHLUSS.md und der CHANGELOG nennen Zahlen nur noch ueber diese Seite. Historische CHANGELOG-Abschnitte bleiben, wie sie geschrieben wurden — sie werden nicht rueckdatiert und nicht korrigiert.

Der Stand

GroesseWertGemessen mit
Fassung (Quelle)3.1.0bauen.py, Zeile VERSION = ... (Regex)
Android-BauzaehlungVERSION_CODE = 30101android/bauen.py (Regex)
Baukennungdf418002 (gebaut aus Fassung 3.1.0)docs/index.html, LABOR_BAU (Regex)
Tests1.384/1.384 grünechter Lauf node tests/run.js, Bilanzzeile
davon uebersprungen0Zeile „davon N uebersprungen“ (tests/harness.js: Test mit 0 Zusicherungen)
Exit-Code des Testlaufs0Rueckgabewert desselben Laufs
Testdateien174dieselbe Bilanzzeile
headless Module (Testlauf)100dieselbe Bilanzzeile
Bau-Module149 (davon 100 headless)python bauen.py --liste (JSON, gezaehlt)
src/148 JS-Dateien, 43.278 Zeilenalle src/**/*.js, Zeilen = Summe str.splitlines() je Datei (inkl. Leerzeilen, CRLF = ein Umbruch)
Einzeldatei Netzwerk-Labor.html4.219.830 B · SHA256 D50ED3A1A8D5A0EAECCBFB939D6BB7F0955C3B4FD3CE47D41ED9642A9461F713Bytes zaehlen, hashlib.sha256 ueber die Bytes
Einzeldatei docs/index.html4.219.830 B · SHA256 D50ED3A1A8D5A0EAECCBFB939D6BB7F0955C3B4FD3CE47D41ED9642A9461F713Bytes zaehlen, hashlib.sha256 ueber die Bytes
Einzeldateien byte-gleichjagleicher SHA256
Tickets76DATEN.tickets (headless Module geladen wie tests/run.js)
Kunden7Object.keys(DATEN.kunden) (headless Module geladen wie tests/run.js)
Karrierestufen6Spiel.KARRIERE_STUFEN (headless Module geladen wie tests/run.js)
Projekte (Tickets mit art = projekt)4gezaehlt in DATEN.tickets (headless Module geladen wie tests/run.js)
Mini-Tickets151DATEN.mini (headless Module geladen wie tests/run.js)
Netzvorlagen5Object.keys(Spiel.vorlagen) (headless Module geladen wie tests/run.js)
Fehlerinjektoren55Object.keys(Spiel.INJEKTOREN) (headless Module geladen wie tests/run.js)
Trainings52DATEN.trainings (headless Module geladen wie tests/run.js)
Wiki-Seiten37Object.keys(DATEN.wiki) (headless Module geladen wie tests/run.js)
Fertigkeiten30DATEN.skills (headless Module geladen wie tests/run.js)
Abzeichen17Spiel.ABZEICHEN (headless Module geladen wie tests/run.js)
Fehlertexte82Object.keys(DATEN.fehlertexte) (headless Module geladen wie tests/run.js)
Doku-Seiten docs/doku71 HTML-Dateien (inkl. Uebersicht)HTML-Dateien zaehlen
Doku-Quellen70 Markdown-Dokumentewas tools/seite.py veroeffentlicht: README.md + AGENTS.md + docs/**/*.md
Markdown-Dateien107git ls-files auf *.md + unversionierte *.md
Relative Verweise383 geprueft, 0 totwie tools/repo-verweise-flicken.py
R12 BedienelementeLetztmessung: max 59 sichtbare Bedienelemente, 44 Messungen (Ansicht x Breite), 32 ueber der Grenze eingefroren (tests/r12-stand.json, Stand 2026-11-01); Gate: Zuwachs je Ansicht×Breite = ROTtools/ethos.py --dom --r12 <roh> --festhalten -> tests/r12-stand.json

Bekannte, begruendete Ausnahmen

Abweichungen, die keine Messung wegzaubert. Sie stehen im Vertrag, gelten bis zur dort genannten Fassung — und der Pruefmodus prueft, dass ihre Bedingungen noch stimmen: eine Ausnahme, die nicht mehr gilt, macht ihn rot.

BereichAusnahmeBegruendung
Trainingslab.ipv6, lab.wlanKein Training fuer diese beiden Fertigkeiten: die Simulation fuehrt WLAN und IPv6 nicht paketweise aus (Architektur § 17.1, Abschnitt „Uebungsformen ohne Simulation“; der 2.1-Plan D4 erlaubt namentliche Ausnahmen). Geuebt wird inhaltlich ueber Handticket mit Arbeitsziel, Minis, Wiki, Lehrtext und Hilfe — nicht ueber ein Training.
Klassenraum-Codec58 von 76 HandticketsDer Auftrags-Codec hat 6 Bit (0..63). TABELLE_AUFTRAEGE bleibt deshalb bei 58 eingefrorenen IDs; die neuen 2.1-Handtickets sind nicht klassenraum-adressierbar (Architektur § 17.9). Alte Codes bleiben gueltig, weil die Tabelle ein Literal ist; der Formatwechsel kommt erst 3.1.
QuellenWLAN-InhalteDie Belege der Wiki-Seite lab.wlan nennen IEEE 802.11/802.11i/802.11w und die WPA3-Spezifikation der Wi-Fi Alliance. Das sind inhaltliche Quellen; eine Paket-Simulation oder eine Geraetezertifizierung ist damit nicht behauptet.

Gegenprobe (gemessen in diesem Lauf):

So wird gemessen

python tools/stand.py --zahlen    # die Messung als JSON, schreibt nichts
python tools/stand.py            # docs/STAND.md + Stand-Block in README.md schreiben
python tools/stand.py --pruefen  # Exit 0 oder 1 mit der betroffenen Zeile

Ein Lauf misst: Fassung, Android-Bauzaehlung, Baukennung, den echten Testlauf (kein gespeicherter Wert), die Modulliste des Baus, Dateien und Zeilen unter src/, beide Einzeldateien samt SHA256, den geladenen Datenbestand (Tickets, Minis, Injektoren, Trainings, Wiki, Fertigkeiten), die Doku-Seiten, alle relativen Verweise und (falls vorhanden) die verbindliche R12-Zahl aus Nachweise/3.0/r12.json. Bewusst ohne Datum und Uhrzeit: ein Zeitstempel waere bei jedem Lauf anders, dann koennte der Pruefmodus nie gruen werden. Wann gemessen wurde, steht im Git-Log dieser Datei.

Nach einer Aenderung an den Dokumenten ist die Reihenfolge: python tools/stand.py, dann python tools/seite.py, dann noch einmal python tools/stand.py (die neue Seite zaehlt mit), dann python tools/seite.py.

Abweichungen und ehrliche Grenzen