chore: reset repo to clean template state
Some checks failed
gates / quality (push) Has been cancelled

Remove all tg-bot-jetson project artefacts (session logs, filled
session-prompts F-01–F-07, ADRs 0002–0004). Reset ROADMAP.md board,
STATE.md, CONVENTIONS.md project section, manifests/requirements.md,
and metrics/efficiency.csv to blank template placeholders.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-04 09:51:50 +02:00
parent 07ea8e82c3
commit 61ce330fdf
20 changed files with 12 additions and 526 deletions

View File

@@ -1,42 +0,0 @@
# Session S-BOOTSTRAP — 2026-06-03
- **Rolle:** leader
- **Modell:** Sonnet 4.6
- **Ziel:** Bootstrap: Projekt-Brief → ROADMAP-Board + ADRs + STATE + Session-Prompts
## Geändert (Dateien)
- `ROADMAP.md` — Board mit 7 Items (F-01…F-07), DAG, Ready-Set
- `STATE.md` — Header aktiviert (S-BOOTSTRAP / 2026-06-03), Now/Next/Blocked befüllt
- `CONVENTIONS.md` — projektspezifischer Abschnitt "tg-bot-jetson" ergänzt
- `docs/adr/0002-python-telegram-bot-framework.md` — neu
- `docs/adr/0003-whitelist-env-var.md` — neu
- `docs/adr/0004-modell-api-spike-first.md` — neu
- `session-prompts/F-01-skeleton.md` — kaltstartfähiger Prompt (Worker · Sonnet)
- `session-prompts/F-02-api-spike.md` — kaltstartfähiger Prompt (Theorist · Opus → Spike)
- `sessions/2026-06-03-bootstrap.md` — dieses Log
## Entscheidungen
- python-telegram-bot v21 + httpx als Stack (ADR-0002)
- Whitelist via Env-Var `ALLOWED_USER_IDS` (ADR-0003)
- Spike vor Connector: API-Format unbekannt (ADR-0004)
- F-01 und F-02 können **parallel** dispatcht werden (keine gegenseitige Abhängigkeit)
## Tests
- kein Feature-Code in dieser Session
## Token-Verbrauch
- input: — · output: — · total: — · tokens/Task: —
- Auffälligkeiten: —
## Gates
- Hygiene: PENDING · Kontext: PASS · Token: —
- Review-Gate: nicht nötig (nur Planung, kein Feature-Code)
## Handoff / Next
- Dispatche F-01 (`session-prompts/F-01-skeleton.md`) und F-02 (`session-prompts/F-02-api-spike.md`) **parallel**.
- Sobald F-01 ✅: F-03 (Whitelist) und F-04 (Bot-Handler) werden frei → Prompts erstellen.
- Sobald F-02 ✅ + GO: F-05 (Connector) wird frei → Prompt erstellen, dabei `spike/model-api/result.md` als Spec einbinden.
- Review-Gate nötig? Nein (Bootstrap-Session, kein Code)
## Clean-Start-Check
- [x] Orientierung allein aus AGENTS/STATE/CONVENTIONS möglich.

View File

@@ -1,38 +0,0 @@
# Session F-01 — 2026-06-03
- **Rolle:** worker
- **Modell:** Sonnet 4.6
- **Ziel:** Projekt-Skeleton für tg-bot-jetson anlegen
## Geändert (Dateien — Repo: tg-bot-jetson)
- `pyproject.toml` — deps: python-telegram-bot v21, httpx, pydantic-settings; dev: pytest, ruff
- `src/bot/config.py` — Settings-Klasse mit lru_cache-Factory
- `src/bot/{whitelist,handlers,connector}.py` — Platzhalter
- `src/main.py` — Platzhalter
- `tests/test_config.py` — 3 Tests
- `.env.example`, `.gitignore`
## Entscheidungen
- pydantic-settings v2 parst `list[int]` via JSON-Array-Format (`[111,222]`),
nicht Comma-Separated. `.env.example` und Tests entsprechend angepasst.
- `settings` wird nicht auf Modulebene instantiiert — stattdessen `get_settings()`
mit `@lru_cache`, damit Tests und Prod unabhängig bleiben.
## Tests
- `uv run pytest tests/ -v` → 3 passed
- `uv run ruff check src/ tests/` → 0 Befunde
## Token-Verbrauch
- input: — · output: — · total: — · tokens/Task: —
## Gates
- Hygiene: PASS · Kontext: PASS · Token: —
- Review-Gate: nötig (Skeleton-Code — Worker-Session)
## Handoff / Next
- F-03 (Whitelist), F-04 (Bot-Handler), F-05 (Connector) sind jetzt alle frei.
- Leader erstellt die drei Prompts und dispatcht sie parallel.
- Review-Gate nötig? Ja — Opus-Session auf Commit `82eb6a6`.
## Clean-Start-Check
- [x] Orientierung allein aus AGENTS/STATE/CONVENTIONS möglich.

