Der ganze Weg, über 48 Stunden
Szene 12 von 13
Von der Entstehung des Prüfer-Zugangs am Montagmorgen bis zur Einreichung am Mittwochvormittag liegen über 30 dokumentierte Commits — jeder einzeln lesbar, keiner rekonstruiert.
Erklärung
Schaut euch die Tafel als Ganzes an: keine einzelne Handlung war kompliziert. Was den Unterschied macht, ist die Kette aus Feststellung, Koordination, Ausführungsbeweis, unabhängiger Prüfung, forensischem Beleg, geschütztem Geheimnis und einer geprüften letzten Reparatur — und dass jeder dieser Schritte eine eigene, auffindbare Spur hinterlassen hat. Zwei gefundene und geschwärzte Geheimnis-Lecks, ein dreifach reproduzierter Absturz, zwei unabhängige Prüfzyklen über zwei beziehungsweise drei Runden und der eigentliche Ablehnungstag eingeschlossen. Nichts hiervon behauptet, dass Apples Prüfung zum Zeitpunkt eures Betrachtens noch offen ist; das Datum ist historisch. Öffnet den Befehl unten in eurem Repository-Checkout und lasst euch die Kette selbst anzeigen.
Eine Kette, keine Einzelhelden
- Feststellung
- Erst den Ist-Zustand lesen, bevor irgendetwas verändert wird.
- Ausführungsbeweis
- Eine Quittung belegt eine Handlung, kein Ergebnis.
- Unabhängige Prüfung
- Eine zweite Instanz bestätigt oder lehnt ab.
- Eigentümerfreigabe
- Die letzte Handlung braucht ausdrückliche Autorisierung.
git log --oneline --since="2026-09-21 06:00" --until="2026-09-23 11:00" \
-- docs/lernbegleiter/engineering ios/Lernvisite
Selbst ausprobieren
Jede Person wählt zwei der zwölf Szenen und erklärt der anderen: Welcher Beleg trägt die Aussage der Szene, und was würde fehlen, wenn genau dieser eine Commit nicht existierte?
Belege
Architekturentscheidung · ursprüngliche Fassung · später umbenannt · feat(leana): App Review reviewer fixed-code login
2026-09-21 · docs/lernbegleiter/engineering/adr-reviewer-login-2026-09-21.md · 6862cadc7dbdbd0171b9b92bd90323edcd120e3b
## Decision A **reviewer fixed-code login**, active only when configured: - `STUDY_REVIEWER_LOGIN_EMAIL` — exactly one allow-listed address (production env only). - `STUDY_REVIEWER_LOGIN_CODE_HASH` — SHA-256 hex of a fixed 6-digit code (never stored in plaintext). - `STUDY_REVIEWER_LOGIN_EXPIRES` — ISO-8601 expiry date after which the mechanism is inert. When the OTP verify route sees a challenge owned by the allow-listed address, it verifies the fixed code (constant-time) instead of the delivered OTP, then issues an ordinary session through the existing journal. Every use is rate-limited and audited (`auth.reviewer.attempt`). The code is inert when the env is unset or expired, and refuses any account whose role is above `student`. The account itself is operator-provisioned (see the seeding runbook): created as a `student`, assigned the Pécs pack, given an approved `pecs_verifications` row with a synthetic proof, and seeded with progress so Karten/a session/a timed practice test have content.
Reparatur und finale Einreichung · historisch · docs(ios): SUBMITTED — 1.0 (10) resubmitted to App Review (Waiting for Review); reply sent, screenshots fixed, manual release preserved
2026-09-23 · docs/lernbegleiter/engineering/app-review-reconciled-handoff-2026-09-23_08-34-54.md · 576b0860987ddcb6474a43e612a4eae77a0cc118
| Blocker found on "Update Review": 4 zh-Hans iPhone screenshots stuck in UPLOAD_COMPLETE | **FIXED** — deleted + re-uploaded via API, all 10 COMPLETE, order restored | API asset states | | "Update Review" (push edited version into submission `9396181b`) | **DONE** — item became "Ready for Review" (1.0 (10)) | submission page | | "Resubmit to App Review" | **PRESSED 10:21** (owner-approved) — submission and item now **Waiting for Review** | submission page + API |
Mit meinem Konto im Hörsaal öffnen →