Files
small-scripts/memory/log/2026-04-12.003747.md
Paul O'Reilly 340c40392a End-of-session: statusline + session-start integration, docs update
- context: claude-profile-modes updated to reflect current state (statusline
  and session-start auto-select done; next step is real launch test)
- FUTURE.md: remove two completed items (status-line, CLAUDE.md picker)
- README: add missing scripts (check-skills, gen-secret, mp3-to-mp4,
  split-wezterm, sync-repos) to scripts table
- session log 2026-04-12.003747.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 00:40:17 +12:00

27 lines
2.4 KiB
Markdown

# Session Log — 2026-04-12
## Summary
Completed two claude-profile integration pieces: (1) statusline.sh now reads `CLAUDE_CONFIG_DIR/active-mode.env` to show `[Sonnet→Opus] deep · topic` format when launched via claude-profile; (2) root CLAUDE.md session-start now auto-selects project from cwd or `CLAUDE_PROJECT` in active-mode.env, skipping the interactive picker. Added `escalates_to` frontmatter field to all 5 mode files, committed and pushed (commit 143b325).
## Decisions
- Decision: Added `escalates_to` field to mode file frontmatter rather than hardcoding which modes get the →Opus arrow in statusline.sh — Rationale: keeps the statusline.sh generic; any future mode can declare its own escalation target without touching the statusline
- Decision: statusline.sh reads CLAUDE_DRIVER (short name) from active-mode.env rather than using model.display_name from session JSON — Rationale: session JSON shows full name ("Claude Sonnet 4.6"), driver is the concise name ("Sonnet") the status format requires; also future-proofs against model renames
- Decision: Used `grep | cut` rather than `source` to read active-mode.env in statusline.sh — Rationale: safer than sourcing untrusted files, and `set -euo pipefail` means a sourced file with any errors would abort the status line
## Gotchas Discovered
- **[bash]** Symptom: Edit tool refuses to edit a file — Fix: Read tool must be called first even if you've already seen file contents via Bash. The Edit tool tracks which files have been explicitly Read (not just seen in bash output). Use parallel Read calls before parallel Edit calls.
## Key Context
- statusline.sh lives at `~/.claude/status/statusline.sh` — not in a git repo, changes are live immediately with no commit
- The root `~/dev/claude/CLAUDE.md` session-start instructions were updated but that file is also not in any git repo (it's just a file in the filesystem); changes are live immediately
- Next step before considering claude-profile "done": install symlink (`ln -sf "$HOME/dev/claude/small-scripts/scripts/claude-profile" "$HOME/sbin/claude-profile"`) and do a real launch test
## Process Notes
- Sonnet 4.6 has a 200k context window, no extended context option. `opus-1m` refers to Opus with 1M window.
- The "Memory files" category in `/context` includes both CLAUDE.md project instructions (6k) and auto-memory MEMORY.md (1.4k) — two different systems with different purposes