docs/mindnet_v2_implementation_playbook.md aktualisiert
All checks were successful
Deploy mindnet to llm-node / deploy (push) Successful in 3s

This commit is contained in:
Lars 2025-11-18 11:19:22 +01:00
parent 049a39aba3
commit fafa74b0b8

View File

@ -19,6 +19,31 @@
> **Warum so?** QdrantPayloadIndizes/Filter → schnelle, erklärbare Selektionen; Snapshots → betriebssicheres Rollback; OTel → Nachvollziehbarkeit; YAML/JSONSchema → Validierbarkeit & Stabilität. > **Warum so?** QdrantPayloadIndizes/Filter → schnelle, erklärbare Selektionen; Snapshots → betriebssicheres Rollback; OTel → Nachvollziehbarkeit; YAML/JSONSchema → Validierbarkeit & Stabilität.
### 0.1 Aktueller Implementierungsstand (2025-11-18)
- Es existiert eine produktive mindnet-Instanz mit den Collections:
- `${prefix}_notes`
- `${prefix}_chunks`
- `${prefix}_edges`
- Import-Pipeline:
- `scripts/import_markdown.py` erzeugt Notes, Chunks und Edges vollständig.
- `types.yaml` definiert per Note-Typ:
- `retriever_weight`
- `chunk_profile`
- `edge_defaults` (z. B. `depends_on`, `related_to`).
- Edges:
- Strukturkanten: `belongs_to`, `next`, `prev`
- Explizite Kanten aus Wikilinks: `kind="references"`, `rule_id="explicit:wikilink"`
- Typbasierte Default-Kanten aus `edge_defaults`: `rule_id="edge_defaults:<type>:<relation>"`
- Inline-Kanten im Format `[[rel:<relation> <Zielnote>]]` mit `rule_id="inline:rel"`
- alle Edges tragen eine `confidence` im Bereich `[0,1]` als Hinweis für spätere Ranking-Logiken.
- Tests:
- `tests/test_edges_smoke.py`, `tests/test_edges_all.py` und `scripts/edges_full_check.py` validieren Counts, Konsistenz (`belongs_to == chunks`, `next/prev`-Ketten, keine Duplikate) und Provenienz-Zählungen (`explicit`, `defaults`, `inline`, `structure`).
- Offene Punkte:
- Mehrere Ziele in einer Inline-Relation (`rel: similar_to [[A]] [[B]]`) sind noch nicht implementiert.
- Retrieval-Service nutzt die neuen Edges und Weights bisher nur teilweise; ein edge-bewusster Retriever ist als nächster Schritt geplant.
--- ---
## 1) Datenmodelle (Schemata, v2) ## 1) Datenmodelle (Schemata, v2)
@ -196,10 +221,15 @@ rule_sets:
- CIJob: `make schema-validate` (jsonschema). - CIJob: `make schema-validate` (jsonschema).
- **Abnahme:** Validator grün auf 3 GoldNotizen. - **Abnahme:** Validator grün auf 3 GoldNotizen.
### Step 2 Qdrant v2Collections ### Step 2 Qdrant v2Collections (Optional)
- Anlegen der 3 v2Collections + PayloadIndizes. - Anlegen der 3 v2Collections + PayloadIndizes.
- **Abnahme:** FilterQuery liefert erwartbare Ergebnisse. - **Abnahme:** FilterQuery liefert erwartbare Ergebnisse.
### Step 2a Edge-Pipeline v1 stabilisieren (ERLEDIGT)
- Ziel: Vollständige Generierung von Struktur-, expliziten, typbasierten und Inline-Kanten in den bestehenden Collections `${prefix}_notes`, `${prefix}_chunks`, `${prefix}_edges`.
- Status: Implementiert und durch `tests/test_edges_smoke.py`, `tests/test_edges_all.py` und `scripts/edges_full_check.py` verifiziert.
### Step 3 Chunker v2 ### Step 3 Chunker v2
- Implementierung & Flag `--chunker v2`. - Implementierung & Flag `--chunker v2`.
- **Abnahme:** ChunkCounts ~ alt (≈171 ± 15%), semantische Schnitte. - **Abnahme:** ChunkCounts ~ alt (≈171 ± 15%), semantische Schnitte.
@ -208,6 +238,17 @@ rule_sets:
- Reihenfolge & `provenance` strikt umsetzen, `default_resolved` integrieren. - Reihenfolge & `provenance` strikt umsetzen, `default_resolved` integrieren.
- **Abnahme:** erwartete Relationensätze auf GoldNotizen, keine Duplikate. - **Abnahme:** erwartete Relationensätze auf GoldNotizen, keine Duplikate.
### Step 4a Edge-bewusster Retriever
- Implementiere einen Retrieval-Service, der:
- Chunks über Vektor-Suche aus `${prefix}_chunks` holt,
- dazu passende Nachbar-Chunks (`next/prev`) und typrelevante Notizen (`edge_defaults`, Inline-Relationen, Wikilinks) über `${prefix}_edges` ergänzt,
- `retriever_weight` und `confidence` beim Scoring berücksichtigt.
- Liefere einen API-Endpoint `/mindnet/query` mit einem einfachen JSON-Response (Chunks + Begründung).
- Akzeptanz:
- mindestens ein Testfall mit dem Relations-Showcase-Vault,
- sichtbarer Einfluss von `edge_defaults` und Inline-Relationen auf die Ergebnisliste.
### Step 5 ImporterPipeline v2 ### Step 5 ImporterPipeline v2
- `--schema v2` SidebySide; BatchUpserts; vollständige Payloads; RecencyBoost Konfig **nur** in Policy. - `--schema v2` SidebySide; BatchUpserts; vollständige Payloads; RecencyBoost Konfig **nur** in Policy.
- **Abnahme:** DryRun/ApplyParität, Reports, TelemetrieEreignisse sichtbar. - **Abnahme:** DryRun/ApplyParität, Reports, TelemetrieEreignisse sichtbar.