Skip to content

fix(autopilot): install action-library plugins in CI + PAT retry re-label - #59

Merged
pcamarajr merged 10 commits into
mainfrom
fix/autopilot-ci-plugins
Aug 24, 2026
Merged

fix(autopilot): install action-library plugins in CI + PAT retry re-label#59
pcamarajr merged 10 commits into
mainfrom
fix/autopilot-ci-plugins

Conversation

@pcamarajr

Copy link
Copy Markdown
Owner

Two executor-path fixes found while preparing milestone 2:

  • Plugins were never installed in CI. claude-code-action@v1 doesn't read the target repo's .claude/settings.json; the executor/gates/metrics prompts invoke /astro-builder:audit, /content-ops:review-content, etc., which would all fail. Each invocation now passes plugin_marketplaces + plugins explicitly (executor gets all three library plugins; each gate gets only what it uses).
  • Retries were silently inert. The retry step re-added autopilot:run with the default GITHUB_TOKEN, whose label events never trigger workflows (same anti-recursion rule as the P0 fixed in feat(autopilot): init skill — scaffold the loop's control-plane surface #57). It now uses AUTOPILOT_PAT.

🤖 Generated with Claude Code

pcamarajr and others added 10 commits August 24, 2026 17:37
…retry re-label

claude-code-action does not read the target repo's .claude/settings.json,
so the executor, gates, and metrics workflows now install the content-stack
plugins explicitly via plugin_marketplaces/plugins inputs. The retry step
re-adds autopilot:run with AUTOPILOT_PAT — a GITHUB_TOKEN label event never
re-triggers the executor, so retries were silently inert.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…lable

Private repos on the GitHub Free plan cannot enable allow_auto_merge or
branch protection. The auto-merge job already runs behind all four gates,
so falling back to a direct squash merge is equivalent there; SKILL.md
documents the plan limitation and its trust implications.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Found live on the sandbox: the action fails during setup with 'Could not
fetch an OIDC token' without it, even when authenticating via
anthropic_api_key.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- build job: setup-node + corepack (pnpm was exit 127 on a bare runner)
- executor action gets github_token: AUTOPILOT_PAT so task PRs are
  authored by the PAT identity, not claude[bot]
- gate actions allow the claude bot actor as fallback

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Both gates completed their reviews on the live sandbox run but exceeded
--max-turns 20 (26 and 21 turns), failing the action on principle.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The job checks out with fetch-depth: 0; re-fetching base --depth=1
clobbers origin/<base> and loses the merge base once base advances,
failing the three-dot diff with 'no merge base'.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- audit/anti-slop gates post their P0/Must Fix findings as PR comments
  before writing the sentinel (red gates were silent — findings lived
  only in the unlogged Claude final message)
- new report-failure job comments on the PR and the task issue when any
  gate fails, closing the triage loop
- executor self-reviews content with /content-ops:review-content before
  opening the PR so articles don't systematically bounce off the gate

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… whole-repo

Found live: a pre-existing P0 (site missing in astro.config) blocked a
clean content PR. The repo must pass /astro-builder:audit before the
loop is activated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…resets on unblock

The executor prompt orders plugin-skill invocations but Skill was not in
--allowedTools, so the run died on a permission denial. Retry counting
now only considers failure markers newer than the last autopilot:blocked
un-label, so a human unblock grants a fresh retry budget instead of
stale markers sending the task straight back to blocked.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@pcamarajr
pcamarajr merged commit 6d96c47 into main Aug 24, 2026
1 check passed
@github-actions github-actions Bot mentioned this pull request Aug 24, 2026
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.

1 participant