Some checks failed
gates / quality (push) Has been cancelled
Leader-Bootstrap (Planung) aus Template + Jetson-Meta-Prompt:
- ROADMAP-Board W1-W6 als Abhaengigkeits-DAG (Ready-Set = {W1})
- STATE mit disjunkter Datei-Ownership W2-W6
- CONVENTIONS Projekt-Vertrag (Profile, Pfade, Ports, Daemon-Env, num_ctx, DVC, Scope)
- manifests/requirements.md = kalt verifizierbares Review-Manifest (R-01..R-10)
- REVIEW.md Kalt-Review-Einstieg; ADR 0002 (Ollama-nativ, kein Swapper/Gateway)
- session-prompts/W1..W6 dispatch-fertig; .gitignore um Jetson-Ignores erweitert
- examples/walkthrough entfernt (Projekt hat eigenes gefuelltes Board)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Session-Prompt — W5 Client & Tests (parallel, nach W1)
Modell: Sonnet
Du bist WORKER für Paket W5 in /pfad/zu/jetson-ai-ollama, Branch `feat/w5-client-tests`
(von `main`, nach W1-Merge). Lies AGENTS.md → STATE.md → CONVENTIONS.md.
## Aufgabe
Einen schlanken OpenAI-kompatiblen Client + CLI, und die Tests, die die
Erfolgskriterien KODIEREN (damit der Review sie ausführen statt glauben muss).
## Deliverables (Ownership: `client/`, `tests/`, `requirements/client.txt`, `requirements/dev.txt`)
- `client/python/jetson_ai/client.py` — dünner Wrapper um `/v1/chat/completions`
(Profil per Modellname `qwen-light`/`gemma`/`qwen-heavy`), Type Hints + Docstrings.
- `client/cli/ai.py` — CLI: `ai -m qwen-light "..."`.
- `tests/test_modelfiles.py` — prüft alle drei Modelfiles: `num_ctx` explizit,
korrekte FROM-Pfade, Profilnamen (R-02/R-04-Oracle).
- `tests/test_endpoints.py` — Smoke gegen Ollama `:11434` + Exporter `:8000/metrics`
(gegen laufende Dienste oder gemockt). (R-06/R-10)
- `requirements/client.txt`, `requirements/dev.txt`.
## Akzeptanzkriterien
- [ ] `pytest tests/ -q` grün (R-09, R-10).
- [ ] `tests/test_modelfiles.py` schlägt fehl, wenn ein `num_ctx` fehlt (negativer Fall).
- [ ] Client spricht die OpenAI-Route, NICHT Ollamas natives `/api/generate`.
## Nicht anfassen
`ollama/`, `exporter/`, `scripts/`, `.github/`, `docs/`. Nur deine Pfade. Form der
Modelfiles/Endpoints kommt aus CONVENTIONS — bei Unklarheit dort nachsehen, nicht raten.
## Abschluss
1. `manifests/requirements.md`: R-09, R-10 → `done`.
2. `STATE.md` + Session-Log.
3. Commit `feat(w5): openai client, cli, tests` + Trailer
`Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>`.
4. `bash scripts/gate-session-hygiene.sh && bash scripts/gate-ownership.sh`.
5. PR (Base `main`). Dann Review-Gate (Opus).