Conversation
…d GetTaskLogs GetTaskLogs never populated child_job_statuses, so _list_descendant_jobs always returned an empty list. Replace with ListJobs(scope=CHILDREN) which actually returns the child job statuses needed for the bug report.
|
Claude finished @rjpower's task in 2m 11s —— View job Code Review — PR #5037Summary: Narrowly-scoped bug fix that correctly replaces a broken
Correctness
Issue: silent truncation at 500 children
Result: if a parent job has more than 500 direct children, the bug report silently shows only the 500 most recent ones (default sort is Options, roughly in order of cost:
For a diagnostic bug-report CLI, option (1) is probably the right balance — cheap and keeps the report honest. Fix this → Nits (non-blocking)
VerdictLGTM once the truncation-awareness question is addressed (either option 1 above or an explicit "accept 500 cap" decision with a comment). Everything else is minor polish. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0197a02f2e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| return [] | ||
|
|
||
| return [_build_descendant_job_report(job) for job in log_resp.child_job_statuses] | ||
| return [_build_descendant_job_report(job) for job in list_resp.jobs] |
There was a problem hiding this comment.
Paginate ListJobs when collecting descendant jobs
ListJobs is a paginated API, but this helper returns only list_resp.jobs from the first response and never checks list_resp.has_more. In controllers with high fan-out child-job trees (more than the server page cap), bug reports will silently omit later children and can miss failed descendants in the summary. This is reachable because the server clamps JobQuery.limit to MAX_LIST_JOBS_LIMIT (500) in service._query_from_list_jobs_request, so a single call cannot represent all children.
Useful? React with 👍 / 👎.
GetTaskLogs never populated child_job_statuses on the server side, so _list_descendant_jobs in bug_report.py always returned an empty list. Replace with ListJobs(scope=CHILDREN, parent_job_id=...) which correctly fetches child job statuses and unblocks removal of the deprecated GetTaskLogs RPC (scheduled for 2026-05-01).