INNER CODE UNIT · Python
finalize
yashab-cyber/HackGpt · workbench/server.py:70
def finalize(self, report):
"""Atomically publish an intact terminal report and retire its active checkpoint."""
if not verify_integrity(report) or report.get("status") == "running":
raise ValueError("Refusing to finalize a running or invalid report")
with closing(sqlite3.connect(self.path, timeout=5)) as connection:
connection.execute("BEGIN IMMEDIATE")
connection.execute(
"INSERT OR REPLACE INTO reports VALUES (?, ?, ?)",
(report["id"], report["started_at"], json.dumps(report)),
)
connection.execute("DELETE FROM active_runs WHERE id = ?", (report["id"],))
connection.commit()
def save(self, report):
"""Compatibility alias used by existing tests/callers."""
self.finalize(report)
def recover_interrupted(self):