=== Testing Action-Focused Cron Logging === Creating test schema... Created user #1 Test Scenario 1: Cron run with no actions Expected: No log entries, heartbeat file updated Cron completed Cron run completed New log lines: 0 Heartbeat updated: Yes === Verification === ✓ No log entries when no actions ✓ Heartbeat file exists ✓ Heartbeat file has valid timestamp ✓ No START marker in log ✓ No COMPLETE marker in log ✓ No 'Processing notifications' message ✓ No 'Processing schedules' message ✓ No 'Processing studies' message Test Scenario 2: Cron run with actions Expected: Action logs only (no START/COMPLETE), heartbeat updated Created study #1 Cron completed Cron run completed New log lines: 1 Heartbeat updated: Yes Log output: [2026-01-27 04:16:41 UTC] Study #1 (Test Study): created schedule #1, first due 2026-01-27 12:00:00 [2026-01-27 04:16:42 UTC] Study #1 (Test Study): created schedule #1, first due 2026-01-27 12:00:00 === Verification === ✓ Has action log for study #1 ✓ At least 1 action logged ✓ Heartbeat file was updated === Test Summary === Passed: 10/10 Failed: 0/10 ✓ All tests passed! Logging is now action-focused with heartbeat.