kin: KIN-ARCH-023-debugger

This commit is contained in:
Gros Frumos 2026-03-18 22:27:06 +02:00
parent f1c868e335
commit 2be94f0c68
4 changed files with 94 additions and 68 deletions

View file

@ -65,6 +65,7 @@ CREATE TABLE IF NOT EXISTS tasks (
revise_comment TEXT,
revise_count INTEGER DEFAULT 0,
revise_target_role TEXT DEFAULT NULL,
pending_steps JSON DEFAULT NULL,
labels JSON,
category TEXT DEFAULT NULL,
telegram_sent BOOLEAN DEFAULT 0,
@ -400,6 +401,10 @@ def _migrate(conn: sqlite3.Connection):
conn.execute("ALTER TABLE tasks ADD COLUMN revise_target_role TEXT DEFAULT NULL")
conn.commit()
if "pending_steps" not in task_cols:
conn.execute("ALTER TABLE tasks ADD COLUMN pending_steps JSON DEFAULT NULL")
conn.commit()
if "obsidian_vault_path" not in proj_cols:
conn.execute("ALTER TABLE projects ADD COLUMN obsidian_vault_path TEXT")
conn.commit()

View file

@ -37,6 +37,7 @@ _JSON_COLUMNS: frozenset[str] = frozenset({
"tech_stack",
"brief", "spec", "review", "test_result", "security_result", "labels",
"smoke_test_result",
"pending_steps",
"tags",
"dependencies",
"steps",
@ -380,7 +381,7 @@ def update_task(conn: sqlite3.Connection, id: str, **fields) -> dict:
"""
if not fields:
return get_task(conn, id)
json_cols = ("brief", "spec", "review", "test_result", "security_result", "labels", "smoke_test_result")
json_cols = ("brief", "spec", "review", "test_result", "security_result", "labels", "smoke_test_result", "pending_steps")
for key in json_cols:
if key in fields:
fields[key] = _json_encode(fields[key])