- Add statusline.sh and set-topic.sh for per-session status line topics - Update context-load with improved directory walking and output format - Update CLAUDE.md with status line docs and early-call safety note - Update MEMORY.md and README.md with new script/skill entries - Add memory files: script-statusline, skill-decompose, skill-orchestrate, gotchas-gitea - Add networking.md best practice (nftables, systemd sockets, Docker forwarding, TLS) - Update best practices from prior distill: documentation, kubernetes, scripting, secrets-management, skills-development - Prune reflected session logs, add new session logs - Update reflection state Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.0 KiB
2.0 KiB
Session Log — 2026-03-23
Summary
Set up a persistent status line for Claude Code that displays session topic, model name, and context window percentage. Scripts were created, moved into claude-foundations, and documentation updated across CLAUDE.md, MEMORY.md, and README.md. Status line config was added to all three profile settings files (~/.claude, ~/.claude-octopus, ~/.claude-oreillyit).
Decisions
- Decision: Use per-session topic files at
~/.claude/status/<session-id>/claude-topic.txt— Rationale: Session ID from the status line JSON uniquely identifies each session, allowing multiple concurrent sessions to have independent topics - Decision: Status line script writes session ID to
/tmp/claude-session-id-<md5 of cwd>— Rationale: Claude has no direct access to its own session ID; the status line script bridges this by writing it to a predictable path keyed by working directory - Decision: Canonical scripts live in
claude-foundations/scripts/, symlinked from~/.claude/status/— Rationale: Follows the same pattern as hooks (canonical in repo, symlinked to ~/.claude/) for version control and consistency - Decision: Status line config added to all three profile settings files — Rationale: Each profile (default, octopus, oreillyit) has its own settings.json; statusLine must be present in each
Gotchas Discovered
- [claude-code] Symptom:
set-topic.shfails on the first message of a session because the status line hasn't run yet to write the session ID file — Fix: This is expected; set the topic from the second message onward. The bootstrap caveat is documented in CLAUDE.md and the memory file.
Key Context
- Claude Code status line receives session JSON on stdin with fields:
session_id,model,context_window,cwd,cost,rate_limits, etc. - Status line script runs after each assistant message, debounced at 300ms
- Three profile settings files need to stay in sync:
~/.claude/settings.json,~/.claude-octopus/settings.json,~/.claude-oreillyit/settings.json