Merge pull request 'feat(learning): אינדיקציית-תיק למצב למידת-קול + חילוץ-הלכות אחרי החלטה סופית' (#233) from worktree-case-learning-indicator into main
All checks were successful
Build & Deploy / build-and-deploy (push) Successful in 1m39s
G12 Leak-Guard / leak-guard (push) Successful in 9s

This commit was merged in pull request #233.
This commit is contained in:
2026-06-12 10:51:18 +00:00
7 changed files with 461 additions and 9 deletions

View File

@@ -165,8 +165,21 @@ async def main(args: argparse.Namespace) -> int:
)
except Exception as e: # fatal step (e.g. ingest error) — clean non-zero exit
print(f"\n✗ pipeline-למידה נכשל: {e}")
# Stamp the explicit FAILURE outcome on the pair so the case shows why (a
# crash otherwise leaves status='final_received' — indistinguishable from
# never-run). Skipped in dry-run. Surfaced, never swallowed.
if not args.dry_run:
try:
await db.set_learning_run_outcome(case["id"], "failed", error=str(e))
except Exception as stamp_err:
print(f" ⚠️ לא ניתן לחתום תוצאת-כישלון: {stamp_err}")
return 1
print("\n✓ pipeline-למידה הושלם" + (" (dry-run)" if args.dry_run else ""))
if not args.dry_run:
try:
await db.set_learning_run_outcome(case["id"], "succeeded", steps=results)
except Exception as stamp_err:
print(f" ⚠️ לא ניתן לחתום תוצאת-הצלחה: {stamp_err}")
return int(results.get("panel_rc", 0) or 0)