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

@@ -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(),
}