run-one-job.ts scant de volledige stream-json output (incl. álle tool-results) op auth-error-patronen, en run-agent.sh grept hetzelfde over het complete run-log — beide zonder de exit-code te checken. Daardoor legt een geslaagde job (exit 0, result.is_error=false) de worker plat zodra z'n output toevallig iets als "401 unauthorized" bevat — bv. wanneer de agent een doc over route-handler-auth leest of een endpoint test. run-agent.sh doet dan touch TOKEN_EXPIRED + sleep infinity en de worker draait pas na een rebuild weer. Fix: detectie gaten op een niet-nul exit. Een echte credential-fout laat 'claude' non-zero exiten, dus echte expiries worden nog steeds gevangen — alleen de false positives op geslaagde runs verdwijnen. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| _lib.sh | ||
| check-tokens.sh | ||
| deploy-to-nas.sh | ||
| entrypoint.sh | ||
| health-server.js | ||
| job-cleanup.sh | ||
| job-prepare.sh | ||
| log-cleanup.sh | ||
| repo-bootstrap.sh | ||
| rotate-logs.sh | ||
| run-agent.sh | ||
| run-one-job.ts | ||
| worker-quota-probe.sh | ||