Problem
brainlayer doctor calls _check_deploy_drift, which raises BrainLayerAlarm. One drift result aborts the entire doctor run before schema, launchd, writer, socket, and version checks execute.
This made the M1 health gate unusable during an outage; the first check was also a false positive from a packaged Homebrew install.
Reproduction
On BrainLayer 1.5.1:
brainlayer doctor
# deploy_drift alarm
# traceback
# exit 1 before remaining checks
Expected
Doctor should isolate check failures:
- append a fatal/warning
DoctorIssue for deploy drift;
- continue running independent checks;
- return a non-zero overall verdict when appropriate without losing the rest of the diagnostic report.
Acceptance
- A deploy-drift finding appears in structured doctor output.
- Later checks still execute and are included.
- Exceptions inside one check are contained and reported with check identity.
- Existing fail-loud exit semantics remain at the aggregate result boundary.
Problem
brainlayer doctorcalls_check_deploy_drift, which raisesBrainLayerAlarm. One drift result aborts the entire doctor run before schema, launchd, writer, socket, and version checks execute.This made the M1 health gate unusable during an outage; the first check was also a false positive from a packaged Homebrew install.
Reproduction
On BrainLayer 1.5.1:
Expected
Doctor should isolate check failures:
DoctorIssuefor deploy drift;Acceptance