Most German docs were written with `ue`/`ae`/`oe`/`ss` ASCII fallbacks (`fuer`, `aenderung`, `koennen`, `gemaess`) — relic from older toolchain constraints. Replaced 237 occurrences across 38 .md files with proper umlauts and ß so the docs read naturally. Substitutions are constrained to plain prose: fenced code blocks (```...```), inline code spans (`...`), markdown link targets `[..](..)`, and HTML comments are preserved verbatim. Path references like `docs/howto-erste-aenderung.md` keep their original (umlaut-replaced) filenames — only the surrounding prose is normalised. Tool: bin/fix-md-umlauts.py (idempotent — no-op on already-clean files). Re-runnable if ASCII fallbacks creep back in via copy-paste. Doc-link-check + doc-drift-check stay green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.4 KiB
1.4 KiB
Gitea Required Checks (Phase 1: enforcement-ready)
Letzte Aktualisierung: 2026-04-01
Ziel
QA-Pflichtchecks für CoreCore in Gitea vorbereiten, ohne sie sofort als Merge-Blocker zu aktivieren.
Enthaltene Basis
- Beispiel-Workflow:
/.gitea/workflows/qa-required.yaml - Pflicht-Gate-Einstieg:
/bin/qa-required.sh - Policy-Quelle:
/.agents/checks/enforcement-policy.json
Was qa-required abdeckt
bin/qa-required.sh führt die aktuell blockenden Gates aus:
QG-001PHPUnitQG-002PHPStanQG-003Architecture Core ContractQG-006PHP Style CheckQG-008Docs link integrity + Drift-Contract (docs-link-check+docs-drift-check)QG-009Codex skills sync
Phase-1 Setup (noch nicht blockend)
- Sicherstellen, dass der Gitea-Runner Docker + Docker Compose ausführen darf.
- Workflow-Datei nach
.gitea/workflows/qa-required.yamlübernehmen. - PR gegen
mainöffnen und prüfen, dass Jobqa-requiredgruen laeuft. - Branch Protection noch nicht auf "required" setzen.
Phase-2 Aktivierung (blockend)
- Branch-Protection für
mainaktivieren. - Statuscheck
qa-requiredals required markieren. - Optional: weitere Jobs ergaenzen (z. B. nightly/extended Checks), aber nur
qa-requiredblockend setzen.
Hinweise
QG-005(Browser-Smoke) bleibt manuell/non-blocking.QG-007(composer-unused) bleibt periodisch/non-blocking.- Fuer lokale Ausführung:
bin/dev qa-requiredbzw.bin/dev qa-extended.