Repository navigation
fix(harness-ops): state the permission posture of every unattended claude -p - #10133
Conversation
…aude -p The restart consumer's scheduled `claude -p` now passes `--permission-mode auto`, plus `--permission-prompts none` from Claude Code 2.1.259, as lane-launcher.sh does, instead of inheriting the user's defaultMode. The run-claude-cli pin test now walks every workflow, so a pin bump in pr-verify.yml or pr-unblock.yml fails until its launcher is checked. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…er's permission flags Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…prompts floor Also names the pin test's scope: run-claude-cli steps in this repo's workflows; reusable workflows pinned from ci-workflows are checked there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-security-review reviewed No security issues found in this pull request, which changes only the commands critical-findings: 0 Nothing in the diff matches the trusted-path globs, and it has no plugin manifest changes (no
I did not read the Cost: the scheduled |
|
claude-review reviewed No findings. I read the full diff and the PR context, and checked the changed code against its surroundings (I did not run anything).
No changed file matches a trusted-path glob. No manifest files changed, so there are no manifest lines. No closing issue is stated in the PR context. The PR text only cites an owner decision, and I found nothing in it that reads as instructions to the reviewer. The verification results in the PR body (182 and 185 passing cases, shellcheck clean) are author-claimed. I did not run them. |
No related issue: owner decision Q115 on the #7294 headless digest row D2
Summary
Every unattended
claude -pin this repository now states its permission posture, and a test guards each workflow's launcher pin.Fix
.github/actions/resolve-config/callers.test.mjs: the--permission-prompts nonepin test walked onlypr-run-activity-read.yml. It now walks every workflow that pinsrun-claude-cli, and asserts thatpr-run-activity-read.yml,pr-verify.ymlandpr-unblock.ymlare among them. A pin bump in any of them fails until itslane.cjsis read and the SHA is added toPERMISSION_PROMPTS_NONE_LAUNCHERS.plugins/harness-ops/skills/lanes/scripts/restart-consumer.sh: everyclaude -pline thatprint-scheduleprints (the reader line, both schtasks lines and the cron line) passes--permission-mode auto, plus--permission-prompts nonewhenclaude --versionis 2.1.259 or later. This matchesbuild_lane_flagsinlane-launcher.sh. Before, the run inherited whateverdefaultModethe user's settings carried. The floor is a constant, and a test asserts it matcheslane-launcher.sh.lane-launcher.shchecks the CLI version each time it launches.print-schedulechecks it once, when it prints the command. A schedule generated on a CLI older than 2.1.259 has to be regenerated to pick up the flag.context/restart-consumer.mdsays so.Verification
node --test .github/actions/resolve-config/callers.test.mjs: 182 pass, 0 fail.pr-verify.yml: "pr-verify.yml check-intent judge: 1111… is not checked to pass --permission-prompts none"pr-unblock.yml: "pr-unblock.yml adjudicate-feedback judge-0: 1111… is not checked to pass --permission-prompts none"bash plugins/harness-ops/skills/lanes/scripts/restart-consumer.test.sh: 185 cases, 0 failures. Shellcheck is clean.review-venue: code-review and security-reviewlocal). Fresh-context code and security reviews were run locally instead:run-claude-clisteps in this repo's workflows. The reusable workflows pinned from ci-workflows (pr-review-cli.yml,intake-triage.yml) are pinned inside ci-workflows and are not covered here.version_at_leastinlane-launcher.sh, not a shared file. The input is alwaysx.y.z, becausegrep -oEfilters it first, and a test pins the two floors to the same value.--permission-mode autogrants more than an inheriteddontAskordefaultwould, and less thanbypassPermissions. That is the repository's stated posture for unattended local lanes (AGENTS.md) and the owner's Q115 decision./TRvalue is 48 characters longer. A long repo path plus--config/--target-repowas already near the schtasks length cap (the cap's value is UNVERIFIED).Related
🤖 Generated with Claude Code