ci(pr-automation): use Helmcode review agents - #1819
Draft
Benoît Cortier (CBenoit) wants to merge 3 commits into
Draft
ci(pr-automation): use Helmcode review agents#1819Benoît Cortier (CBenoit) wants to merge 3 commits into
Benoît Cortier (CBenoit) wants to merge 3 commits into
Conversation
Replace Claude-specific jobs with a bounded OpenAI-compatible action backed by Helmcode. Route specialists in trusted code, validate pinned protocol citations, and publish only the independently verified final review. Keep model jobs read-only while preserving existing classification, quota, force, review-count, and serialized publication policies. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Migrates PR automation from Claude-specific jobs to bounded, read-only Helmcode agents with trusted routing, validation, and publication.
Changes:
- Adds the OpenAI-compatible filesystem-agent action and CI coverage.
- Introduces specialist routing, aggregation, provenance, and final-review validation.
- Pins and sanitizes protocol sources while preserving automation gates and serialized publication.
Review scope: Protocol review was skipped because these changes do not affect RDP behavior.
Reviewed changes
Copilot reviewed 50 out of 53 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
xtask/src/check.rs |
Checks the action lockfile. |
.github/workflows/labeler.yml |
Runs the new review pipeline. |
.github/workflows/ci.yml |
Tests and verifies automation. |
.github/PR_AUTOMATION.md |
Documents the new architecture. |
.github/pr-automation/automation.test.js |
Tests automation policy and validation. |
.github/pr-automation/write-state.js |
Publishes validated review state. |
.github/pr-automation/validation.js |
Shares line validation. |
.github/pr-automation/validate-reviewer.js |
Removes the legacy validator. |
.github/pr-automation/validate-protocol-review.js |
Validates pinned citations. |
.github/pr-automation/validate-final-review.js |
Validates final reviews. |
.github/pr-automation/validate-classifier.js |
Adds specialist routing state. |
.github/pr-automation/validate-candidate-review.js |
Validates specialist candidates. |
.github/pr-automation/routing.js |
Defines trusted reviewer policy. |
.github/pr-automation/review-pipeline.js |
Aggregates specialist runs. |
.github/pr-automation/resolve-state.js |
Resolves new review state. |
.github/pr-automation/prepare-review-sources.sh |
Sanitizes protocol sources. |
.github/pr-automation/fetch-pr-evidence.sh |
Hardens model evidence. |
.github/pr-automation/schemas/reviewer.json |
Removes the legacy schema. |
.github/pr-automation/schemas/protocol-reviewer.json |
Removes the legacy protocol schema. |
.github/pr-automation/schemas/final-review.json |
Defines final-review output. |
.github/pr-automation/schemas/classifier.json |
Adds specialist selections. |
.github/pr-automation/schemas/candidate-review.json |
Defines specialist output. |
.github/pr-automation/prompts/skeptical.md |
Configures skeptical review. |
.github/pr-automation/prompts/skeptical-reviewer.md |
Removes the legacy prompt. |
.github/pr-automation/prompts/protocol-reviewer.md |
Updates protocol review output. |
.github/pr-automation/prompts/general-reviewer.md |
Configures final verification. |
.github/pr-automation/prompts/code-compressor.md |
Configures compression review. |
.github/pr-automation/prompts/classifier.md |
Adds routing and duplicate context. |
.github/pr-automation/agents/classifier.json |
Configures classification. |
.github/pr-automation/agents/protocol.json |
Configures protocol review. |
.github/pr-automation/agents/skeptical.json |
Configures skeptical review. |
.github/pr-automation/agents/code-compressor.json |
Configures compression review. |
.github/pr-automation/agents/general-reviewer.json |
Configures final review. |
.github/actions/resilient-review-output/action.yml |
Removes the Claude wrapper. |
.github/actions/resilient-review-output/validate.js |
Removes legacy validation. |
.github/actions/openai-agent/action.yml |
Defines the new action. |
.github/actions/openai-agent/src/index.js |
Starts the action. |
.github/actions/openai-agent/src/main.js |
Handles action execution. |
.github/actions/openai-agent/src/agent.js |
Implements bounded agent turns. |
.github/actions/openai-agent/src/config.js |
Validates trusted configuration. |
.github/actions/openai-agent/src/sandbox.js |
Enforces filesystem capabilities. |
.github/actions/openai-agent/src/errors.js |
Defines safe errors. |
.github/actions/openai-agent/src/limits.js |
Centralizes runtime limits. |
.github/actions/openai-agent/test/agent.test.js |
Tests agent behavior. |
.github/actions/openai-agent/test/config.test.js |
Tests configuration validation. |
.github/actions/openai-agent/test/helpers.js |
Provides test workspaces. |
.github/actions/openai-agent/test/main.test.js |
Tests action orchestration. |
.github/actions/openai-agent/test/sandbox.test.js |
Tests sandbox boundaries. |
.github/actions/openai-agent/package.json |
Declares action dependencies. |
.github/actions/openai-agent/package-lock.json |
Locks dependencies. |
.github/actions/openai-agent/dist/index.js |
Bundles the action runtime. |
.github/actions/openai-agent/dist/licenses.txt |
Bundles dependency licenses. |
.github/actions/openai-agent/.gitignore |
Excludes installed modules. |
Files not reviewed (1)
- .github/actions/openai-agent/package-lock.json: Generated file
Revalidate current review policy immediately before irreversible review publication, check persistence, and review-count label changes. Keep the output-budget regression test at top level so node:test always executes its assertions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use only qwen3.6 for classification so model access failures surface instead of silently consuming GLM capacity. Describe workflow-controlled configuration and validated model data precisely rather than labelling model-derived artifacts as trusted. Remove fallback-only runtime state, outputs, and tests. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.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.
Replace Claude-specific jobs with a bounded OpenAI-compatible action backed by Helmcode.
Route specialists through base-branch policy, validate pinned protocol citations, and publish only the independently verified final review.
Keep model jobs read-only while preserving existing classification, quota, force, review-count, and serialized publication policies.
Co-authored-by: Copilot App 223556219+Copilot@users.noreply.github.com