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>
55 lines
2.8 KiB
Markdown
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 |
|