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

2.4 KiB

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