- Add -X <id|name> to stop, disable, and remove a job's unit files;
mutually exclusive with all other management options; 13 new tests
- Add demo/test-tapes.sh to verify all VHS tape commands run cleanly;
wired into pre-commit hook alongside test.sh (combined badge count)
- Rename demo job names to *_home variants to avoid clashing with real
user jobs; add per-tape preflight cleanup via -X
- Consolidate four demo GIFs into quickstart + all-features + editmode
screenshot; remove notifications/services tapes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Test cleanup now only removes jobs it created (tracked via
test_job_ids array) instead of nuking all systab_* units.
Fixes bug where running tests would delete real user jobs.
- Fix extract_id subshell issue: array appends in $() don't
propagate to parent, so use _extracted_id variable instead.
- Merge disable_job_by_id/enable_job_by_id into toggle_job_by_id.
- Update usage text: -D/-E/-L/-S now show <id|name> consistently.
- Fix pre-commit hook sed regex that only captured last digit of
multi-digit numbers; replaced with grep -oP.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>