#!/usr/bin/env python3 """Nest known legacy agent API workers under their originating objective.""" from __future__ import annotations import sqlite3 from pathlib import Path STATE_DB = Path("/opt/data/state.db") LEGACY_CASSANDRA_PARENT = "20260812_042739_d6ee37" LEGACY_CASSANDRA_WORKERS = { "api-d947ebb51d09eb97": "Cassandra handoff existence check", "api-bd98c6145593e9e9": "Cassandra handoff heading check", "api-cb00bdf2f7cd3889": "Cassandra worktree file check", "api-91b5c2de1759380b": "Agent hosted route check", "api-0d1d15e79c619f7b": "Cassandra file-tool check", "api-5550b3556424fbdc": "Cassandra handoff summary", "api-c288b9f3024a91b8": "Cassandra stale-worktree check", "api-058e51802b58ee3f": "Cassandra verification worker", } LEGACY_ORPHANED_SMOKE_SESSIONS = { "e17f2d888689": "Archived agent workspace smoke test", } def migrate(path: Path = STATE_DB) -> int: """Apply idempotent, transcript-preserving lineage corrections.""" if not path.is_file(): return 0 changed = 0 with sqlite3.connect(path) as connection: parent = connection.execute( "SELECT id FROM sessions WHERE id = ?", (LEGACY_CASSANDRA_PARENT,) ).fetchone() if parent: for session_id, title in LEGACY_CASSANDRA_WORKERS.items(): cursor = connection.execute( """ UPDATE sessions SET parent_session_id = ?, title = ? WHERE id = ? AND source = 'api_server' AND parent_session_id IS NULL """, (LEGACY_CASSANDRA_PARENT, title, session_id), ) changed += cursor.rowcount for session_id, title in LEGACY_ORPHANED_SMOKE_SESSIONS.items(): cursor = connection.execute( """ UPDATE sessions SET archived = 1, title = ? WHERE id = ? AND source = 'api_server' AND parent_session_id IS NULL AND archived = 0 """, (title, session_id), ) changed += cursor.rowcount return changed if __name__ == "__main__": print(f"migrated {migrate()} legacy API sessions")