Taskboard fasst nach: stockende, entblockte und wartende Aufgaben erkennen und nachfassen (#646)
Alle 30 Minuten, als Abfrage statt Modelllauf: Agentenaufgabe in Arbeit ohne Aenderung (Vorgabe 24 h) -> einmal neu gestartet, stockt sie binnen einer Woche wieder, geht es an die Leitung bzw. den Menschen; blockiert mit erledigten Blockern -> wieder offen; @human-Aufgabe ueber 48 h -> in einer Sammelaufgabe fuer den Menschen; in_review ueber 48 h und wiederholtes LoopLimitExceeded (3 in 7 Tagen) -> Aufgabe an die Leitung. Einmal je Zustand, hoechstens 10 Nachfassungen je Durchgang, jede im Audit. Befunde liegen abfragbar in TaskFindings (fuer #680); WebUI-Karte 'Liegengeblieben'. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
095722ae9c
commit
e42ec100b0
@@ -302,6 +302,26 @@ public sealed class SqliteStorage
|
||||
|
||||
CREATE INDEX IF NOT EXISTS IX_RunDaily_Unit ON RunDaily (UnitId, Day);
|
||||
|
||||
-- #646: work that lives but does not move — once per kind, task and state it was found in.
|
||||
CREATE TABLE IF NOT EXISTS TaskFindings (
|
||||
Id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
Kind TEXT NOT NULL,
|
||||
TaskId TEXT NOT NULL,
|
||||
Mark TEXT NOT NULL,
|
||||
Assignee TEXT NOT NULL DEFAULT '',
|
||||
Title TEXT NOT NULL DEFAULT '',
|
||||
Detail TEXT NOT NULL DEFAULT '',
|
||||
SinceAt TEXT NOT NULL,
|
||||
FirstSeenAt TEXT NOT NULL,
|
||||
LastSeenAt TEXT NOT NULL,
|
||||
ActedAt TEXT NULL,
|
||||
Action TEXT NOT NULL DEFAULT '',
|
||||
ResolvedAt TEXT NULL,
|
||||
UNIQUE (Kind, TaskId, Mark)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS IX_TaskFindings_Open ON TaskFindings (ResolvedAt, ActedAt);
|
||||
|
||||
-- Staging (A2): eingefrorene, freigabepflichtige Tool-Aufrufe. Ausgeführt wird
|
||||
-- genau der gespeicherte Argument-JSON (Plan-Freeze).
|
||||
-- #698: a unit's doctrine, every version kept — who, when, which run, why.
|
||||
|
||||
Reference in New Issue
Block a user