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>
This commit is contained in:
2026-06-14 14:45:40 +02:00
parent 6c84f831b0
commit accd61625c
6 changed files with 206 additions and 60 deletions

View File

@@ -9,33 +9,46 @@ Zyklus das **Ready-Set** und dispatcht nur daraus.
## Legende
- **Typ:** 🔌 port · 🔬 research · 🧱 infra
- **Status:** ✅ done · 🔲 ready · ⏸ blocked-by-prereq · ⛔ blocked-extern
- **Status:** ✅ done · 🔲 ready · ⏸ blocked-by-prereq · ⛔ blocked-extern · ~~dropped~~
## Ready-Set-Regel
```
Ready-Set = { Items mit 🔲, deren Prereqs ALLE ✅ } → aktuell: { W1 }
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.
> Die Kopplung der Pakete läuft ausschließlich über `CONVENTIONS.md`.
> N2 hat eine Messkomponente (🔬) aber keinen theoretischen Spike-Bedarf.
## Board — Nächste Schritte
## Board
| ID | Item | Typ | Status | Prereqs | Rolle · Tier | Aufwand |
|----|------|-----|--------|---------|--------------|---------|
| W1 | Grundgerüst: Struktur, README-Skelett, LICENSE, `.gitignore`, `.env.example` | 🧱 | 🔲 | — | Worker · mittel | ~0.5 d |
| W2 | Ollama-Profile: Modelfiles light/gemma/heavy, systemd-override, `build-models.sh`, DVC | 🧱 | | W1 | Worker · mittel | ~1 d |
| W3 | Exporter-Sidecar: `/metrics`:8000 + systemd-Service | 🧱 | | W1 | Worker · mittel | ~0.5 d |
| W4 | Setup & CI/CD: `setup-jetson.sh`, `benchmark.sh`, Workflows | 🧱 | ⏸ | W1 | Worker · mittel | ~1 d |
| W5 | Client & Tests: `client/`, `tests/`, Requirements | 🧱 | ⏸ | W1 | Worker · mittel | ~1 d |
| W6 | Docs: architecture/api/deployment/troubleshooting + README-Finalisierung | 🧱 | ⏸ | W2,W3,W4,W5 | Scholar · klein | ~0.5 d |
| 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:** W1 zuerst (alleine) → dann **W2W5 parallel** (disjunkte Ownership,
nur über `CONVENTIONS.md` gekoppelt) → W6 zuletzt (integriert die Realität der
anderen). Session-Prompts liegen fertig unter `session-prompts/W1…W6.md`.
**Wellen:** N1, N2, N3 können **parallel** dispatched werden (disjunkte Ownership).
## Done
| ID | Item | Session | Commit |
|----|------|---------|--------|
| — | _(noch nichts gemerged — W1 ist als nächstes dran)_ | — | — |
## 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 |