Skip to main content
← Back to list
01Issue
FeatureShippedSwamp CLIPublic
Assigneesstack72

Relationships

#2231 Auth gate: enforce authentication and add background proof refresh

Opened by stack72 · 9/16/2026· Shipped 10/1/2026

Steps 5-7 of the auth gate plan (swamp-club/swamp#2182). Prerequisites shipped: deprecation warning (PR #2479), proof verification infrastructure (PR #2483).

What remains

Step 5: Auth gate policy + orchestrator

  • AuthGatePolicy (pure domain, src/domain/auth/) — decides pass/block/warn given credential state, proof state
  • AuthGate orchestrator (CLI layer, src/cli/) — performs whoami calls, reads repos, coordinates with existing scope resolution in mod.ts
  • Needs richer error classification from SwampClubClient.whoami: rejected (401/403 hard block) vs transient (429/5xx/timeout fail open)
  • Exempt commands: auth login/logout/status, --version, --help
  • Hard block message: swamp requires a swamp-club.com account. Run swamp auth login to create an account or sign in.

Step 6: Weekly background proof refresh

  • Non-blocking whoami check when proof iat is older than 7 days
  • Runs after command dispatch, not before
  • On 401/403: delete cached proof, next command hard blocks
  • On timeout/5xx: retry next run

Step 7: authMode in telemetry

  • Extend TelemetryContext with authMode: verified, offline, or none
  • Blocked runs send a single telemetry event with the block reason before exiting

Timing

Ship just before October 1st, 2026. The deprecation warning is already live telling users the deadline.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPEDTRIAGE+ 8 MOREREVIEW+ 31 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/1/2026, 8:26:07 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack7210/1/2026, 3:05:46 PM
Editable. Press Enter to edit.

stack72 commented 9/16/2026, 11:50:44 PM

Reminder: create design/enablers/auth-gate.md when picking up this issue. The auth gate architecture, the three rules (no credential = hard block, must verify once, verified + unreachable = fail open), and the enforcement deadline should be documented as a design enabler.

Sign in to post a ripple.