11 Tests grün. F-06 (Integration) ist jetzt Ready-Set. Session-Prompts für F-03/04/05 archiviert. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
39 lines
1.6 KiB
Markdown
39 lines
1.6 KiB
Markdown
# 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.
|