Merge branch 'fix/g11' into fix/integrated

# Conflicts:
#	internal/store/migrations.go
This commit is contained in:
kami
2026-08-01 14:20:24 +04:00
19 changed files with 1070 additions and 266 deletions
+23
View File
@@ -177,6 +177,29 @@ ALTER TABLE reminders ADD COLUMN next_fire_ts INTEGER;`, // #2
`ALTER TABLE tasks ADD COLUMN ext_id TEXT;
ALTER TABLE tasks ADD COLUMN resolved_by TEXT NOT NULL DEFAULT '';
CREATE UNIQUE INDEX IF NOT EXISTS idx_tasks_ext_id ON tasks (ext_id) WHERE ext_id IS NOT NULL;`,
// #16 — ecosystem call traces (Vikunja #273). Deliberately NOT facts.
// Traces are written at machine rate, one act turn produces three or four,
// while facts are written at human rate. Sharing the facts table made every
// bounded reader of facts (the habit profile's 2000-row window, memeval's
// prompt snapshot, /dash's 50 and /history's 200) read mostly traces after
// a day of ecosystem use, pushing the rows that matter out of range.
// Retention is enforced on write (PruneEcosystemTraces) because nothing
// here is an audit trail: a trace answers "did this hop work" for as long
// as anyone is still asking.
`CREATE TABLE IF NOT EXISTS ecosystem_traces (
id INTEGER PRIMARY KEY AUTOINCREMENT,
ts INTEGER NOT NULL,
service TEXT NOT NULL,
operation TEXT NOT NULL,
status TEXT NOT NULL,
duration_ms INTEGER NOT NULL DEFAULT 0,
correlation_id TEXT NOT NULL DEFAULT '',
causation_id TEXT NOT NULL DEFAULT '',
http_status INTEGER NOT NULL DEFAULT 0,
fields TEXT NOT NULL DEFAULT '{}'
);
CREATE INDEX IF NOT EXISTS idx_eco_traces_ts ON ecosystem_traces (ts DESC);
CREATE INDEX IF NOT EXISTS idx_eco_traces_correlation ON ecosystem_traces (correlation_id);`,
}
// migrate applies every migration with a number greater than the DB's current