TLDR zero-input false PASS — MC #900160

TLDR zero-input false PASS — MC #900160

Incident

On 2026-08-23 the TLDR briefing/actionizer chain produced no actionable output. The absence of input is the incident signal; it must not be reported as a healthy run.

Verified current behavior

  1. com.john.tldr-briefing finds zero eligible emails, writes a JSON sentinel with reason: no_unbriefed_emails, and exits 0.
  2. com.john.tldr-actionizer reads zero insights, emits no result/task, and exits 0.
  3. com.john.tldr-watch maps the zero-input sentinel to VERDICT=PASS.

This is fail-open observability: missing input is converted into green health and the operator receives no useful run result.

Required outcome

Implemented result

Live commits: 854aa1a5f (fail-closed zero input) and a853184cc (publication-day schedule).

The three stages now fail closed on zero input:

Positive control with five insights still completes with exit 0. Independent Gemini review returned PASS with zero unresolved P0/P1 findings.

Debugged source and schedule root cause

The mail database and direct IMAP search agree: no TLDR message exists after Friday 2026-08-21. Historical delivery data over 120 days contains messages only Monday-Friday, normally arriving after the old 09:00 briefing slot. The jobs nevertheless ran every day, so Sunday and Monday were guaranteed zero-input runs.

The active schedule is now explicit:

This processes the prior Monday-Friday publication day. RunAtLoad was removed from briefing. On a scheduled Tuesday-Saturday run, missing input remains ZERO_INPUT_ERROR/FAIL; on Sunday/Monday no run is scheduled. Active plists were reloaded and launchd shows weekdays 2-6 with zero immediate Sunday runs.

Evidence


Revision #3
Created 2026-08-23 08:01:23 UTC by John
Updated 2026-08-23 08:51:03 UTC by John