aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org11
1 files changed, 9 insertions, 2 deletions
diff --git a/todo.org b/todo.org
index 863749485..a834cf8ba 100644
--- a/todo.org
+++ b/todo.org
@@ -80,6 +80,13 @@ What we're verifying: =C-; a n= (or =M-SPC=) cycles into a detached ai-term (ali
- Confirm one is attached (a live =agent [...]= buffer) and one is detached (its =aiv-= tmux session is alive but has no buffer).
- Press =C-; a n= repeatedly to cycle through the agents.
Expected: the rotation includes the detached agent; landing on it recreates its terminal buffer and reattaches the tmux session (its live output appears), instead of skipping it. Order is stable (by buffer name) and wraps after the last.
+*** VERIFY Opening a video from dirvish plays it on repeat (mpv)
+What we're verifying: a video opened from dirvish launches mpv with --loop-file=inf so it plays on repeat; non-video external files are unaffected. The routing, predicate, and arg list are unit-tested (15/15) and verified live; this is the visual playback only Craig can confirm.
+- In dirvish, put point on a video file (.mp4 / .mkv / .webm) and press RET to open it.
+Expected: mpv opens the video and loops it continuously (restarts at the end), detached so Emacs is not blocked.
+- Open a non-video external file (a .pdf or .docx) from dirvish.
+Expected: it opens in the OS default handler as before, not mpv.
+Expected: videos open in mpv on repeat; other external files keep their normal handler.
*** VERIFY Google Keep v1 live setup and first fetch
What we're verifying: read-only v1 fetches real Keep notes and renders =data/keep.org= once the one-time gkeepapi + master-token setup is done. The code and 27 tests (12 Python + 15 ERT) are green; this is the live-credential step only Craig can run.
- Install the client into the interpreter =cj/keep-python= uses: =pip install gkeepapi= (or pipx).
@@ -636,8 +643,8 @@ Make EAT the only terminal and remove ghostel entirely (decision 2026-06-25). Ph
- Phase 2 DONE (commit 0290b015): EAT experience settings in eat-config.el -- yank-to-terminal on, directory-tracking / prompt-annotations / command-history / mouse / kill-from-terminal / alt-screen affirmed, 10MB scrollback, truecolor already on via the compiled =eat-truecolor= terminfo. zsh shell-integration source line added to =~/.dotfiles/common/.zshrc= (uncommitted -- needs a dotfiles commit + a pull on the other daily driver).
- F12 = eshell-through-EAT (2026-06-25, commits cbd38d88 + c99fad28): F12 now opens eshell run through EAT (eat-eshell-mode) instead of a standalone EAT zsh shell, so the primary terminal is eshell (elisp functions as commands, TRAMP transparency) with EAT rendering visual commands. Retired eshell-toggle + xterm-color; added a zsh-parity prompt (git branch + [N] exit status) and a zoxide =z= sharing the zsh database. eat-config + eshell-config kept separate.
- Phase 3 DONE (commit 6c8f2a9c): ported ai-term from ghostel to EAT. The spike confirmed EAT + tmux detach/reattach behaves exactly like ghostel + tmux (eat spawns, sends =tmux new-session -A -s aiv-<project>=; killing the buffer leaves the session alive; respawn reattaches). The coupling was far smaller than feared -- most of the ~30 refs were comments, and agent detection is name-based ("agent [...]"), so backend-agnostic. Swaps: =(ghostel)= -> =(eat)= with =eat-buffer-name=, =ghostel-send-string= -> a process-send-string helper, M-SPC bound directly in =eat-semi-char-mode-map= (no exception/rebuild dance). 157 ai-term tests green. Real-agent launch + detach/reattach is a VERIFY under Manual testing and validation.
-- Phase 4 (now nearly unblocked -- ghostel's only remaining user is the dashboard launcher): retire ghostel. dashboard "Launch Terminal" =(ghostel)= -> open the eshell/EAT terminal; drop ghostel refs in =face-diagnostic.el= + =auto-dim-config.el=; migrate the useful term-config bits (tmux-history capture, copy surfaces -- both tmux-level, work under EAT) into eat-config; delete =term-config.el= and its init.el require; remove the pinned ghostel install.
-- Phase 5: cleanup. Remove the theme-studio ghostel app (=GHOSTEL_FACES=) once those faces are dead (ansi-color stays -- EAT inherits it); sweep ghostel mentions in comments/docs.
+- Phase 4 DONE (commit 6a9ec62e): retired ghostel. Migrated the terminal-generic keepers into eat-config -- the tmux copy-mode (=C-<up>= enters it, same UX + keybinding; agents run EAT over tmux so it's still tmux's own copy-mode) and the tmux-history capture, swapping =ghostel-send-string= -> a pty write and the mode checks -> eat-mode. Repointed the dashboard "Launch Terminal" to =cj/term-toggle=, swapped the =face-diagnostic= terminal-mode check to eat-mode, refreshed the auto-dim comment. Deleted =term-config.el= + its init require. EAT's default =eat-semi-char-non-bound-keys= already lets windmove / buffer-move / Emacs keys reach the terminal, so no exception-list port was needed. Tests retargeted (tmux-history 15/15). The copy-mode + tmux-history live check is a VERIFY under Manual testing and validation.
+- Phase 5 (remaining cleanup): remove the theme-studio ghostel app (=GHOSTEL_FACES=) now those faces are dead (ansi-color stays -- EAT inherits it); =package-delete= the unused ghostel ELPA package; sweep the few remaining ghostel mentions in comments/docs. Optional: surface F8/F10 in =eat-semi-char-non-bound-keys= if Craig misses them in agent buffers (needs the rebuild check).
** TODO [#C] ai-term.el commentary names a stale F9 keybinding scheme :quick:
The header commentary (lines ~43-64) still documents an old =F9= / =C-F9= / =s-F9= / =M-F9= scheme for =cj/ai-term= and its family, but those bindings no longer exist — F9 is unbound in the daemon and the only live global binding is =M-SPC= -> =cj/ai-term-next= (=ai-term.el:1059=). The =M-<f9>= mention in the =cj/ai-term-shutdown= docstring (~996) is stale too. Rewrite the commentary and any stale docstrings to match the current keymap. Found 2026-06-25 while scoping the F12 -> EAT work.