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,67 +0,0 @@
# Session-Prompt F-01 — Projekt-Skeleton
```
Modell: Sonnet
Du arbeitest in /Users/tarikmoussa/Desktop/files/agent-swarm-repo auf einem neuen Branch
`feat/skeleton` (von `main`).
## Aufgabe
Lege das Python-Projekt-Skeleton für den Telegram-Bot an:
pyproject.toml, Paketstruktur unter `src/bot/`, leere Test-Dateien unter `tests/`,
.env.example und .gitignore. Kein Feature-Code — nur die Projektstruktur,
sodass `uv run pytest tests/ -v` mit 0 Tests grün durchläuft.
Scope: NUR Datei- und Konfigurationsstruktur. Kein Bot-Code, kein HTTP-Code.
## Details
Entscheidungen: `docs/adr/0002-python-telegram-bot-framework.md`
Konventionen: `CONVENTIONS.md` (Abschnitt "Projekt: tg-bot-jetson")
Gewünschte Verzeichnisstruktur:
```
src/
bot/
__init__.py
config.py # pydantic-settings: BOT_TOKEN, ALLOWED_USER_IDS, MODEL_BASE_URL
handlers.py # vorerst leer (Platzhalter)
whitelist.py # vorerst leer (Platzhalter)
connector.py # vorerst leer (Platzhalter)
main.py # Einstiegspunkt (vorerst nur "pass")
tests/
__init__.py
test_config.py # vorerst leer
pyproject.toml # [project] name="tg-bot-jetson", requires-python=">=3.11"
# deps: python-telegram-bot>=21, httpx, pydantic-settings
# [dev-deps]: pytest, ruff
.env.example # BOT_TOKEN=<dein-bot-token>, ALLOWED_USER_IDS=123456,789012
# MODEL_BASE_URL=http://192.168.x.x:11434
.gitignore # .env, __pycache__, .venv, uv.lock nicht (committen!)
uv.lock # nach `uv sync` erzeugt und committen
```
## Akzeptanzkriterien
- [ ] `uv sync` läuft ohne Fehler.
- [ ] `uv run pytest tests/ -v` läuft durch (0 Tests, kein Fehler).
- [ ] `uv run ruff check src/ tests/` → 0 Befunde.
- [ ] `src/bot/config.py` enthält eine Pydantic-Settings-Klasse mit BOT_TOKEN,
ALLOWED_USER_IDS (list[int]), MODEL_BASE_URL.
- [ ] `.env.example` vorhanden und aussagekräftig.
- [ ] `.env` ist in `.gitignore`.
## Nicht anfassen
Alles außer den oben genannten Pfaden. Kein Telegram-Handler-Code,
kein HTTP-Client-Code, keine Whitelist-Logik.
## Commit & Push
- Conventional Commit: `chore: scaffold tg-bot-jetson project skeleton`
- Trailer: `Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>`
- Push nach `origin feat/skeleton`, PR öffnen (Base: `main`).
## Abschluss
1. Manifest-Eintrag updaten: `manifests/requirements.md` → R-0001, Status `done`.
2. `STATE.md` aktualisieren: F-01 → In Progress → nach Merge: Next F-03 + F-04 frei.
3. Session-Log schreiben: `sessions/TEMPLATE.md` → `sessions/F-01-<datum>.md`.
4. Hygiene-Gate: `bash scripts/gate-session-hygiene.sh`.
5. PR-URL + Test-Zählstand reporten.
```

View File

@@ -1,30 +0,0 @@
# 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>`
```

View File

@@ -1,27 +0,0 @@
# 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>`
```

View File

@@ -1,25 +0,0 @@
# 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>`
```

View File

@@ -1,35 +0,0 @@
# Session-Prompt F-06 — Integration & Smoke-Test
```
Modell: Sonnet
Du arbeitest in /Users/tarikmoussa/Desktop/files/tg-bot-jetson auf einem neuen Branch
`feat/integration` (von `main`).
## Aufgabe
Erstelle `tests/test_integration.py` mit ≥ 3 E2E-Tests, die Whitelist + Handler +
Connector gemeinsam verdrahtet prüfen. Behebe dabei den Entry-Point-Bug:
`src/main.py` liegt ausserhalb des `bot`-Pakets, obwohl pyproject.toml `bot.main:main`
deklariert — die Datei muss nach `src/bot/main.py` verschoben werden.
## Akzeptanzkriterien
- [ ] `src/bot/main.py` existiert (verschoben von `src/main.py`).
- [ ] `tests/test_integration.py` enthält ≥ 3 Tests (E2E: Handler→Connector, Whitelist-Wire, App-Build).
- [ ] `uv run pytest tests/ -v` → alle Tests grün, kein Regression.
- [ ] `uv run ruff check src/ tests/` → keine Fehler.
## Nicht anfassen
`whitelist.py`, `handlers.py`, `connector.py`, `config.py`.
Keine bestehenden Tests verändern.
## Commit & Push
- `feat: F-06 integration smoke-test + fix bot.main entry point`
- Trailer: `Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>`
- Push nach `origin`, PR öffnen (Base: `main`).
## Abschluss
1. `STATE.md` (agent-swarm-repo) aktualisieren.
2. `ROADMAP.md` F-06 auf ✅, F-07 auf 🔲 setzen.
3. Session-Log schreiben.
4. Hygiene-Gate: `bash scripts/gate-session-hygiene.sh`.
```

View File

@@ -1,25 +0,0 @@
# Session-Prompt F-07 — Deployment-Config
```
Modell: Haiku
Du arbeitest in /Users/tarikmoussa/Desktop/files/tg-bot-jetson auf einem neuen Branch
`feat/deployment` (von `main`).
## Aufgabe
Erstelle die Deployment-Konfiguration: systemd-Unit-Datei (primaer fuer Jetson/Ubuntu)
und Dockerfile (alternativer Docker-Pfad). Dokumentiere beide Wege in DEPLOY.md.
## Akzeptanzkriterien
- [ ] `tg-bot-jetson.service` — systemd-Unit mit korrekten Abhaengigkeiten und Hardening.
- [ ] `Dockerfile` — minimales Image, keine Dev-Deps, frozen lockfile.
- [ ] `DEPLOY.md` — vollstaendige Installationsschritte fuer beide Pfade.
- [ ] `uv run pytest tests/ -v` → kein Regression.
## Nicht anfassen
`src/`, `tests/`, `pyproject.toml`, `.env.example`.
## Commit & Push
- `feat: F-07 deployment config — systemd unit, Dockerfile, DEPLOY.md`
- Trailer: `Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>`
```