chore: reset repo to clean template state
Some checks failed
gates / quality (push) Has been cancelled
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:
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
Reference in New Issue
Block a user