chore(autopilot-core): add codeowners, harden workflow permissions, extend operator timeout coverage#14
Conversation
Enterprise governance hardening: - Add explicit /.github/ ownership to CODEOWNERS where missing. - Add top-level least-privilege permissions (default contents: read) to workflows lacking one, granting only the scopes each needs. - Add timeout-minutes to jobs missing one. YAML hardening only; no build logic, scripts, or step contents changed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e80eaab999
ℹ️ 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".
| operator: | ||
| runs-on: [self-hosted, Windows] | ||
| # Cover the intended batch work: clone, Codex, dependency install, and tests. | ||
| timeout-minutes: 60 |
There was a problem hiding this comment.
Avoid shortening operator timeout below default
With the default MAX_ISSUES of 5, this job can legitimately spend more than an hour across Codex plus dependency installs and tests. GitHub's workflow syntax docs state that timeout-minutes auto-cancels the job and defaults to 360 minutes, so this new 60-minute cap is a sixfold reduction from the previous behavior; when it fires after Run operator has removed queued and added in-progress, PowerShell never reaches the catch block that marks the issue blocked, recreating the stranded in-progress state this change is meant to prevent.
Useful? React with 👍 / 👎.
| jobs: | ||
| installer: | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 15 |
There was a problem hiding this comment.
Keep installer runs from timing out mid-repo
On orgs where the repository loop takes over 15 minutes, especially when opted-in repos are cloned, committed, pushed, and PR-created, this new cap can cancel the shell in the middle of a repo. The workflow previously inherited GitHub's 360-minute default; after cancellation between git push -u origin "autopilot/install-intake" and gh pr create, later runs still see no intake workflow on the default branch but the remote branch already exists, so the non-forced push fails and the repo remains stuck without an installer PR.
Useful? React with 👍 / 👎.
Summary
.github/CODEOWNERSand hardens permissions/timeouts acrossautopilot-create-issue.yml,autopilot-docs-daily.yml,autopilot-operator.yml,autopilot-org-installer.yml,codeql.yml,pages.yml,pr-lint.yml,stale.ymlmemory/examples/20260704_operator-timeout-safe.md) and a contract-tests.ps1 update11 files changed, +32.
Part of the Phase 30 release train (
.planning/phases/30-release-train-and-branch-hygiene/).🤖 Generated with Claude Code