Skip to content

cli: read-only invite commands - #3067

Merged
colinmegill merged 3 commits into
edgefrom
invite-cli-read
Oct 16, 2026
Merged

colinmegill merged 3 commits into
edgefrom
invite-cli-read

Conversation

@colinmegill

Copy link
Copy Markdown
Member

Observable change: new CLI commands only, with no server change: polis invite code list, invite wave list, invite list, invite export --output, invite status and conversation uuid, over the existing invite routes. The owner and moderator checks on those routes return 403 to everyone else.

Outputs are explicit projections, CSV export writes only to the given path, and the uuid request is effect-aware (it can mint a key on the server), so an uncertain outcome exits 7. Tests: bash scripts/test-polis-cli.sh (fmt, clippy -D warnings, full test suite including invite integration tests over loopback fixtures).

🤖 Generated with Claude Code

colinmegill and others added 3 commits October 15, 2026 01:57
Adds `polis invite code list`, `invite wave list`, `invite list`,
`invite export`, `invite status` and `conversation uuid` over the existing
invite routes, with explicit output projections, a safe CSV export and the
CLI's usual exit codes. The uuid request can mint a key on the server, so an
uncertain outcome exits 7. No server change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018NVGBuYCk4EZmiz4csUv9s
The invite administration routes now answer 403 with dedicated codes; list
them in the error catalog so clients report forbidden rather than a generic
failure.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018NVGBuYCk4EZmiz4csUv9s
- The permission-lookup failure codes on the invite routes are site faults
  (HTTP 500), so they now report server_error instead of falling into the
  generic "auth" refusal.
- Refusal advice matches the route: the conversation-code read is owner-only,
  while invite waves, invite lists and emailed invites also admit a moderator
  on the owner's site.
- invite list and invite status accept any of a conversation's codes; the
  conversation read may echo a different one.
- An invalid invite response reports outcome "rejected", since a response
  was received.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018NVGBuYCk4EZmiz4csUv9s
@colinmegill
colinmegill merged commit 0397a90 into edge Oct 16, 2026
26 checks passed
@colinmegill
colinmegill deleted the invite-cli-read branch October 16, 2026 01:56
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