# 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-001` PHPUnit
- `QG-002` PHPStan
- `QG-003` Architecture Core Contract
- `QG-006` PHP Style Check
- `QG-008` Docs link integrity + Drift-Contract (`docs-link-check` + `docs-drift-check`)
- `QG-009` Codex skills sync

## Phase-1 Setup (noch nicht blockend)

1. Sicherstellen, dass der Gitea-Runner Docker + Docker Compose ausführen darf.
2. Workflow-Datei nach `.gitea/workflows/qa-required.yaml` übernehmen.
3. PR gegen `main` öffnen und prüfen, dass Job `qa-required` gruen laeuft.
4. Branch Protection noch **nicht** auf "required" setzen.

## Phase-2 Aktivierung (blockend)

1. Branch-Protection für `main` aktivieren.
2. Statuscheck `qa-required` als required markieren.
3. Optional: weitere Jobs ergaenzen (z. B. nightly/extended Checks), aber nur `qa-required` blockend 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-required` bzw. `bin/dev qa-extended`.
