Files
jetson-ai-ollama/ROADMAP.md
Tarik Moussa accd61625c docs(reconciliation): sync planning repo to ansible-eulernest reality
Plan ↔ reality abgleich nach tatsächlicher Implementierung in ansible-eulernest:

- CONVENTIONS.md: 4 Profile (+ coder), Registry-Pull statt GGUF/DVC,
  SoT-Pointer auf ansible-eulernest, JP7.2 Source-Build-Note
- STATE.md: W2–W4 done (via ansible-eulernest), W1/W5/W6 dropped,
  N1–N3 (GPU-metric, benchmarks, smoke-tests) als nächste Schritte
- ROADMAP.md: Abgeschlossene Items referenzieren ansible-eulernest-Rollen;
  neue Items N1–N3 für verbleibende Arbeit
- manifests/requirements.md: R-03–R-06 done, R-02/R-07/R-08 drift
- docs/adr/0003: Registry-Pull > GGUF; ansible-eulernest als Impl-SoT
- sessions/2026-06-14-reconciliation.md: Session-Log

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 14:45:40 +02:00

55 lines
2.8 KiB
Markdown

# ROADMAP — Board & Ready-Set (Jetson AI / Ollama)
Eingang des Feature-Loops **und** der Abhängigkeits-DAG. Der Leader berechnet jeden
Zyklus das **Ready-Set** und dispatcht nur daraus.
> **ROADMAP vs. STATE:** ROADMAP = der ganze geplante Graph. `STATE.md` = was
> *gerade jetzt* läuft. Item wandert: `🔲` → beim Dispatch in STATE „In Progress" →
> bei Merge zurück als `✅` in „Done".
## Legende
- **Typ:** 🔌 port · 🔬 research · 🧱 infra
- **Status:** ✅ done · 🔲 ready · ⏸ blocked-by-prereq · ⛔ blocked-extern · ~~dropped~~
## Ready-Set-Regel
```
Ready-Set = { Items mit 🔲, deren Prereqs ALLE ✅ } → aktuell: { N1, N2, N3 }
```
1. Ready-Set bilden. 2. Modell aus `docs/roles/model-routing.md`. 3. Prompt aus
`session-prompts/<ID>.md`. 4. Worker bauen. 5. Review-Gate (hoch) → Merge → ✅.
> **Dieses Projekt ist rein 🧱 infra/config** — kein 🔬-Item, daher kein Spike-Gate.
> N2 hat eine Messkomponente (🔬) aber keinen theoretischen Spike-Bedarf.
## Board — Nächste Schritte
| ID | Item | Typ | Status | Prereqs | Rolle · Tier | Aufwand |
|----|------|-----|--------|---------|--------------|---------|
| N1 | GPU-Utilization Metric: `/sys/devices/gpu.0/load` → ollama_exporter + HA-Sensor | 🔌 | 🔲 | — | Worker · mittel | ~0.5 d |
| N2 | Modell-Benchmarks: Latenz + VRAM pro Profil (`scripts/benchmark.sh`) | 🔬 | 🔲 | — | Worker · mittel | ~1 d |
| N3 | Smoke-Test-Suite: alle 5 Endpoints (Ollama, Exporter, Nougat, GROBID, codex-mcp) von außen | 🧱 | 🔲 | — | Worker · mittel | ~1 d |
**Wellen:** N1, N2, N3 können **parallel** dispatched werden (disjunkte Ownership).
## Done (via ansible-eulernest)
> Implementierung lag außerhalb dieses Repos. Commits und Diff-History in
> `ansible-eulernest` (feat/F-11-nougat-server, frühere Branches).
| ID | Item | Implementierung | Zeitraum | Status |
|----|------|-----------------|----------|--------|
| W2 | Ollama-Profile (4 Profile) + Daemon-Env | `ansible-eulernest/roles/ollama` | 2026-06 | ✅ |
| W3 | Exporter-Sidecar (`:8000/metrics`) | `ansible-eulernest/roles/ollama_exporter` | 2026-06 | ✅ |
| W4 | Bootstrap (Power MAXN_SUPER, GPU-Gate, UFW, Source-Build sm_87) | `ansible-eulernest/roles/jetson_bootstrap` | 2026-06 | ✅ |
| — | Nougat OCR (`:8080`) | `ansible-eulernest/roles/nougat_server` | 2026-06 | ✅ |
| — | GROBID (`:8070`) | `ansible-eulernest/roles/grobid` | 2026-06 | ✅ |
| — | codex-mcp Knowledge Base (`:8765`) | `ansible-eulernest/roles/codex_mcp` | 2026-06 | ✅ |
## Dropped
| ID | Item | Grund |
|----|------|-------|
| W1 | Grundgerüst in diesem Repo | Scope nach ansible-eulernest gewandert |
| W5 | Client + Tests (standalone) | Nicht nötig; N3 Smoke-Tests decken Verifikation ab |
| W6 | Docs (standalone in diesem Repo) | Doku lebt in ansible-eulernest + agent-swarm-repo |