docker-tag-monitor: ask @claude to read upstream release notes#1538
Conversation
Add a pre-flight research block to the auto-generated issue body so that
Claude reads vLLM / SGLang release notes between the current and new tag
before opening a PR. Prior runs missed two specific failure modes:
1. Tag-suffix convention changes (e.g. vLLM v0.21.0 promoted CUDA 13
to the default build, so the bare v0.21.0 tag *is* the cu13 image
and no v0.21.0-cu13 tag exists -- mechanical suffix reuse would
point at a 404).
2. CLI flag deprecations or removals (e.g. vLLM removed
`--disable-log-requests`; passing it now errors at startup and
only surfaces during the e2e run).
The block tells Claude to fetch release notes, confirm the chosen tag
exists on Docker Hub, grep the repo for launch flags actually used with
this image, and either fix in the same PR or skip the config-key and
explain in the wrap-up comment.
There was a problem hiding this comment.
LGTM — informational additions to an auto-generated issue body; no production code paths touched, fallbacks and temp-file cleanup look correct.
Extended reasoning...
Overview
This PR modifies a single GitHub Actions workflow (.github/workflows/docker-tag-monitor.yml) that auto-generates an issue body for Claude (Klaud-Cold) to consume. Two additions: (1) a new "Submission Staleness" section built from a jq query against inferencex.semianalysis.com/api/v1/submissions, and (2) a pre-flight research block instructing Claude to read upstream vLLM/SGLang release notes (citing concrete prior failure modes: the v0.21.0 cu13 default switch and the --disable-log-requests removal).
Security risks
None meaningful. The workflow only reads from two public-ish endpoints with curl -sf + timeouts, parses JSON via jq, and writes Markdown to a temp file. No new permissions, no shell-injection vectors (data is piped through jq rather than evaluated), and the new temp files are added to the cleanup line.
Level of scrutiny
Low. This is meta-automation: it tweaks the prompt/context Claude receives when it later opens PRs. There is no impact on the production InferenceX service, on test runners, or on any merge logic. Worst-case failure mode is that the staleness API call fails (gracefully handled with a fallback message) or that the added prose is ignored by the downstream Claude run.
Other factors
The PR description only mentions the pre-flight research block, while the diff also adds the staleness table — minor scope mismatch but both are improvements to the same auto-generated issue and the title ("ask @claude to read upstream release notes") still fits the dominant change. No CODEOWNERS for workflow files appear to be involved, no bugs were flagged by the bug-hunting pass, and there are no outstanding reviewer comments to resolve.
Summary
Add a pre-flight research block to the auto-generated issue body so that Claude reads vLLM / SGLang release notes between the current and new tag before opening a PR.
Prior runs missed two specific failure modes:
v0.21.0tag is the cu13 image and nov0.21.0-cu13tag exists. Mechanical suffix reuse would point at a 404.--disable-log-requests; passing it now errors at startup and only surfaces during the e2e run.The block tells Claude to:
Split out of #1503 (which now only contains the canary-gate change).
Test plan