diff --git a/CLAUDE.md b/CLAUDE.md index cadeabc..3ffe6e7 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -26,6 +26,17 @@ in de Scrum4Me-repo. Wanneer je geseed wordt met *"Pak de volgende job uit de Scrum4Me-queue"* of equivalent: +0. **Pre-flight quota-check** (M13). Vóór elke `wait_for_job`-aanroep: + 1. `mcp__scrum4me__get_worker_settings()` → `{ min_quota_pct }` + 2. `bash /opt/agent/bin/worker-quota-probe.sh` → JSON + `{ pct, reset_at_iso, ... }` + 3. `mcp__scrum4me__worker_heartbeat({ last_quota_pct: pct, + last_quota_check_at })` — server stuurt SSE-event zodat NavBar + stand-by-badge live updatet + 4. **Als `pct < min_quota_pct`**: log "stand-by, wachten tot + `reset_at_iso`", sleep tot dat tijdstip (cap op 1 uur), spring + terug naar stap 0.2 + 5. **Anders**: ga door naar stap 1 1. Roep `mcp__scrum4me__wait_for_job` aan. Geen argumenten, geen wait-time tweaken — de tool blokt zelf tot 600 s. 2. Als er een job geclaimd wordt: diff --git a/bin/run-agent.sh b/bin/run-agent.sh index d392c9c..9097261 100644 --- a/bin/run-agent.sh +++ b/bin/run-agent.sh @@ -46,7 +46,7 @@ SEED_PROMPT='Pak de volgende job uit de Scrum4Me-queue en draai de queue leeg vo # Tools-allowlist: alle MCP-tools die scrum4me-mcp aanbiedt + standaard # file/bash-tools. Geen WebFetch, geen WebSearch — de agent heeft die # niet nodig en uitsluiting verkleint het surface. -ALLOWED_TOOLS='Read,Edit,Write,Bash,Grep,Glob,mcp__scrum4me__health,mcp__scrum4me__list_products,mcp__scrum4me__get_claude_context,mcp__scrum4me__wait_for_job,mcp__scrum4me__check_queue_empty,mcp__scrum4me__update_job_status,mcp__scrum4me__update_task_status,mcp__scrum4me__update_task_plan,mcp__scrum4me__log_implementation,mcp__scrum4me__log_test_result,mcp__scrum4me__log_commit,mcp__scrum4me__create_pbi,mcp__scrum4me__create_story,mcp__scrum4me__create_task,mcp__scrum4me__create_todo,mcp__scrum4me__ask_user_question,mcp__scrum4me__get_question_answer,mcp__scrum4me__list_open_questions,mcp__scrum4me__cancel_question' +ALLOWED_TOOLS='Read,Edit,Write,Bash,Grep,Glob,mcp__scrum4me__health,mcp__scrum4me__list_products,mcp__scrum4me__get_claude_context,mcp__scrum4me__wait_for_job,mcp__scrum4me__check_queue_empty,mcp__scrum4me__update_job_status,mcp__scrum4me__update_task_status,mcp__scrum4me__update_task_plan,mcp__scrum4me__log_implementation,mcp__scrum4me__log_test_result,mcp__scrum4me__log_commit,mcp__scrum4me__create_pbi,mcp__scrum4me__create_story,mcp__scrum4me__create_task,mcp__scrum4me__create_todo,mcp__scrum4me__ask_user_question,mcp__scrum4me__get_question_answer,mcp__scrum4me__list_open_questions,mcp__scrum4me__cancel_question,mcp__scrum4me__get_worker_settings,mcp__scrum4me__worker_heartbeat' CONSEC_FAILURES=0 BACKOFF=${AGENT_BACKOFF_START}