feat: add post-pipeline hooks (KIN-003)
- core/hooks.py: HookRunner с CRUD, run_hooks(), _execute_hook(), логированием - core/db.py: новые таблицы hooks и hook_logs в схеме - agents/runner.py: вызов run_hooks() после завершения pipeline - tests/test_hooks.py: 23 теста (CRUD, fnmatch-матчинг, выполнение, таймаут) Хуки запускаются синхронно после update_task(status="review"). Ошибка хука логируется, не блокирует пайплайн. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
bf38532f59
commit
d311c2fb66
4 changed files with 534 additions and 0 deletions
|
|
@ -13,6 +13,7 @@ from typing import Any
|
|||
|
||||
from core import models
|
||||
from core.context_builder import build_context, format_prompt
|
||||
from core.hooks import run_hooks
|
||||
|
||||
|
||||
def run_agent(
|
||||
|
|
@ -465,6 +466,11 @@ def run_pipeline(
|
|||
)
|
||||
models.update_task(conn, task_id, status="review")
|
||||
|
||||
# Run post-pipeline hooks (failures don't affect pipeline status)
|
||||
task_modules = models.get_modules(conn, project_id)
|
||||
run_hooks(conn, project_id, task_id,
|
||||
event="pipeline_completed", task_modules=task_modules)
|
||||
|
||||
return {
|
||||
"success": True,
|
||||
"steps_completed": len(steps),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue