Docs self-healing workflow improvements: pre-filter PRs before Claude#3062
Merged
Docs self-healing workflow improvements: pre-filter PRs before Claude#3062
Conversation
Prompt-level guardrail to prevent the Claude agent from making any write API calls to strapi/strapi via the GH_TOKEN. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The workflow now handles title-based filtering (chore, test, docs, security, translations, typos) and idempotency checks in bash before launching Claude. This avoids spending tokens on PRs that never need documentation. Claude receives only the pre-filtered list via $FILTERED_PRS and starts directly at diff fetching + Router. Based on analysis of 100+ merged strapi/strapi PR titles. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The summary now lists every PR by name: excluded by title filter (strikethrough), already processed (idempotency), and candidates sent to Claude (bold). Removed the artifact upload step. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New workflow step fetches body and diff for each candidate PR and stores them in /tmp/pr-<NUMBER>-body.txt and /tmp/pr-<NUMBER>.diff. Claude reads from disk instead of calling gh api, saving tool calls. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
pwizla
added a commit
that referenced
this pull request
Apr 16, 2026
The previous approach passed PR bodies via --arg which broke on special characters and newlines. Now extracts PR numbers into a JSON array file and uses --slurpfile for reliable filtering. Fixes #3062 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
auto-doc-healingPRs before Claude, not inside Claude./tmp/pr-<NUMBER>-body.txtand.diff, Claude reads from disk instead of callinggh api.show_full_outputin logs is sufficient for debugging.Net effect: Claude only runs when there are genuine candidates, and starts directly at Router instead of re-fetching and re-filtering.
Test plan
workflow_dispatchand verify the pre-filtering summary$FILTERED_PRSand reads diffs from/tmp/🤖 Generated with Claude Code