View File

@@ -1,38 +0,0 @@
# Session F-03/04/05 — 2026-06-03
- **Rolle:** worker
- **Modell:** Sonnet 4.6
- **Ziel:** Whitelist, Bot-Handler, Model-Connector implementieren
## Geändert (Dateien — Repo: tg-bot-jetson)
- `src/bot/whitelist.py``get_whitelist_filter()` via `filters.User(user_id=...)`
- `src/bot/connector.py``ask_model()` async httpx POST /v1/chat/completions
- `src/bot/handlers.py``cmd_start`, `cmd_help`, `handle_message`
- `src/main.py` — ApplicationBuilder + Handler-Registrierung mit Whitelist-Filter
- `pyproject.toml``pythonpath = ["src"]` für pytest
- `tests/test_whitelist.py`, `tests/test_connector.py`, `tests/test_handlers.py`
## Entscheidungen
- PTB v22 installiert (nicht v21 wie in pyproject.toml spezifiziert, da >= 21).
`filters.User(user_id=...)` — Konstruktor-Parameter ist singular `user_id`,
das Attribut nach Konstruktion heißt `user_ids` (frozenset).
- `pythonpath = ["src"]` in pytest nötig für src-Layout ohne editable-Install.
- pydantic-settings v2: `list[int]`-Env-Var muss JSON-Array-Format `[1,2,3]` haben.
## Tests
- `uv run pytest tests/ -v`**11 passed**
- `uv run ruff check src/ tests/` → 0 Befunde
## Token-Verbrauch
- input: — · output: — · total: — · tokens/Task: —
## Gates
- Hygiene: PASS · Kontext: PASS · Token: —
- Review-Gate: nötig (Opus-Session auf Commit `de34c34`)
## Handoff / Next
- F-06 (Integration & Smoke-Test) ist jetzt frei — alle Prereqs ✅.
- Review-Gate nötig? Ja — Opus-Session auf `de34c34`.
## Clean-Start-Check
- [x] Orientierung allein aus AGENTS/STATE/CONVENTIONS möglich.

View File

@@ -1,36 +0,0 @@
# Session F-06 — 2026-06-03
- **Rolle:** worker
- **Modell:** Sonnet 4.6
- **Ziel:** Integration & Smoke-Test implementieren; Entry-Point-Bug beheben.
## Geändert (Dateien)
- `tg-bot-jetson/src/bot/main.py` — verschoben von `src/main.py` (Entry-Point-Fix)
- `tg-bot-jetson/tests/test_integration.py` — neu, 3 E2E-Tests
- `agent-swarm-repo/session-prompts/F-06-integration.md` — neu
- `agent-swarm-repo/ROADMAP.md` — F-06 auf ✅, F-07 auf 🔲
- `agent-swarm-repo/STATE.md` — aktualisiert
## Entscheidungen
- `src/main.py``src/bot/main.py`: pyproject.toml deklarierte `bot.main:main`,
aber das Modul lag ausserhalb des `bot`-Pakets — installierter CLI-Einstieg wäre kaputt gewesen.
- Integrationstests mocken `httpx.AsyncClient` (tiefer als die Unit-Tests), damit
die volle Kette Handler→Connector→HTTP in einem Lauf validiert wird.
## Tests
- `uv run pytest tests/ -v` → 14 passed, 0 failed
- `uv run ruff check src/ tests/` → All checks passed
## Token-Verbrauch
- nicht gemessen (automatisierte Session)
## Gates
- Hygiene: PASS · Kontext: PASS · Token: n/a
- Review-Gate: ausstehend (Opus, Branch feat/integration)
## Handoff / Next
- Review-Gate F-06 durchführen (Opus, kalt, diff feat/integration vs main).
- Nach Approve + Merge: F-07 dispatchen (Worker · Haiku, Deployment-Config).
## Clean-Start-Check
- [x] Orientierung allein aus AGENTS/STATE/CONVENTIONS möglich.

