ROADMAP mit 7 Items (F-01…F-07) und DAG. STATE aktiviert. CONVENTIONS projektspezifisch ergänzt. ADRs 0002-0004 (Stack, Whitelist, Spike-Gate). Kaltstartfähige Prompts für F-01 (Skeleton) und F-02 (API-Spike) erzeugt. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
52 lines
2.6 KiB
Markdown
52 lines
2.6 KiB
Markdown
# CONVENTIONS.md — gemeinsamer Vertrag
|
|
|
|
Verbindlich für **alle** Aktoren. Änderungen nur per ADR.
|
|
|
|
## Ownership
|
|
- **Kein Paket editiert Dateien eines anderen.** Integration & Konfliktlösung
|
|
ausschließlich durch den Leader.
|
|
- Jede Datei hat genau ein zuständiges Worker-Paket (siehe `STATE.md`).
|
|
|
|
## Git & Commits
|
|
- Branch je Paket: `feat/<paket>`, `audit/<scope>`, `fix/<scope>`.
|
|
- **Conventional Commits:** `feat:`, `fix:`, `docs:`, `test:`, `refactor:`,
|
|
`chore:`. Der Git-Log ist Teil der Dokumentation.
|
|
- **Model-Attribution:** jeder Commit eines Agenten enthält einen Trailer:
|
|
`Co-Authored-By: Claude <Tier> <noreply@anthropic.com>`
|
|
Tier = Capability-Bezeichnung des eingesetzten Modells, z. B. „Sonnet 4.6"
|
|
für mittlere Kapazität oder „Opus 4.8" für maximale — nicht der interne
|
|
Modell-Name. Gilt für das zum Commit-Zeitpunkt eingesetzte Modell.
|
|
Ermöglicht nachträgliche Rückverfolgung welche Kapazitätsstufe was entschieden hat.
|
|
|
|
## Review-Gate
|
|
- **Jede Implement-Session wird von einer separaten high-capacity-Session reviewed**
|
|
(aktuell: Opus-Tier). Der Review läuft kalt (eigene Session, kein Vorkontext),
|
|
prüft den Diff, und gibt APPROVE oder CHANGES-REQUESTED zurück.
|
|
- Implement-Kapazitätsstufe ≠ Review-Kapazitätsstufe: ein Modell, das sich selbst
|
|
reviewed, findet systematisch weniger als ein unabhängiger Pass auf höchster Stufe.
|
|
- Konkrete Tier-Zuordnungen: `docs/roles/model-routing.md`.
|
|
- Review-Gate-Checkliste: `docs/roles/reviewer.md`.
|
|
|
|
## Dokumentation
|
|
- **Single Source of Truth** je Information — keine Duplikate über Docs hinweg.
|
|
- Doku ist knapp: ein Dokument, das man nicht mehr liest, driftet. Größenbudget
|
|
pro Doc beachten (Faustregel < 200 Zeilen).
|
|
- Jede Code-Änderung passt das passende Doc + Manifest **in derselben Session** an.
|
|
|
|
## Definition of Done
|
|
1. Manifest-Eintrag (`manifests/requirements.md`) mit Test + Status `done`.
|
|
2. Tests grün. 3. Docs aktuell. 4. `STATE.md` aktualisiert.
|
|
5. Session-Log geschrieben. 6. Quality-Gate `PASS`.
|
|
|
|
## Projekt: tg-bot-jetson (projektspezifisch — Änderungen per ADR)
|
|
|
|
- **Sprache / Runtime:** Python 3.11+
|
|
- **Paketmanagement:** `uv` + `pyproject.toml`; Lock-Datei `uv.lock` committen.
|
|
- **Bot-Framework:** `python-telegram-bot` v21 (asyncio) — ADR-0002.
|
|
- **HTTP-Client:** `httpx` (async) für Modell-Connector.
|
|
- **Test-Befehl:** `uv run pytest tests/ -v`
|
|
- **Lint:** `uv run ruff check src/ tests/`
|
|
- **Config-Konvention:** Alle Secrets/Einstellungen via Umgebungsvariablen;
|
|
`.env.example` committen, `.env` in `.gitignore` — ADR-0003.
|
|
- **Spike-Branch:** `spike/<thema>` (z. B. `spike/model-api`), wird nach GO/NO-GO verworfen.
|