Decision
Axis diagnostics flow through AxisDiagnostics first and Sentry second. That keeps the public API stable across the core library, Rhino, the web app, and offline jobs.
Current behavior
- Diagnostics always record to an in-memory sink.
- Sentry is enabled only when
SENTRY_DSNis present andAXIS_SENTRY_ENABLEDis not false-like. - Debug and info messages become breadcrumbs.
- Warnings, errors, fatal events, and exceptions become Sentry events when Sentry is enabled.