feat(M13): worker-loop pre-flight quota-check
Drukt M13 pre-flight quota-gate op de batch-loop: - ALLOWED_TOOLS in run-agent.sh uitgebreid met mcp__scrum4me__get_worker_settings + worker_heartbeat (anders mag Claude ze niet aanroepen ondanks dat ze geregistreerd zijn). - CLAUDE.md operationele loop krijgt stap 0 vóór wait_for_job: get_worker_settings → bin/worker-quota-probe.sh → worker_heartbeat → sleep-tot-reset bij low quota. Hierna draait de complete keten end-to-end: worker meet quota, rapporteert aan server, NavBar toont stand-by-badge wanneer pct < user.min_quota_pct. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
693ab50457
commit
cf6969733c
2 changed files with 12 additions and 1 deletions
11
CLAUDE.md
11
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:
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue