Skip to content

Add Claude Code GitHub Workflow#1179

Merged
POWERFULMOVES merged 6 commits intomainfrom
add-claude-github-actions-1775170455622
Apr 15, 2026
Merged

Add Claude Code GitHub Workflow#1179
POWERFULMOVES merged 6 commits intomainfrom
add-claude-github-actions-1775170455622

Conversation

@POWERFULMOVES
Copy link
Copy Markdown
Owner

@POWERFULMOVES POWERFULMOVES commented Apr 2, 2026

Summary

Adds Claude Code GitHub Actions integration with proper permissions, cost controls, and SLSA attestation prep.

Workflows

claude.yml@claude mention handler

  • Triggers on PR/issue comments containing @claude
  • Permissions: contents, pull-requests, issues (write), attestations (write)

claude-code-review.yml — Auto PR review

  • Triggers on PR events (opened, synchronize, ready_for_review, reopened)
  • Path filtered: only code changes (.py, .js, .ts, .sh, Dockerfile, compose, Makefile, workflows)
  • Concurrency: cancels duplicate runs on rapid pushes
  • Draft skip: won't run on draft PRs
  • Permissions: contents, pull-requests, issues (write), attestations (write)

TAC Tree Reference

This is Phase 1-2 of TAC_CLAUDE_GITHUB_INTEGRATION. Remaining phases:

  • Phase 3: AGENTS.md integration (universal coding agent format)
  • Phase 4: Runner strategy (self-hosted when available)
  • Phase 5: Artifact attestation steps (SLSA v1 Build Level 3)
  • Phase 6: CHIT signing integration (deferred — node stable)

Prerequisites

  • CLAUDE_CODE_OAUTH_TOKEN secret: configured
  • GitHub App + Claude App: installed

Test plan

  • Merge PR → @claude mention test in a PR comment
  • Confirm Claude posts review comments (write permission)
  • Confirm auto-review triggers only on code changes (path filter)
  • Confirm draft PRs are skipped

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Added an automated code-review workflow that runs on pull requests touching source or CI files, groups runs per branch and cancels duplicates, and only executes for non-draft PRs.
    • Added a comment-triggered workflow that responds to on-demand "@claude" requests from repository collaborators to provide code assistance.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 2, 2026

Warning

Rate limit exceeded

@POWERFULMOVES has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 18 minutes and 1 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 18 minutes and 1 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a060d7d4-5b1a-45c3-a477-7e4ab7919479

📥 Commits

Reviewing files that changed from the base of the PR and between 5430800 and 3e332f1.

📒 Files selected for processing (2)
  • .github/workflows/claude-code-review.yml
  • .github/workflows/claude.yml
📝 Walkthrough

Walkthrough

Adds two GitHub Actions workflows: a PR-triggered "Claude Code Review" workflow and an on-demand "Claude Code" workflow that runs when @claude is mentioned in comments, reviews, or issues.

Changes

Cohort / File(s) Summary
GitHub Actions — code review
​.github/workflows/claude-code-review.yml
Adds a PR-triggered workflow ("Claude Code Review") on pull_request (opened, synchronize, ready_for_review, reopened). Sets concurrency per head ref, requires non-draft PR, checks out the repo, and runs anthropics/claude-code-action pinned to a v1 commit to execute code-review@claude-code-plugins, passing secrets.CLAUDE_CODE_OAUTH_TOKEN and a prompt referencing the PR URL.
GitHub Actions — on-demand assistant
​.github/workflows/claude.yml
Adds an event-driven workflow ("Claude Code") on issue_comment, pull_request_review_comment, issues, and pull_request_review. Job guarded by an if that requires event text to contain @claude and author association to be OWNER/MEMBER/COLLABORATOR. Runs on ubuntu-latest, checks out the repo, and invokes anthropics/claude-code-action pinned to a v1 commit using secrets.CLAUDE_CODE_OAUTH_TOKEN.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant User as "User (PR / Comment)"
    participant GH as "GitHub Events"
    participant Runner as "Actions Runner"
    participant Action as "anthropics/claude-code-action"
    participant Claude as "Claude API"
    User->>GH: open PR / push / comment with `@claude`
    GH->>Runner: schedule workflow job (claude / claude-review)
    Runner->>Runner: checkout repository
    Runner->>Action: run action with token & prompt
    Action->>Claude: send code + prompt (repo, PR)
    Claude-->>Action: review / response
    Action-->>Runner: create comment / PR update
    Runner->>GH: post comment or review via API
    GH-->>User: comment/review appears on PR/issue
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hopped through workflows, light and spry,
I nudged sweet Claude to read and pry,
On PRs and mentions I bound and cheer,
Reviews and comments now appear! 🥕✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Add Claude Code GitHub Workflow' accurately and concisely summarizes the main change: adding two GitHub Actions workflows for Claude Code integration.
Description check ✅ Passed The description covers the summary, testing checklist, and reviewer notes sections as required by the template, with clear explanation of changes and test plan.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch add-claude-github-actions-1775170455622

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (4)
.github/workflows/claude-code-review.yml (2)

28-32: Consider implications of shallow clone for code review.

The workflow uses fetch-depth: 1 for a shallow clone. While this improves performance, it may limit Claude's ability to analyze historical context, commit messages, or perform deeper code analysis across the PR's commit history.

If Claude Code benefits from full git history for better reviews, consider removing the fetch-depth limitation or increasing it:

📝 Optional: Allow full history access
       - name: Checkout repository
         uses: actions/checkout@v4
-        with:
-          fetch-depth: 1

Or fetch more commits for better context:

       - name: Checkout repository
         uses: actions/checkout@v4
         with:
-          fetch-depth: 1
+          fetch-depth: 0
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/claude-code-review.yml around lines 28 - 32, The
workflow's checkout step uses actions/checkout@v4 with fetch-depth: 1 which
creates a shallow clone and can prevent Claude from accessing full commit
history and context; update the checkout step (the actions/checkout invocation)
to either remove the fetch-depth key or set it to a larger number (or
fetch-depth: 0 for full history) so the CI has the needed git history for deeper
code review and analysis.

36-41: Consider pinning the action to a commit SHA for stronger supply chain security.

The anthropics/claude-code-action@v1 is an official action from Anthropics, but using a version tag instead of a commit SHA reduces supply chain security. While this action is legitimate, pinning to a specific commit hash (e.g., anthropics/claude-code-action@abc123...) would prevent unexpected behavior from version updates and align with GitHub security best practices. The secret handling via ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} is correct.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/claude-code-review.yml around lines 36 - 41, Replace the
floating tag anthropics/claude-code-action@v1 with a pinned commit SHA to
improve supply-chain security; locate the GitHub Actions step that uses
anthropics/claude-code-action (the step with inputs claude_code_oauth_token,
plugin_marketplaces, plugins, and prompt) and change the action reference to
anthropics/claude-code-action@<commit-sha> (the specific commit hash you trust)
so the workflow always runs that exact commit instead of the v1 tag.
.github/workflows/claude.yml (2)

40-41: Remove redundant additional_permissions configuration.

The additional_permissions setting at lines 40-41 grants actions: read, but this permission is already declared in the job-level permissions at line 26. This duplication is unnecessary and may cause confusion.

♻️ Remove the redundant configuration
         with:
           claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
 
-          # This is an optional setting that allows Claude to read CI results on PRs
-          additional_permissions: |
-            actions: read
-
           # Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.

The actions: read permission at line 26 is sufficient.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/claude.yml around lines 40 - 41, Remove the redundant
additional_permissions block that re-declares actions: read; locate the
additional_permissions entry (the YAML key named additional_permissions with
value actions: read) in the workflow and delete that block so the job uses the
job-level permissions declaration (permissions: actions: read) instead, leaving
no duplicate permission entries.

28-31: Consider implications of shallow clone.

The workflow uses fetch-depth: 1 for a shallow clone. While this improves performance, it may limit Claude's ability to analyze historical context or perform deeper code analysis.

If Claude Code benefits from git history for better analysis, consider removing the fetch-depth limitation:

📝 Optional: Allow full history access
       - name: Checkout repository
         uses: actions/checkout@v4
-        with:
-          fetch-depth: 1
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/claude.yml around lines 28 - 31, The workflow sets a
shallow clone via actions/checkout@v4 with fetch-depth: 1 which restricts git
history; update the checkout step (actions/checkout@v4) to remove or adjust
fetch-depth (e.g., delete fetch-depth: 1 or set fetch-depth: 0) so the job has
full repository history when deeper code analysis by Claude is required, or add
a conditional input/flag to toggle shallow vs full clone as needed.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/claude.yml:
- Line 35: Replace the mutable action tag uses: anthropics/claude-code-action@v1
with a pinned commit SHA to prevent supply-chain tampering; locate the line
containing "uses: anthropics/claude-code-action@v1" and change the version to
the full commit identifier (e.g., anthropics/claude-code-action@<commit-sha>) so
the workflow references an immutable commit.
- Around line 3-19: The claude job currently runs for any commenter because the
job-level if (the multiline condition in the claude job) only checks event body
contents; add an authorization check so the job only proceeds when the actor has
write/admin permissions. Concretely, keep the existing if filter but add an
initial step in the claude job (or replace the job-level if with a combined
guard) that calls the GitHub REST API to fetch the collaborator permission for
github.actor (repos.getCollaboratorPermissionLevel) and abort/exit the job
unless the permission is "write" or "admin" (or otherwise compare against an
allowlist); reference the job name claude and the existing if condition when
locating where to insert this permission-check step. Ensure the job stops early
(non-zero exit or uses conditional outputs) to avoid consuming
CLAUDE_CODE_OAUTH_TOKEN when the actor is not authorized.

---

Nitpick comments:
In @.github/workflows/claude-code-review.yml:
- Around line 28-32: The workflow's checkout step uses actions/checkout@v4 with
fetch-depth: 1 which creates a shallow clone and can prevent Claude from
accessing full commit history and context; update the checkout step (the
actions/checkout invocation) to either remove the fetch-depth key or set it to a
larger number (or fetch-depth: 0 for full history) so the CI has the needed git
history for deeper code review and analysis.
- Around line 36-41: Replace the floating tag anthropics/claude-code-action@v1
with a pinned commit SHA to improve supply-chain security; locate the GitHub
Actions step that uses anthropics/claude-code-action (the step with inputs
claude_code_oauth_token, plugin_marketplaces, plugins, and prompt) and change
the action reference to anthropics/claude-code-action@<commit-sha> (the specific
commit hash you trust) so the workflow always runs that exact commit instead of
the v1 tag.

In @.github/workflows/claude.yml:
- Around line 40-41: Remove the redundant additional_permissions block that
re-declares actions: read; locate the additional_permissions entry (the YAML key
named additional_permissions with value actions: read) in the workflow and
delete that block so the job uses the job-level permissions declaration
(permissions: actions: read) instead, leaving no duplicate permission entries.
- Around line 28-31: The workflow sets a shallow clone via actions/checkout@v4
with fetch-depth: 1 which restricts git history; update the checkout step
(actions/checkout@v4) to remove or adjust fetch-depth (e.g., delete fetch-depth:
1 or set fetch-depth: 0) so the job has full repository history when deeper code
analysis by Claude is required, or add a conditional input/flag to toggle
shallow vs full clone as needed.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 1f5104a3-259e-446b-9b52-a9e46c4f0146

📥 Commits

Reviewing files that changed from the base of the PR and between 418c4e7 and 048ef54.

📒 Files selected for processing (2)
  • .github/workflows/claude-code-review.yml
  • .github/workflows/claude.yml

Comment thread .github/workflows/claude.yml Outdated
Comment thread .github/workflows/claude.yml Outdated
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 048ef546a0

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/claude-code-review.yml
@POWERFULMOVES
Copy link
Copy Markdown
Owner Author

z890-claude Infra Security Review

Reviewed from infrastructure perspective. 4 security concerns that should be addressed before merge:

1. Authorization Gap (CRITICAL)

claude.yml triggers for any commenter mentioning @claude:

types: [created]
# No check that github.actor has write access

This means any drive-by PR commenter can consume the CLAUDE_CODE_OAUTH_TOKEN. Needs a permission gate step — check github.actor against repo collaborators or require write permission before proceeding.

2. Supply Chain: Floating Tag

Both workflows pin to anthropics/claude-code-action@v1 (floating tag). For supply chain security, pin to a specific commit SHA:

# Instead of:
uses: anthropics/claude-code-action@v1
# Use:
uses: anthropics/claude-code-action@<full-sha>

3. Shallow Clone Limits Context

fetch-depth: 1 limits git history available to Claude for review:

with:
  fetch-depth: 1  # Claude can't see commit history for context

Consider fetch-depth: 0 or at least a deeper fetch for better review quality.

4. Redundant Permission Declaration

claude.yml declares actions: read both at job level and via additional_permissions:

permissions:
  actions: read  # declared here...
additional_permissions: "actions: read"  # ...and here

One of these is redundant.


Recommended Owner

4090-claude — PR triage is 4090's cognitive strength. The security fixes above are well-defined changes that fit 4090's pattern-matching lane. z890 stays available for infra re-review after fixes land.

Verdict

NEEDS REWORK — security concerns #1 and #2 are merge-blocking. #3 and #4 are advisory.

hunnibear and others added 3 commits April 3, 2026 15:42
…stations

Phase 1-2 of TAC_CLAUDE_GITHUB_INTEGRATION:

claude.yml:
- Fix permissions: read → write for contents, pull-requests, issues
- Add attestations: write (SLSA v1 Build Level 3 prep)

claude-code-review.yml:
- Fix permissions: read → write (Claude can now post review comments)
- Add attestations: write (SLSA prep)
- Add actions: read (CI result access)
- Add path filtering: only triggers on code changes (.py, .js, .ts, .sh,
  Dockerfile, compose, Makefile, workflows) — skips docs-only PRs
- Add concurrency group: cancels duplicate runs on rapid pushes
- Skip draft PRs: if: github.event.pull_request.draft == false

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Resolves 3 review comments on PR #1179:

1. CodeRabbit Critical: External contributors could trigger @claude mentions
   → Added author_association guard (OWNER/MEMBER/COLLABORATOR only)

2. CodeRabbit Major: Mutable @v1 tag is supply chain risk
   → Pinned to SHA 1eddb334cfa79fdb21ecbe2180ca1a016e8e7d47

3. Codex P1: code-review plugin --comment flag
   → Deferred: claude-code-action handles posting via GitHub API permissions,
     not via CLI flags. The write permissions added in prior commit enable this.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
actions: read is already declared in job-level permissions (line 38),
making the additional_permissions input a no-op duplicate.

Resolves CodeRabbit nitpick on PR #1179.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@POWERFULMOVES
Copy link
Copy Markdown
Owner Author

Final review cleanup — commit 5430800

Addressed

  • Redundant additional_permissions (CodeRabbit nitpick): Removed the additional_permissions: actions: read block from claude.yml — this permission was already declared at job-level (line 38), making the input a no-op duplicate.

Intentionally kept as-is

  • fetch-depth: 1 shallow clone: Both workflows intentionally use shallow clone. The claude-code-action manages its own git context internally. Full history (fetch-depth: 0) is unnecessary and wastes CI time on this 20+ submodule monorepo.
  • actions/checkout@v4 mutable tag: First-party GitHub action — mutable tag is standard practice and low supply-chain risk compared to third-party actions. SHA-pinning reserved for third-party actions (claude-code-action).

Thread status

