# 2026-04-16 — session wrap, switching to nvim

Short capstone note. The substantive work is captured in two earlier notes
from today:

- `2026-04-16-repo-restructure.md` — umbrella repo created, submodules wired,
  CLAUDE.md / README / architecture docs written, claude_memory/ pattern
  established.
- `2026-04-16-controllers-roughout.md` — plant refactored to thesis naming,
  controller contract locked, `ctrl_null` and `ctrl_operation` built,
  validated live in MATLAB (ctrl_operation cuts T_avg drift by ~47% under
  a 100%→80% Q_sg step).

Both notes have the full paths-touched lists.

## Last-minute adds

- **MATLAB terminal invocation (from `plant-model/CLAUDE.md`):** 
  `matlab -nodesktop -nosplash -r "main"` — runs from the terminal, figures
  open in their own windows, drops at `>>` prompt. Use `-batch "main"` for
  headless CI-style checks (no figures shown), or `matlab -r "main" &` to
  launch the full IDE backgrounded.
- **MATLAB version:** R2025b installed at
  `/Applications/MATLAB_R2025b.app/bin/matlab`. Octave not installed.
- **One-time gotcha fixed at wrap:** my earlier Write of the thesis-aligned
  `plant-model/CLAUDE.md` silently didn't persist (tool reported success
  but the file held the pre-refactor content on re-Read). Rewrote it at
  wrap time. If this recurs, verify with `Read` after any `Write` on an
  existing file, not just trust the tool's success message.

## Repo state at wrap

- Initial commit made: see `git log --oneline` in
  `~/Documents/pwr-hybrid-3-demo/`.
- Submodules at: `thesis/` @ gitea main tip, `presentations/2026DICE/` @
  gitea main tip (note: original `~/Documents/Writing/2026DICE/` still has
  uncommitted local edits that were NOT pulled into the submodule — user
  was warned earlier and deferred).
- Old folders `~/Documents/fret_processing/` and
  `~/Documents/PKE_Playground/` still exist untouched. Delete whenever
  user is confident the umbrella is right.
- No remote yet for the umbrella repo. Will need to create
  `gitea.danesabo.com/danesabo/pwr-hybrid-3-demo` and `git remote add origin`
  + push when user is ready.

## What's on deck (for the next session, whichever agent)

Per the controllers rough-out note: knock out `ctrl_shutdown` (one line),
`ctrl_scram` (a few lines + uncertainty later), then `ctrl_heatup` (the
interesting transitory one — ramp + temperature tracking). Invariants and
`X_safe` regions come after, explicitly deferred by the user. Do not try
to verify the whole hybrid system at once — pick one mode, discharge its
reach-set obligation, move on.
