This commit is contained in:
team3
2026-07-13 01:58:54 +02:00
parent 698bba6ccf
commit 4fcbefc4a6
3 changed files with 14 additions and 3 deletions

View File

@@ -14,7 +14,9 @@ wird nach „lernt sich gut zusammen" (Backward Design), nicht nach „ist diese
```
E0 Korpus Themen: N Recherche-Sweeps (Curricula/Lehrbuch/Syllabus/Übungen) → Snapshots
Uni: Dateien aus topics/<name>/ (txt/md/pdf) → Snapshots
Soll-Extraktion je Quelle → Konsens (Punkt braucht ≥2 unabhängige Quellen)
Soll-Extraktion je Quelle → Konsens (Themen: Punkt braucht ≥2 unabhängige
Quellen; uni: 1 Beleg genügt — Korpus ist vertrauenswürdig, Zitat-Gate
fängt Halluzinationen)
Themen: Runden bis Sättigung (Runde ohne neuen Soll-Punkt) → Auto-Freeze
E1 Inventar Abschnitte (~12k Zeichen) → 2 Reader je Abschnitt → Atome mit Verbatim-Anker
Dedup: Anker-Overlap (auto) → Embedding-Kandidaten → 2er-Panel (einstimmig)

View File

@@ -141,6 +141,9 @@ def _init_schema(con: sqlite3.Connection) -> None:
# kennt _ORDNUNG den Status nicht und der Resume fiele fälschlich auf korpus zurück.
con.execute("UPDATE topics SET status='struktur_fertig'"
" WHERE status IN ('diagramme_fertig', 'fehlersuche_fertig')")
# Befunde entfernter Ebenen schließen — sie würden sonst ewig als „offen" im Board stehen
con.execute("UPDATE befunde SET status='veraltet'"
" WHERE status='offen' AND ebene IN ('diagramme', 'fehlersuche')")
con.commit()

View File

@@ -153,10 +153,16 @@ def state(topic: str):
"bausteine": db.query(
"SELECT b.*, s.stage FROM bausteine b LEFT JOIN sections s ON s.baustein_id=b.id"
" WHERE b.topic=? ORDER BY b.ord", (topic,)),
# topic-scoped: offene Befunde früherer Läufe bleiben nach Resume sichtbar
# Je Ebene nur der JÜNGSTE Messstand: offene Befunde älterer Läufe sind
# veraltete Momentaufnahmen (aak: 1244 Anker-Leichen bei 0 echten) — der
# letzte Lauf, der die Ebene gemessen hat, ist die Wahrheit.
"befunde": db.query(
"SELECT b.* FROM befunde b JOIN runs r ON r.id=b.run_id"
" WHERE r.topic=? AND b.status='offen' ORDER BY b.id", (topic,)),
" WHERE r.topic=? AND b.status='offen'"
" AND b.run_id = (SELECT MAX(b2.run_id) FROM befunde b2"
" JOIN runs r2 ON r2.id=b2.run_id"
" WHERE r2.topic=? AND b2.ebene=b.ebene)"
" ORDER BY b.id", (topic, topic)),
"agenten": agents.aktive_agenten(),
}