Thread Status
Critical — author association guard ✅ Fixed in 331cd8e
Major — SHA pinning ✅ Fixed in 331cd8e
Codex P1 — --comment flag ✅ Deferred (action handles posting via API)
Nitpick — redundant additional_permissions ✅ Fixed in 5430800
Nitpick — fetch-depth shallow clone ✅ Kept intentionally

All review findings addressed. PR ready for merge.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.github/workflows/claude.yml (1)

41-44: Consider increasing fetch-depth for richer context.

The shallow clone (fetch-depth: 1) limits the git history available to Claude when analyzing code. For mention-triggered tasks that may benefit from understanding code evolution (e.g., "why was this changed?"), a deeper or full clone provides commit messages, blame data, and file history.

This is advisory and can be deferred if storage/speed tradeoffs are a concern.

Optional: Increase fetch depth
       - name: Checkout repository
         uses: actions/checkout@v4
         with:
-          fetch-depth: 1
+          fetch-depth: 0  # Full history for commit context

Alternatively, use a bounded depth like fetch-depth: 50 to balance context with performance.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/claude.yml around lines 41 - 44, The workflow currently
sets a shallow clone via the actions/checkout step using "uses:
actions/checkout@v4" with "fetch-depth: 1"; update that checkout step to
increase or remove the fetch-depth setting (for example set fetch-depth: 50 or
remove the key entirely) so the runner gets richer Git history for analysis and
blame; change only the fetch-depth value in the checkout block to the desired
depth to balance context vs performance.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/claude.yml:
- Around line 41-44: The workflow currently sets a shallow clone via the
actions/checkout step using "uses: actions/checkout@v4" with "fetch-depth: 1";
update that checkout step to increase or remove the fetch-depth setting (for
example set fetch-depth: 50 or remove the key entirely) so the runner gets
richer Git history for analysis and blame; change only the fetch-depth value in
the checkout block to the desired depth to balance context vs performance.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 25ee0cef-45fd-42e5-8927-943280437b0b

📥 Commits

Reviewing files that changed from the base of the PR and between 331cd8e and 5430800.

📒 Files selected for processing (1)
  • .github/workflows/claude.yml

@POWERFULMOVES
Copy link
Copy Markdown
Owner Author

Review requested — adds Claude Code GitHub Actions workflow. @POWERFULMOVES ready for z890-claude review.

@POWERFULMOVES
Copy link
Copy Markdown
Owner Author

Review Summary

Core security issues (author_association guard + SHA pin) already fixed in 331cd8e. ✅

Recommended improvement before merge: Tighten workflow permissions:

  • claude-code-review.yml: Reduce to contents: read, pull-requests: write, issues: read — review action only needs to read code and post PR comments
  • claude.yml: Keep contents: write + pull-requests: write, but remove attestations: write and id-token: write unless specifically needed for signing

Not blocking, but reduces the attack surface if CLAUDE_CODE_OAUTH_TOKEN is ever leaked.


🤖 Generated with Claude Code

