Skip to content

doctor must report deploy drift as an issue instead of aborting the health gate #616

Description

@EtanHey

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions