fix: clean auth + v5 container monitoring (#95, #45-48)#96
Merged
itscooleric merged 5 commits intodevfrom Mar 24, 2026
Merged
Conversation
CLAUDE_CODE_SIMPLE no longer defaults to 1 — was needed for the old auto-launch-Claude flow but blocks interactive login now that clide launches to bash. Auth subcommands (/login, /logout, etc.) bypass session-logger and run the claude binary directly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…yd supervision (#45-48) - Resource poller (#45): reads /proc + cgroup v2 for CPU, memory, PIDs, FDs, zombies. Writes metrics.jsonl time series every 30s. - ttyd session tracking (#46): polls ss for connections, emits session_open/session_close events to session_events.jsonl. - ttyd supervision (#47): restart loop with exponential backoff (max 5 rapid restarts). Clean shutdown signals propagate normally. - Metrics file for Clem (#48): atomic current.json with latest snapshot. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…bility README: - Auth section rewritten: `claude /login` is now primary, env vars are for headless/CI. Removed stale `setup-token` references. - Web terminal auth documented as required (was misleading "optional") with all three modes (basic auth, proxy, no-auth). - Added egress audit, intercept proxy, and container monitoring sections. - Fixed CLIDE_MAX_SESSIONS default (0, not 30). - Session logging section updated with full directory layout. - Version bump v4 → v5 in banner. RUNBOOK: - OAuth rotation now shows `claude /login` as primary path. - Added `current.json` metrics check to health section. - Added ttyd crash recovery troubleshooting. - Fixed auth troubleshooting to mention all three auth modes. observability.md: - Added v5 container monitoring section (current.json, metrics.jsonl, session tracking, ttyd supervision). - Fixed bogus token example (159M tokens / $343 → 166K / $1.04). - Simplified pricing table (removed cache columns — script handles it). - Fixed MITM cert section (ssl_insecure makes CA install unnecessary). - Fixed bad hostname (objects/raw/uploads → objects + raw). - Added monitoring layer to summary table. session-events-v1.md: - Expanded session_end schema with all fields actually emitted (tokens, cost, signal, claude_session_id, turns). - Fixed CLIDE_MAX_SESSIONS default to 0 in both retention text and table. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CLAUDE_CODE_SIMPLEno longer defaults to1, removing friction withclaude /login. Auth subcommands (/login,/logout,auth,setup-token) bypass session-logger and run the binary directly. Updated no-auth warning to guide users toclaude /login.metrics.jsonlevery 30s.ssfor TCP connections on ttyd port, emitssession_open/session_closeevents tosession_events.jsonl.current.jsonsnapshot written each poll interval, readable via docker exec or shared volume.Test plan
claude /loginworks in a fresh container withoutCLAUDE_CODE_SIMPLEinterferingclaude(no args) still launches through session-logger normallycurrent.jsonis written to/workspace/.clide/metrics/after container startkill $(pgrep ttyd)) and verify it restarts with log messageCLIDE_METRICS_DISABLED=1and verify poller doesn't startsession_events.jsonlfor open/close events🤖 Generated with Claude Code