# Release 2026-08-10 — Antwortsprache und erreichbare Sprachregeln

## Was ausgeliefert wurde

| Feld | Wert |
|---|---|
| Commit auf `main` | `c5682ebaa840506d814baffa1cad425579e86e0c` |
| Commit auf `gh-pages` | `31a74f01b6044f774f4abb66b53a4bbbf5352271` |
| Zielumgebung | GitHub Pages, https://deltatree.github.io/BestAiConfig |
| Zeitpunkt | 2026-08-10, 10:12 UTC (Workflow-Start) |
| Ausgelöst von | `deltatree` über `gh workflow run deploy.yml --ref main` |
| Workflow-Lauf | https://github.com/deltatree/BestAiConfig/actions/runs/31378094097 |
| Dauer | 1 Minute 42 Sekunden |
| Pull Request | https://github.com/deltatree/BestAiConfig/pull/1 |

## Abhängigkeiten

Das Projekt hat keine Laufzeitabhängigkeiten. `pyproject.toml` deklariert
`dependencies = []`. Der Compiler nutzt nur die Standardbibliothek.

| Werkzeug | Version | Quelle |
|---|---|---|
| Python | 3.12 | `actions/setup-python@v6`, gepinnt in `.github/workflows/deploy.yml` |
| `actions/checkout` | v7 | gepinnt im Workflow |
| `peaceiris/actions-gh-pages` | v4 | gepinnt im Workflow |

## Konfiguration, die der Build liest

| Schlüssel | Wert | Herkunft |
|---|---|---|
| `RULES_BASE_URL` | nicht gesetzt | fällt auf `GITHUB_REPOSITORY` zurück |
| `GITHUB_REPOSITORY` | `deltatree/BestAiConfig` | GitHub Actions |
| `secrets.GITHUB_TOKEN` | *(redigiert)* | GitHub Actions, automatisch |
| `publish_dir` | `./public` | Workflow-Datei |
| Quellregister | `sources.json` | Repository |
| Zielregister | `targets.json` | Repository |

Das Repository enthält keine eigenen Secrets. Der Workflow nutzt nur den
automatisch erzeugten `GITHUB_TOKEN`.

## Reproduzierbarkeit

Ich habe den Commit zweimal gebaut und die Artefakte verglichen.

```
build 1: f5d352ef838070ca0391d3d8a6e91dc08b8cbcc42a1ac3ffe31bcb18b57e74c4
build 2: f5d352ef838070ca0391d3d8a6e91dc08b8cbcc42a1ac3ffe31bcb18b57e74c4
```

Die Bauläufe sind byteweise identisch. Es gibt keine bekannte Abweichung.

## Datenmigration

Keine. Der Release liefert nur statische Dateien aus. Ein Rückwärtsschritt
braucht keine Gegenmigration.

## Rollback

Der Rollback ersetzt den Inhalt von `gh-pages` durch den vorherigen Stand.
Er dauert etwa 3 Minuten. Du brauchst dafür Schreibrechte auf das Repository
und das Werkzeug `git`.

**Schritt 1 — Hole den aktuellen Stand.**

```
git fetch origin gh-pages
```

Erwartete Ausgabe: keine Fehlermeldung. Der Befehl endet mit Status 0.
Wenn eine Fehlermeldung erscheint, prüfe deine Netzverbindung und deine
Zugangsdaten mit `gh auth status`.

**Schritt 2 — Prüfe den vorherigen Stand.**

```
git log --oneline -3 origin/gh-pages
```

Erwartete Ausgabe: die oberste Zeile lautet
`31a74f0 deploy: c5682eb...`. Die zweite Zeile lautet
`319f04f deploy: 2d15fe2...`. Das ist der Stand vor diesem Release.
Wenn die oberste Zeile anders lautet, hat jemand nach dir ausgeliefert.
Halte an und kläre das zuerst.

**Schritt 3 — Setze `gh-pages` zurück.**

```
git push --force-with-lease origin 319f04f09ee859dc791cb5fac4d66fcab9243a6d:gh-pages
```

Das ist der volle Hash aus Schritt 2. Erwartete Ausgabe:
eine Zeile mit `+ ... forced update`. Wenn `stale info` erscheint, hat
sich `gh-pages` inzwischen geändert. Wiederhole Schritt 1 und 2.

**Schritt 4 — Warte auf das Auslieferungsnetz.**

```
until curl -fsS "https://deltatree.github.io/BestAiConfig/AGENTS.md?cb=$$" \
  | grep -q "The installed language skills bind"; do sleep 10; done
```

Erwartete Ausgabe: der Befehl endet. GitHub Pages liefert dann wieder den
alten Text aus. Das dauert bis zu 2 Minuten. Wenn der Befehl nach 5 Minuten
nicht endet, prüfe unter
https://github.com/deltatree/BestAiConfig/deployments, ob die Auslieferung
läuft.

**Schritt 5 — Nimm den Code auf `main` zurück, falls nötig.**

```
git revert -m 1 c5682ebaa840506d814baffa1cad425579e86e0c
git push origin main
```

Erwartete Ausgabe: ein neuer Commit mit `Revert "Merge pull request #1"`.
Ohne diesen Schritt liefert der nächste nächtliche Lauf den Stand wieder
aus. Wenn der Revert Konflikte meldet, löse sie und führe
`git revert --continue` aus.

## Rollback-Probe

| Datum | Dauer | Ergebnis |
|---|---|---|
| noch nicht durchgeführt | — | — |

Dieser Rollback ist bisher ein Plan, keine bewiesene Prozedur. Führe ihn
einmal gegen die laufende Auslieferung aus, spätestens bis 2026-11-08,
und trage Datum und gemessene Dauer hier ein.
