Skip to content

chore: drop the skills OAuth scopes the API no longer defines - #98

Merged
justinhelmer merged 1 commit into
mainfrom
chore/drop-dead-skills-scopes
Sep 15, 2026
Merged

justinhelmer merged 1 commit into
mainfrom
chore/drop-dead-skills-scopes

Conversation

@justinhelmer

Copy link
Copy Markdown
Contributor

The CLI's sign-in still asked for three skills:* OAuth scopes for an API that no longer exists. This removes them from the consent request.

What & why

nominal#2912 removed the skills API and cli#95 removed the skill commands, but the scope list in the OAuth flow kept skills:delete, skills:read and skills:write. Nothing in the CLI reads them, so the consent screen shows three scopes that grant nothing. Flagged by the review on #95 as a follow-up.

Tour

1. The scope list

Three entries gone from the requested scopes; the neighbours are unchanged. Existing stored tokens are unaffected, they keep whatever scope string they were issued with.

cli/src/auth/oauth.ts

Lines 74 to 84 in e25bfb4

'oauth_clients:delete',
'oauth_clients:read',
'oauth_clients:write',
'ratings:write',
'repositories:delete',
'repositories:read',
'repositories:write',
'subscriptions:read',
'subscriptions:write',
'teams:delete',
'teams:read',

2. Remaining changes

None.

Validation

  • npm run typecheck against the live spec, npm run lint, npm test 503 pass.
  • grep -rn "skills:" src test README.md skill/SKILL.md is empty.

🤖 Generated with Claude Code

nominal#2912 removed the skills API and cli#95 removed the skill commands;
the sign-in flow still asked for skills:delete/read/write. Nothing consumes
them, so the consent screen lists three scopes that do nothing.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

@coreplane-switchboard coreplane-switchboard Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM: Clean 3-line removal of dead skills:* OAuth scopes; no remaining references anywhere in the codebase.

Verdict: approve — clean, correct dead-scope removal.

  • The diff removes exactly skills:delete, skills:read, skills:write from DEFAULT_SCOPES in src/auth/oauth.ts; neighbours and the .join(' ') are untouched.
  • Verified grep -rn "skills:" across src/test/README turns up nothing — the only remaining DEFAULT_SCOPES uses (auth URL param and device flow body) just consume the joined string, so no code depends on the removed entries.
  • Existing tokens keep their issued scope string, as the PR notes; no migration concern.
  • No docs/reference/specs/ in this repo, no tests touched — nothing to check there.

No findings.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auto-approved: coreplane-switchboard[bot] reviewed this PR and posted an LGTM verdict (see its review). A repo admin enabled this via the auto-approve workflow.

@justinhelmer
justinhelmer merged commit 94c75a4 into main Sep 15, 2026
4 checks passed
@justinhelmer
justinhelmer deleted the chore/drop-dead-skills-scopes branch September 15, 2026 01:57
@justinhelmer

Copy link
Copy Markdown
Contributor Author

Release receipt — shipped in v0.2.35 (cut-release 34919367274, release 34919411832, both green). Published polylane.mjs matches checksums.txt (sha256 031f7dd6395a4cd11757889065fa881fbd80980511626d97fd9b9d90c3b8d7fb), --version → 0.2.35, and the bundle contains no skills:read scope string.

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