feat(think): completion-gated cadence dispatcher master
Add `journal think --cadence`: dispatch cadence-scheduled talents only when >=1 segment or activity has completed since that talent's last cadence run, else skip at zero cost. read_completed_since() (pipeline_ health) is the read-only gate over read_terminal_states, scanning today + yesterday and projecting to unique (stream,segment)/(facet,activity) units. run_cadence_prompts() applies a per-talent cadence_minutes window, hands the completed-since window to each talent via request config, and records last-run in health/cadence.json (written only on success, using the window-read high-water so work completing mid-run is never skipped). No talent is moved onto cadence in this lode. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>