docs: F-03/04/05 done — board aktualisiert, alle requirements done
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>
This commit is contained in:
30
session-prompts/F-03-whitelist.md
Normal file
30
session-prompts/F-03-whitelist.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# Session-Prompt F-03 — Whitelist-Middleware
|
||||
|
||||
```
|
||||
Modell: Sonnet
|
||||
|
||||
Du arbeitest in /Users/tarikmoussa/Desktop/files/tg-bot-jetson auf einem neuen Branch
|
||||
`feat/whitelist` (von `main`).
|
||||
|
||||
## Aufgabe
|
||||
Implementiere die User-ID-Whitelist in `src/bot/whitelist.py`.
|
||||
Nur whitelistete Telegram-User-IDs dürfen den Bot nutzen.
|
||||
Nutze PTB v21's eingebauten `filters.User` — kein eigenes Filter-Framework.
|
||||
|
||||
## Details
|
||||
ADR: `docs/adr/0003-whitelist-env-var.md` (agent-swarm-repo)
|
||||
Config: `src/bot/config.py` → `get_settings().allowed_user_ids: list[int]`
|
||||
|
||||
## Akzeptanzkriterien
|
||||
- [ ] `whitelist.py` exportiert `get_whitelist_filter() -> filters.BaseFilter`.
|
||||
- [ ] Filter enthält alle IDs aus `get_settings().allowed_user_ids`.
|
||||
- [ ] `uv run pytest tests/test_whitelist.py -v` → grün (≥ 2 Tests).
|
||||
- [ ] `uv run ruff check src/ tests/` → 0 Befunde.
|
||||
|
||||
## Nicht anfassen
|
||||
`handlers.py`, `connector.py`, `main.py`, `config.py`.
|
||||
|
||||
## Commit & Push
|
||||
- `feat: add user-id whitelist filter (F-03)`
|
||||
- Trailer: `Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>`
|
||||
```
|
||||
27
session-prompts/F-04-bot-handler.md
Normal file
27
session-prompts/F-04-bot-handler.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Session-Prompt F-04 — Telegram Bot Handler
|
||||
|
||||
```
|
||||
Modell: Sonnet
|
||||
|
||||
Du arbeitest in /Users/tarikmoussa/Desktop/files/tg-bot-jetson auf einem neuen Branch
|
||||
`feat/bot-handler` (von `main`).
|
||||
|
||||
## Aufgabe
|
||||
Implementiere `src/bot/handlers.py` (cmd_start, cmd_help, handle_message) und
|
||||
`src/main.py` (Application-Setup, Handler-Registrierung, run_polling).
|
||||
Referenz: python-telegram-bot v21 Doku (golden oracle).
|
||||
|
||||
## Akzeptanzkriterien
|
||||
- [ ] `/start` antwortet mit Begrüßungstext.
|
||||
- [ ] `/help` antwortet mit Befehlsübersicht.
|
||||
- [ ] `handle_message` ruft `ask_model(text)` auf und sendet die Antwort.
|
||||
- [ ] `main.py` registriert alle Handler mit dem Whitelist-Filter.
|
||||
- [ ] `uv run pytest tests/test_handlers.py -v` → grün (≥ 3 Tests).
|
||||
|
||||
## Nicht anfassen
|
||||
`whitelist.py`, `connector.py`, `config.py`.
|
||||
|
||||
## Commit & Push
|
||||
- `feat: add telegram handlers and application entrypoint (F-04)`
|
||||
- Trailer: `Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>`
|
||||
```
|
||||
25
session-prompts/F-05-connector.md
Normal file
25
session-prompts/F-05-connector.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Session-Prompt F-05 — Modell-HTTP-Connector
|
||||
|
||||
```
|
||||
Modell: Sonnet
|
||||
|
||||
Du arbeitest in /Users/tarikmoussa/Desktop/files/tg-bot-jetson auf einem neuen Branch
|
||||
`feat/model-connector` (von `main`).
|
||||
|
||||
## Aufgabe
|
||||
Implementiere `src/bot/connector.py`: async httpx-Client der POST /v1/chat/completions
|
||||
an MODEL_BASE_URL sendet (OpenAI-kompatible API). Referenz: OpenAI API Spec.
|
||||
|
||||
## Akzeptanzkriterien
|
||||
- [ ] `ask_model(user_message: str) -> str` — async, gibt den Assistant-Text zurück.
|
||||
- [ ] Nutzt `get_settings().model_base_url` und `model_name`.
|
||||
- [ ] Timeout 60 s. Fehler werden als Exception weitergegeben (kein Swallow).
|
||||
- [ ] `uv run pytest tests/test_connector.py -v` → grün (≥ 2 Tests, httpx gemockt).
|
||||
|
||||
## Nicht anfassen
|
||||
`whitelist.py`, `handlers.py`, `main.py`, `config.py`.
|
||||
|
||||
## Commit & Push
|
||||
- `feat: add async model HTTP connector (F-05)`
|
||||
- Trailer: `Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>`
|
||||
```
|
||||
Reference in New Issue
Block a user