fix(autodoc): trailing newline + random delimiter in eval context output - #37022
fix(autodoc): trailing newline + random delimiter in eval context output#37022jdcmsd wants to merge 1 commit into
Conversation
… delimiter The eval context file was written without a trailing newline, causing the closing GITHUB_OUTPUT delimiter to be appended to the last line of content rather than its own line. The runner never found the standalone delimiter and failed with "Matching delimiter not found". Also switch from a fixed __AUTODOC_EOF__ delimiter to openssl rand-generated hex so no future issue or PR body can accidentally inject the closing token. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Claude finished @jdcmsd's task in 32s —— View job Code Review
Reviewed Both changes are correct and directly address the root cause described in #36949. 1. Trailing newline ( 2. Random delimiter ( Minor notes (non-blocking):
New IssuesNo issues found. The fix is minimal, correct, and follows the recommended GitHub Actions convention. LGTM. |
What broke and why
The first real trigger of the
prep → claude → finalizepipeline (#36495) failed inBuild evaluation contextwith:Root cause: the Python script wrote
/tmp/eval_context.mdvia'\n'.join(lines)with no trailing newline. The file's last character was.(end of"Use the Write tool to write the report to exactly that path."). Whencatpiped that intoGITHUB_OUTPUT,echo '__AUTODOC_EOF__'appended directly to the last line of content rather than starting a new one. The runner looked for__AUTODOC_EOF__as a standalone line and never found it.This code path was introduced in the OIDC restructure and had never successfully run against a real issue before this trigger.
Fixes
'\n'.join(lines) + '\n'— ensures the delimiter always lands on its own line.openssl rand -hex 16— defense-in-depth so no future issue or PR body can accidentally inject the closing token. This is the GitHub-recommended pattern for multiline outputs.Fixes #36949
🤖 Generated with Claude Code