View File

@@ -1,30 +0,0 @@
# Session F-07 — 2026-06-03
- **Rolle:** worker
- **Modell:** Sonnet 4.6
- **Ziel:** Deployment-Config erstellen (systemd-Unit, Dockerfile, DEPLOY.md).
## Geändert (Dateien)
- `tg-bot-jetson/tg-bot-jetson.service` — neu, systemd-Unit mit Hardening
- `tg-bot-jetson/Dockerfile` — neu, minimales python:3.11-slim Image
- `tg-bot-jetson/DEPLOY.md` — neu, Installationsschritte fuer beide Pfade
## Entscheidungen
- systemd als primaerer Pfad: Jetson laeuft auf Ubuntu/Linux, kein Container-Overhead noetig.
- `python:3.11-slim` fuer Docker: Bot benoetigt keine GPU, daher kein Jetson-spezifisches Base-Image.
- `uv sync --no-dev --frozen` im Dockerfile: Reproduzierbarkeit durch Lockfile sichergestellt.
- `NoNewPrivileges + PrivateTmp` im systemd-Unit: minimales Hardening ohne Mehraufwand.
## Tests
- `uv run pytest tests/ -v` → 14 passed (keine Regression)
## Gates
- Hygiene: PASS
- Review-Gate: APPROVE (inline)
## Handoff / Next
- Alle Features F-01 bis F-07 sind done. Das Projekt ist deployment-ready.
- Naechster Schritt: echtes Deployment auf Jetson-Hardware oder weiterer Feature-Ausbau.
## Clean-Start-Check
- [x] Orientierung allein aus AGENTS/STATE/CONVENTIONS moeglich.

View File

@@ -1,36 +0,0 @@
# Session Retro — 2026-06-03
- **Rolle:** leader (Retro + Template-Verbesserung)
- **Modell:** Sonnet 4.6 + Opus 4.x (Review-Gate)
- **Ziel:** Abschluss-Review (Opus, kalt) + Template-Verbesserungen aus Chat-Retro.
## Geändert (Dateien)
- `agent-swarm-repo/session-prompts/TEMPLATE.md` — 7 Verbesserungen (siehe unten)
- `agent-swarm-repo/ROADMAP.md` — Leader-Dispatch-Invariante ergaenzt
## Entscheidungen (Template-Verbesserungen)
| # | Problem (beobachtet in Session) | Fix |
|---|---|---|
| 1 | Keine Pflichtlektüre im Prompt (AGENTS/CONVENTIONS/STATE) | Pflichtlektüre-Block hinzugefügt |
| 2 | Rollen-Aktivierungssatz fehlte | `Rolle:` + Link zur Rollendatei als Pflichtfeld |
| 3 | Scope-Eskalationspfad undefiniert | Out-of-Scope-Findings-Regel eingefügt |
| 4 | Worker konnte selbst mergen (kein Hinweis) | "NICHT selbst mergen" explizit im Template |
| 5 | "Tests zuerst" war implizit | "Tests ZUERST grün, dann committen" |
| 6 | Kein Swarm-Kontext bei automatisiertem Dispatch | Optionale Swarm-Kontext-Sektion |
| 7 | Session-Prompt wurde in gleicher Session erstellt | ROADMAP-Invariante: Prompt existiert VOR Dispatch |
## Opus-Review Ergebnis
- **APPROVE** — alle 14 Tests gruen, Entry-Point verifiziert, Deployment-ready.
- Nice-to-haves (non-blocking): systemd-Hardening ausbaubar, kein `PYTHONUNBUFFERED=1` im Dockerfile.
## Gates
- Hygiene: PASS
- Review-Gate: APPROVE (Opus, kalt)
## Handoff / Next
- Projekt vollstaendig. Naechster Schritt: echtes Deployment auf Jetson-Hardware.
- Templates verbessert und committet.
## Clean-Start-Check
- [x] Orientierung allein aus AGENTS/STATE/CONVENTIONS moeglich.