rein damit

This commit is contained in:
Björn Runden committed 2026-10-30 10:11:43 +01:00
1 parent 7f6b8ebe07
commit 07dbc01c92
38 files changed
+5632 -5

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
# Anleitung für Prüfer
> Stand: 29.10.2026 · Ziel: jede Frage fachlich prüfen und freigeben oder ablehnen.
## Voraussetzungen
- Python ≥ 3.11 (nur Standardbibliothek), ein aktueller Browser (Firefox, Chromium).
- Editor mit JSON-Schema-Unterstützung (z. B. VSCode/VSCodium) – validiert beim Tippen über `$schema`.
## Ablauf
1. Paket entpacken, `index.html` öffnen und die Fragen im **Lernmodus** durchgehen (Topic-Filter auf der Startseite, Reihenfolge „nach Objective“, Optionen nicht mischen).
2. Fragen im Quelltext `data/<prüfung>/questions_<topic>.json` prüfen – Regeln: [question_rules.md](question_rules.md), Prüfungsrahmen: [exam_format.md](exam_format.md).
3. Ergebnis je Frage als Vermerk eintragen:
```json
"review": { "status": "approved", "by": "<Name oder Rolle>", "date": "2026-11-02" }
"review": { "status": "rejected", "by": "<Name oder Rolle>", "date": "2026-11-02", "note": "Option ‚…‘ ist ebenfalls korrekt" }
```
Korrekturen direkt in der Frage vornehmen und `meta.version` der Datei erhöhen.
4. Prüfen und bauen:
```bash
python3 tools/build_bank.py -c # Regeln, Prüfstatus, Abdeckung je Objective
python3 tools/build_bank.py # js/bank.js neu (verschlüsselt, eigener PSK in tools/.psk)
python3 tools/build_bank.py --approved-only -e # nur Freigegebenes, Export nach dist/
python3 -m http.server 8080 -d dist # Export ausliefern
```
5. Geänderte `questions_*.json` zurückgeben (nicht `js/bank.js`, nicht `tools/.psk`).
## Neue Fragen
Nächste freie Nummer im Objective verwenden (`<objective>-<NNN>`), Format siehe [`../README.md`](../README.md#format-einer-frage). Ohne Build testen: Datei im Simulator über **Import** laden.
## Tests
```bash
chromium --headless --allow-file-access-from-files --virtual-time-budget=5000 --dump-dom tests/selftest.html | grep -o 'RESULT[^<]*'
chromium --headless --allow-file-access-from-files --virtual-time-budget=40000 --dump-dom tests/ui_smoke.html | grep -oE '(FAIL|RESULT)[^<]*'
```