Skip to content

fix(contract): deny-keys does not count sign-in and sign-out as keyed writes - #373

Merged
leemour merged 1 commit into
mainfrom
fix/deny-keys-sign-in
Nov 14, 2026
Merged

leemour merged 1 commit into
mainfrom
fix/deny-keys-sign-in

Conversation

@leemour

@leemour leemour commented Nov 14, 2026

Copy link
Copy Markdown
Member

Task

A read-only CLI with an OAuth sign-in (gmeet-cli) fails deny-keys with "no command that writes to the service names a permission key in its --dry-run": the contract counts session start and account remove as writes, though sign-in and sign-out carry no permission key on purpose (WC-PERM-5).

What

deny-keys leaves sign-in and sign-out out of that count. A CLI with no other write passes; a real write without a key still fails. Regression tests for both.

Testing

Deny tests 15/15, full suite 175 pass. Against gmeet-cli's contracts/plan.json: 10/10 with the fix; deny-keys fails with 0.7.1.

🤖 Generated with Claude Code

… writes

A read-only CLI whose only remote writes are `session start` and `account
remove` (gmeet-cli) failed deny-keys with "no command that writes to the
service names a permission key". Sign-in and sign-out have no permission
key on purpose (cli-base WC-PERM-5).

cli-core marks these commands with `logsInOrOut`, but the mark lives only
in-process and is not in `commands --json`. Every marked command in
cli-core, tg-cli, max-cli, zoom-cli and gmeet-cli sits at `session start`,
`session end`, `account remove` or `setup`, so the check leaves those paths
out of the write count. Any other remote write still needs a key.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@leemour
leemour merged commit 9029b9f into main Nov 14, 2026
1 check passed
@leemour
leemour deleted the fix/deny-keys-sign-in branch November 14, 2026 00:17
@leemour leemour mentioned this pull request Nov 14, 2026
leemour added a commit that referenced this pull request Nov 14, 2026
Releases #373: `deny-keys` no longer counts sign-in and sign-out as
keyed writes. gmeet-cli's `contracts:check` needs it.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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