midi-harbor/specs/009-observability/quickstart.md
2026-09-28 13:59:10 -05:00

1.1 KiB

Quickstart: Observability

Prerequisites and the build are in 001's quickstart, with the automated equivalent of each scenario.


Scenario 4 — Diagnosing without log files (US5 · SC-012, SC-013)

midi-harbor status --watch                  # live phase, time in phase, counters
midi-harbor events --follow                 # state transitions as they happen

Induce a failure, then close every window and terminal, wait, and reopen:

midi-harbor events                          # the latest 50, each with the local time it happened

Pass criteria: the failure and the recovery are both visible with timestamps, proving the history lives in the daemon and survived the client going away (FR-046, SC-013).

Try a genuinely permanent failure — create a port whose name collides with an existing one:

midi-harbor port create "Sequencer Bus"     # expect exit 6, message naming the conflict

Pass criteria: a specific, actionable reason, never a generic failure (SC-012).

midi-harbor diagnostics export --output /tmp/report.json