Audit und Laufbelege: Tageswerte je Agent und Einheit, Monatsarchiv statt Loeschen (#700)
Nach der Vorgabe vom 2026-09-22 (so wenig loeschen wie moeglich): Laeufe aelter als hotDays (Vorgabe 180, 0 = alles bleibt) wandern aus AuditLog und RunReceipts in Archive/audit-JJJJ-MM.db - kopiert und entfernt in einer Transaktion, Zeilen-IDs bleiben, spaeter dazugekommene Spalten werden im Archiv ergaenzt. Vorher wird jeder Tag in RunDaily verdichtet (Laeufe, Fehlschlaege, Schrittgrenze, Tokens, Kosten, Werkzeugaufrufe, Fehler, Verweigert, Freigaben) mit der Einheit des Agenten; die Tageswerte bleiben. Nachschlagen eines Laufs findet ihn auch im Archiv. API /usage/days, /usage/archive; Karte 'Tageswerte' in der Verbrauchsansicht. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
0dd8a761b8
commit
095722ae9c
@@ -282,6 +282,26 @@ public sealed class SqliteStorage
|
||||
CREATE INDEX IF NOT EXISTS IX_RunReceipts_Run
|
||||
ON RunReceipts (RunId);
|
||||
|
||||
-- #700: one day of one agent, condensed; stays when the rows move to the archive.
|
||||
CREATE TABLE IF NOT EXISTS RunDaily (
|
||||
Day TEXT NOT NULL,
|
||||
AgentId TEXT NOT NULL,
|
||||
UnitId TEXT NOT NULL DEFAULT '',
|
||||
Runs INTEGER NOT NULL DEFAULT 0,
|
||||
Failed INTEGER NOT NULL DEFAULT 0,
|
||||
LoopLimit INTEGER NOT NULL DEFAULT 0,
|
||||
PromptTokens INTEGER NOT NULL DEFAULT 0,
|
||||
CompletionTokens INTEGER NOT NULL DEFAULT 0,
|
||||
CostUsd TEXT NOT NULL DEFAULT '0',
|
||||
ToolCalls INTEGER NOT NULL DEFAULT 0,
|
||||
ToolErrors INTEGER NOT NULL DEFAULT 0,
|
||||
Denied INTEGER NOT NULL DEFAULT 0,
|
||||
Staged INTEGER NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (Day, AgentId)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS IX_RunDaily_Unit ON RunDaily (UnitId, Day);
|
||||
|
||||
-- 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