feat: atomic extract-and-connect + stale PR monitor + response audit #4

Merged
m3taversal merged 70 commits from epimetheus/atomic-connect-and-stale-monitor into main 2026-03-30 11:03:35 +00:00
Showing only changes of commit f4dc6b39ce - Show all commits

View file

@ -151,12 +151,14 @@ async def _terminate_pr(conn, pr_number: int, reason: str):
)
# Tag source for re-extraction with feedback
conn.execute(
cursor = conn.execute(
"""UPDATE sources SET status = 'needs_reextraction',
updated_at = datetime('now')
WHERE path = (SELECT source_path FROM prs WHERE number = ?)""",
(pr_number,),
)
if cursor.rowcount == 0:
logger.warning("PR #%d: no source_path linked — source not requeued for re-extraction", pr_number)
db.audit(conn, "evaluate", "pr_terminated", json.dumps({
"pr": pr_number, "reason": reason,