Found while debugging #131. Two related gaps in DEBUG-build event logging:
-
reload.sh exports PROGRAMA_DEBUG_LOG=/tmp/programa-debug-<tag>.log and writes that path to /tmp/programa-last-debug-log-path, but the vendored bonsplit DebugEventLog.resolveLogPath() still only reads the pre-rename env vars (CMUX_DEBUG_LOG, CMUX_TAG, CMUX_SOCKET_PATH). Neither is set, so dlog output falls through to the bundle-id path (/tmp/cmux-debug-com.darkroom.programa.debug.<tag>.log). The documented tail -f "$(cat /tmp/programa-last-debug-log-path)" flow tails a file that is never created.
-
GhosttyApp.logBackground derives its own -bg suffixed file from PROGRAMA_DEBUG_LOG, so debug output is split across two files with different naming schemes.
Fix: teach DebugEventLog.resolveLogPath() the PROGRAMA_* env names (keep CMUX_* as fallback), and update CLAUDE.md's debug-log section if paths change. Verify by launching a tagged build and confirming dlog lines land at the path in /tmp/programa-last-debug-log-path.
Found while debugging #131. Two related gaps in DEBUG-build event logging:
reload.shexportsPROGRAMA_DEBUG_LOG=/tmp/programa-debug-<tag>.logand writes that path to/tmp/programa-last-debug-log-path, but the vendored bonsplitDebugEventLog.resolveLogPath()still only reads the pre-rename env vars (CMUX_DEBUG_LOG,CMUX_TAG,CMUX_SOCKET_PATH). Neither is set, so dlog output falls through to the bundle-id path (/tmp/cmux-debug-com.darkroom.programa.debug.<tag>.log). The documentedtail -f "$(cat /tmp/programa-last-debug-log-path)"flow tails a file that is never created.GhosttyApp.logBackgroundderives its own-bgsuffixed file fromPROGRAMA_DEBUG_LOG, so debug output is split across two files with different naming schemes.Fix: teach
DebugEventLog.resolveLogPath()thePROGRAMA_*env names (keepCMUX_*as fallback), and update CLAUDE.md's debug-log section if paths change. Verify by launching a tagged build and confirming dlog lines land at the path in/tmp/programa-last-debug-log-path.