Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/daily-regen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ jobs:
uses: anthropics/claude-code-action@1298632ce7736903d02a1435002705aa2a594a6c # v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
claude_args: '--model haiku'
claude_args: '--model haiku --settings ${{ github.workspace }}/.claude/settings.json'
allowed_bots: '*'
prompt: |
Read `prompts/workflow-prompts/spec-polish-claude.md` and follow those instructions.
Expand All @@ -246,7 +246,7 @@ jobs:
uses: anthropics/claude-code-action@1298632ce7736903d02a1435002705aa2a594a6c # v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
claude_args: '--model haiku'
claude_args: '--model haiku --settings ${{ github.workspace }}/.claude/settings.json'
allowed_bots: '*'
prompt: |
Read `prompts/workflow-prompts/impl-similarity-claude.md` and follow those instructions.
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/impl-generate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ jobs:
uses: anthropics/claude-code-action@1298632ce7736903d02a1435002705aa2a594a6c # v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
claude_args: "--model ${{ steps.inputs.outputs.model }}"
claude_args: "--model ${{ steps.inputs.outputs.model }} --settings ${{ github.workspace }}/.claude/settings.json"
# bulk-generate dispatches us from the github-actions bot; explicitly allow it.
allowed_bots: '*'
prompt: |
Expand All @@ -445,7 +445,7 @@ jobs:
uses: anthropics/claude-code-action@1298632ce7736903d02a1435002705aa2a594a6c # v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
claude_args: "--model ${{ steps.inputs.outputs.model }}"
claude_args: "--model ${{ steps.inputs.outputs.model }} --settings ${{ github.workspace }}/.claude/settings.json"
# bulk-generate dispatches us from the github-actions bot; explicitly allow it.
allowed_bots: '*'
prompt: |
Expand Down Expand Up @@ -699,7 +699,7 @@ jobs:
'specification_id': spec,
'created': created_ts,
'updated': ts,
# Reflects what claude_args=`--model {model}` actually runs: whatever
# Reflects what claude_args='--model {model}' actually runs: whatever
# Claude Code's current alias for the chosen model resolves to.
# Use the family name instead of a frozen version string so the
# metadata doesn't go stale every model release.
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/impl-repair.yml
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ jobs:
uses: anthropics/claude-code-action@1298632ce7736903d02a1435002705aa2a594a6c # v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
claude_args: "--model ${{ inputs.model || 'sonnet' }}"
claude_args: "--model ${{ inputs.model || 'sonnet' }} --settings ${{ github.workspace }}/.claude/settings.json"
allowed_bots: '*'
prompt: |
Read `prompts/workflow-prompts/impl-repair-claude.md` and follow those instructions.
Expand All @@ -183,7 +183,7 @@ jobs:
uses: anthropics/claude-code-action@1298632ce7736903d02a1435002705aa2a594a6c # v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
claude_args: "--model ${{ inputs.model || 'sonnet' }}"
claude_args: "--model ${{ inputs.model || 'sonnet' }} --settings ${{ github.workspace }}/.claude/settings.json"
allowed_bots: '*'
prompt: |
Read `prompts/workflow-prompts/impl-repair-claude.md` and follow those instructions.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/impl-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ jobs:
ATTEMPT: ${{ steps.attempts.outputs.display }}
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
claude_args: "--model ${{ steps.pr.outputs.model }}"
claude_args: "--model ${{ steps.pr.outputs.model }} --settings ${{ github.workspace }}/.claude/settings.json"
allowed_bots: '*'
prompt: |
Read `prompts/workflow-prompts/ai-quality-review.md` and follow those instructions.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/report-validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
ISSUE_USER: ${{ github.event.issue.user.login }}
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
claude_args: "--model opus"
claude_args: "--model opus --settings ${{ github.workspace }}/.claude/settings.json"
prompt: |
## Task: Validate Issue Report

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/spec-create.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
ISSUE_USER: ${{ github.event.issue.user.login }}
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
claude_args: "--model opus"
claude_args: "--model opus --settings ${{ github.workspace }}/.claude/settings.json"
prompt: |
## Task: Create New Specification

Expand Down Expand Up @@ -186,7 +186,7 @@ jobs:
ISSUE_USER: ${{ github.event.issue.user.login }}
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
claude_args: "--model opus"
claude_args: "--model opus --settings ${{ github.workspace }}/.claude/settings.json"
prompt: |
## Task: Create New Specification

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/util-claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
uses: anthropics/claude-code-action@1298632ce7736903d02a1435002705aa2a594a6c # v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
claude_args: "--model opus"
claude_args: "--model opus --settings ${{ github.workspace }}/.claude/settings.json"

# This is an optional setting that allows Claude to read CI results on PRs
additional_permissions: |
Expand All @@ -56,7 +56,7 @@ jobs:
uses: anthropics/claude-code-action@1298632ce7736903d02a1435002705aa2a594a6c # v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
claude_args: "--model opus"
claude_args: "--model opus --settings ${{ github.workspace }}/.claude/settings.json"

additional_permissions: |
actions: read
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,18 @@ aggregate instead: an italic *Catalog* line at the end of the version section an

### Fixed

- **The whole Claude pipeline generates again — CI runs pass the repo's permission allowlist
explicitly** — since the July 5 `claude-code-action` bump (bundled CLI 2.1.170 → 2.1.195, by
now 2.1.211), Claude Code ignores `permissions.allow` from a committed `.claude/settings.json`
in untrusted workspaces, and a CI checkout is never trusted; every impl-generate/repair, spec-create, polish and similarity run
had its Write/Edit/Bash calls silently denied (19–20 denials per run, zero files produced,
zero implementations generated repo-wide since July 1). All 12 `claude-code-action` steps now
pass `--settings .claude/settings.json` in `claude_args`, which the trust gate honors as an
explicit opt-in (#9651).
- **Metadata step no longer executes a comment as a command** — a backtick-quoted fragment
inside the double-quoted Python heredoc of impl-generate's "Create library metadata file"
step was command-substituted by bash (`--model: command not found` in every run log); the
comment now uses single quotes (#9651).
- **Tag search uses the GIN index and stops treating `%`/`_` as wildcards** —
`SpecRepository.search_by_tags` cast the JSONB `tags` column to text and ran LIKE, which the
`ix_specs_tags` GIN index can never serve (sequential scan on every MCP tag search) and which
Expand Down
Loading