Job logs are unreachable: get_job_logs 404s and its hint loops #26

Open
opened 2026-09-20 08:47:45 +00:00 by Phil · 0 comments
Owner

Symptom (2026-09-20)

get_run_logs / get_job_logs cannot return a single job log. Two agents hit it independently while diagnosing a red staging deploy in Philflow/flow.raven:

logs 404 at /Philflow/flow.raven/actions/runs/<N>/jobs/<i>/attempt/1/logs

Tried: run_number 28175 and 28113, database id 42740, job_index 0/3/4, attempt 1 and 2. Every combination 404s on a correctly-formed URL. The error text then advises retrying with the identifier that was already passed, so the id-versus-number hint is circular; one retry path even resolved to a different run.

Bash curl against forgejo.philflow.me is blocked by the PreToolUse hook (correctly, per KV-018), so with this endpoint broken there is no way for an agent to read CI logs at all. list_run_jobs works and reports job status; only the log body is unreachable.

Impact

CI diagnosis is blind. A red job can be seen but not explained, which is exactly when the logs matter. It also pushes agents toward the blocked bash fallback.

Acceptance

  • Root cause named: wrong URL shape, an unimplemented/renamed Forgejo v14 endpoint, or pruned logs. If Forgejo prunes, say so distinctly (logs expired) instead of 404.
  • get_job_logs returns the body for a recent finished job in Philflow/flow.raven.
  • The identifier hint stops recommending the value it just failed to resolve, and never silently resolves to a different run.
## Symptom (2026-09-20) `get_run_logs` / `get_job_logs` cannot return a single job log. Two agents hit it independently while diagnosing a red staging deploy in `Philflow/flow.raven`: ``` logs 404 at /Philflow/flow.raven/actions/runs/<N>/jobs/<i>/attempt/1/logs ``` Tried: run_number `28175` and `28113`, database id `42740`, `job_index` 0/3/4, `attempt` 1 and 2. Every combination 404s on a correctly-formed URL. The error text then advises retrying with the identifier that was already passed, so the id-versus-number hint is circular; one retry path even resolved to a different run. Bash `curl` against `forgejo.philflow.me` is blocked by the PreToolUse hook (correctly, per KV-018), so with this endpoint broken there is **no** way for an agent to read CI logs at all. `list_run_jobs` works and reports job status; only the log body is unreachable. ## Impact CI diagnosis is blind. A red job can be seen but not explained, which is exactly when the logs matter. It also pushes agents toward the blocked bash fallback. ## Acceptance - [ ] Root cause named: wrong URL shape, an unimplemented/renamed Forgejo v14 endpoint, or pruned logs. If Forgejo prunes, say so distinctly (`logs expired`) instead of 404. - [ ] `get_job_logs` returns the body for a recent finished job in `Philflow/flow.raven`. - [ ] The identifier hint stops recommending the value it just failed to resolve, and never silently resolves to a different run.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Phil/forgejo-mcp#26
No description provided.