feat(KIN-010): implement rebuild-frontend post-pipeline hook

- scripts/rebuild-frontend.sh: builds Vue 3 frontend and restarts uvicorn API
- cli/main.py: hook group with add/list/remove/logs/setup commands;
  `hook setup` idempotently registers rebuild-frontend for a project
- agents/runner.py: call run_hooks(event="pipeline_completed") after
  successful pipeline; wrap in try/except so hook errors never block results
- tests: 3 tests for hook_setup CLI + 3 tests for pipeline→hooks integration

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Gros Frumos 2026-03-15 19:17:42 +02:00
parent 6705b302f7
commit 01b269e2b8
6 changed files with 355 additions and 2 deletions

View file

@ -468,8 +468,11 @@ def run_pipeline(
# 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)
try:
run_hooks(conn, project_id, task_id,
event="pipeline_completed", task_modules=task_modules)
except Exception:
pass # Hook errors must never block pipeline completion
return {
"success": True,