POWERFULMOVES pushed a commit that referenced this pull request Apr 9, 2026
Two coordinated fixes so \`make -C pmoves pr-monitor\` surfaces real PRs
from POWERFULMOVES/PMOVES.AI instead of the confusing
"No PRs found for repo=openclaw/openclaw state=open base=PMOVES.AI-Edition-Hardened"
error.

1. pmoves/tools/pr_monitor.py — _repo_name() now prefers the origin
   remote URL over \`gh repo view\`. On checkouts with both origin (the
   POWERFULMOVES fork being worked on) and upstream (openclaw/openclaw),
   \`gh\` auto-detect returns the upstream, which is wrong. Parses both
   SSH (git@github.com:owner/repo.git) and HTTPS
   (https://github.com/owner/repo.git) remote URL formats.

   Also changes the --base default from PMOVES.AI-Edition-Hardened to
   main. The hardened branch is the submodule tier-llm base, not the
   top-level repo default, so top-level PR monitoring should target
   main. Submodule tier monitoring can still override via
   \`--base PMOVES.AI-Edition-Hardened\` or the PR_MONITOR_BASE env var.

2. pmoves/mk/preflight.mk — pr-monitor and pr-monitor-strict targets
   now:
   - Pass PR_MONITOR_REPO through as \`--repo\` when set (wasn't forwarded
     before)
   - Default PR_MONITOR_BASE to main instead of PMOVES.AI-Edition-Hardened

Verification (before and after on a checkout with upstream=openclaw):

  Before:
    $ make -C pmoves pr-monitor
    No PRs found for repo=openclaw/openclaw state=open base=PMOVES.AI-Edition-Hardened

  After:
    $ make -C pmoves pr-monitor
    | PR | Mergeable | Checks (P/F/Q) | Review (A/N/OOD) | Blockers | Title |
    | #1179 | MERGEABLE/BLOCKED | 8/1/0 | ... | Add Claude Code GitHub Workflow |
    | #1189 | MERGEABLE/BLOCKED | 18/0/0 | ... | fix(hooks): CHIT bypass ...    |
    ... (7 PRs total)

The env var override also works:
    $ make -C pmoves pr-monitor PR_MONITOR_REPO=POWERFULMOVES/PMOVES.AI

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
POWERFULMOVES pushed a commit that referenced this pull request Apr 10, 2026
Two coordinated fixes so \`make -C pmoves pr-monitor\` surfaces real PRs
from POWERFULMOVES/PMOVES.AI instead of the confusing
"No PRs found for repo=openclaw/openclaw state=open base=PMOVES.AI-Edition-Hardened"
error.

1. pmoves/tools/pr_monitor.py — _repo_name() now prefers the origin
   remote URL over \`gh repo view\`. On checkouts with both origin (the
   POWERFULMOVES fork being worked on) and upstream (openclaw/openclaw),
   \`gh\` auto-detect returns the upstream, which is wrong. Parses both
   SSH (git@github.com:owner/repo.git) and HTTPS
   (https://github.com/owner/repo.git) remote URL formats.

   Also changes the --base default from PMOVES.AI-Edition-Hardened to
   main. The hardened branch is the submodule tier-llm base, not the
   top-level repo default, so top-level PR monitoring should target
   main. Submodule tier monitoring can still override via
   \`--base PMOVES.AI-Edition-Hardened\` or the PR_MONITOR_BASE env var.

2. pmoves/mk/preflight.mk — pr-monitor and pr-monitor-strict targets
   now:
   - Pass PR_MONITOR_REPO through as \`--repo\` when set (wasn't forwarded
     before)
   - Default PR_MONITOR_BASE to main instead of PMOVES.AI-Edition-Hardened

Verification (before and after on a checkout with upstream=openclaw):

  Before:
    $ make -C pmoves pr-monitor
    No PRs found for repo=openclaw/openclaw state=open base=PMOVES.AI-Edition-Hardened

  After:
    $ make -C pmoves pr-monitor
    | PR | Mergeable | Checks (P/F/Q) | Review (A/N/OOD) | Blockers | Title |
    | #1179 | MERGEABLE/BLOCKED | 8/1/0 | ... | Add Claude Code GitHub Workflow |
    | #1189 | MERGEABLE/BLOCKED | 18/0/0 | ... | fix(hooks): CHIT bypass ...    |
    ... (7 PRs total)

The env var override also works:
    $ make -C pmoves pr-monitor PR_MONITOR_REPO=POWERFULMOVES/PMOVES.AI

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…depth 0

- Bump anthropics/claude-code-action from ancient SHA to v1.0.96
- Align checkout action with repo convention (v4 → v6)
- Enable full git history (fetch-depth 0) for proper diff analysis

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@POWERFULMOVES POWERFULMOVES merged commit 06ac005 into main Apr 15, 2026
11 of 12 checks passed
@POWERFULMOVES POWERFULMOVES deleted the add-claude-github-actions-1775170455622 branch April 21, 2026 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants