personal memory agent

refactor(doctor): share the aggregate failure predicate master

Dropped the unreachable has_execution_error arm from summary_counts' failed count; probe.run_check already builds error results with status fail, so errors are a subset of failed by construction. Added probe.results_failed, the single aggregate rule for any execution error or any blocker-severity fail, now used by doctor.main, doctor.jsonl_summary_status, and preflight.main instead of duplicated conditions. Added preflight --json coverage asserting the structured execution_error payload and a nonzero exit for an advisory raising check.


+53 -21
4 changed files