You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
administration: write is not a valid GITHUB_TOKEN permission scope in GitHub Actions workflows (it exists only for fine-grained PATs, not for the built-in GITHUB_TOKEN). When GitHub encounters this unknown permission key, it rejects the job before it starts β producing jobs: [] and a 0-second run duration, exactly matching the observed 100% failure rate.
Evidence: every run shows "jobs":[] in the GitHub API, start/end timestamps are identical, and actions/checkout SHA is confirmed correct.
Secondary finding: the check-suites/preferences API endpoint requires a classic PAT with repo scope β OAuth/App tokens are rejected. GITHUB_TOKEN would be rejected here even if the permission issue were resolved.
The repo already has GH_PAT_WORKFLOWS (a classic PAT) configured as a secret, which satisfies both API requirements.
Scope
Replace the invalid administration: write permission with contents: read (needed for checkout) and switch the API token from GITHUB_TOKEN to GH_PAT_WORKFLOWS so the gh api calls in the script can authenticate with admin scope.
N/A β pure CI configuration change (no observable application behaviour to test). Exception applies per Phase 2 rule: "For pure documentation, configuration, or behaviour-preserving refactors with no observable behavioural change, skip this phase."
Dev-lead lint (bash .dev-lead/scripts/dev-lead-lint.sh) will be run as the verification gate.
administration: write is not a valid GITHUB_TOKEN permission scope in GitHub Actions. It exists only for fine-grained personal access tokens, not for the built-in workflow token. When GitHub encounters this unknown permission key in a job's permissions: block it rejects the job before it starts, producing jobs: [] and a 0-second run duration β exactly the observed 100% failure / 0s p50 pattern.
Confirmed via gh api β¦/actions/runs/<id> returning "jobs":[] for every run, including the run on main (run 27109003401).
A second blocker exists independently: the check-suites/preferences PATCH endpoint rejects OAuth/App tokens; it requires a classic PAT with repo scope (documented in standards/github-settings.md#check-suite-auto-trigger-preferences). The repo already has GH_PAT_WORKFLOWS configured for exactly this purpose.
Plan Execution
.github/workflows/apply-repo-settings.yml β replaced administration: write with contents: read; switched GH_TOKEN from secrets.GITHUB_TOKEN to secrets.GH_PAT_WORKFLOWS; updated header comment
Rubber-duck review β diff is 3-line change, no unintended scope creep
Test Results
[lint] shellcheck on 1 file(s)...
[lint] all checks passed
(Phase 2 TDD exception applied: pure CI configuration change β no observable application behaviour to unit-test.)
Files Changed
.github/workflows/apply-repo-settings.yml: removed invalid administration: write permission; added contents: read; switched API token to GH_PAT_WORKFLOWS
Notes
GH_PAT_WORKFLOWS must be a classic PAT with at least repo scope for the security_and_analysis and check-suites/preferences API calls to succeed. If the PAT lacks that scope, the job will now start and fail at the script step (a much more debuggable failure) instead of silently dropping all jobs.
The paths trigger (.github/settings.yml, scripts/apply-repo-settings.sh) is unchanged β correct, since neither file was modified by this fix.
Activity
don-petry commentedon Jun 8, 2026
Dev-Lead Implementation Plan
Issue: #199 β [Fleet Monitor] petry-projects/TalkTerm β apply-repo-settings.yml
Root Cause
administration: writeis not a valid GITHUB_TOKEN permission scope in GitHub Actions workflows (it exists only for fine-grained PATs, not for the built-inGITHUB_TOKEN). When GitHub encounters this unknown permission key, it rejects the job before it starts β producingjobs: []and a 0-second run duration, exactly matching the observed 100% failure rate.Evidence: every run shows
"jobs":[]in the GitHub API, start/end timestamps are identical, andactions/checkoutSHA is confirmed correct.Secondary finding: the
check-suites/preferencesAPI endpoint requires a classic PAT withreposcope β OAuth/App tokens are rejected.GITHUB_TOKENwould be rejected here even if the permission issue were resolved.The repo already has
GH_PAT_WORKFLOWS(a classic PAT) configured as a secret, which satisfies both API requirements.Scope
Replace the invalid
administration: writepermission withcontents: read(needed for checkout) and switch the API token fromGITHUB_TOKENtoGH_PAT_WORKFLOWSso thegh apicalls in the script can authenticate with admin scope.Implementation Checklist
.github/workflows/apply-repo-settings.yml: replaceadministration: writeβcontents: read, switchGH_TOKENtosecrets.GH_PAT_WORKFLOWS, update header commentTests to Write
bash .dev-lead/scripts/dev-lead-lint.sh) will be run as the verification gate.Test Command
bash .dev-lead/scripts/dev-lead-lint.shdon-petry commentedon Jun 8, 2026
Dev-Lead: Implementation Complete
Root Cause
administration: writeis not a validGITHUB_TOKENpermission scope in GitHub Actions. It exists only for fine-grained personal access tokens, not for the built-in workflow token. When GitHub encounters this unknown permission key in a job'spermissions:block it rejects the job before it starts, producingjobs: []and a 0-second run duration β exactly the observed 100% failure / 0s p50 pattern.Confirmed via
gh api β¦/actions/runs/<id>returning"jobs":[]for every run, including the run onmain(run 27109003401).A second blocker exists independently: the
check-suites/preferencesPATCH endpoint rejects OAuth/App tokens; it requires a classic PAT withreposcope (documented instandards/github-settings.md#check-suite-auto-trigger-preferences). The repo already hasGH_PAT_WORKFLOWSconfigured for exactly this purpose.Plan Execution
.github/workflows/apply-repo-settings.ymlβ replacedadministration: writewithcontents: read; switchedGH_TOKENfromsecrets.GITHUB_TOKENtosecrets.GH_PAT_WORKFLOWS; updated header commentshellcheck+ agent profile checks)Test Results
(Phase 2 TDD exception applied: pure CI configuration change β no observable application behaviour to unit-test.)
Files Changed
.github/workflows/apply-repo-settings.yml: removed invalidadministration: writepermission; addedcontents: read; switched API token toGH_PAT_WORKFLOWSNotes
GH_PAT_WORKFLOWSmust be a classic PAT with at leastreposcope for thesecurity_and_analysisandcheck-suites/preferencesAPI calls to succeed. If the PAT lacks that scope, the job will now start and fail at the script step (a much more debuggable failure) instead of silently dropping all jobs..github/settings.yml,scripts/apply-repo-settings.sh) is unchanged β correct, since neither file was modified by this fix.don-petry commentedon Jun 9, 2026
13 remaining items
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦
feat: implement issue #454 β Compliance: ruleset-drift-pr-quality-reqβ¦
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦
feat: implement issue #199 β [Fleet Monitor] petry-projects/TalkTerm β¦