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>
40 lines
1.8 KiB
Markdown
40 lines
1.8 KiB
Markdown
# 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).
|
|
```
|