Wires the commit-cadence policy to an actual reminder instead of a script
nobody runs.
- scripts/commit_check_notify.py: runs scripts/commit_check.sh (piped to
bash -s so the script is never opened on the external volume), logs to
logs/commit_check.log and posts a macOS notification via osascript when the
tree is dirty. Defaults to --any (week's work) ; --age-only restores the
>threshold behaviour; --no-notify for testing.
- scripts/commit_check.sh: new --any mode (warn on any uncommitted change,
ignoring age) for the weekly job.
- LaunchAgent fires Sunday 18:00; launcher
~/.umbraaudio/umbra_commit_check.sh mirrors umbraweb_login.sh (cd project,
export PATH, exec .venv/bin/python). The venv python is the only interpreter
approved for the external volume, so a shell never reads a project file.
- Verified under launchd: detects dirty tree, notification sent, exit 1;
clean tree exits 0. Probe artifacts removed.
Mechanical nudge for the policy in AGENTS.md -> "Commit Cadence": it measures
how long the working tree has been dirty (oldest mtime among staged, unstaged
and untracked files) and exits 1 once that exceeds --days (default 7).
- Ignores submodule working-tree dirt (separate repo); still surfaces a moved
submodule pointer.
- Reports dirty age, last edit, last commit; prints a reminder block.
- --quiet silences the clean case only; --help documents exit codes.
- Bash 3.2 compatible (macOS /bin/bash); no external deps.
- Verified: clean/dirty/old-dirt/threshold/bad-args/quiet all behave.
Also cross-reference it from AGENTS.md and README.md.