oc_diagnostics
==============
Purpose
-------
Package entry point for ``oc_diagnostics``. Exports the public runtime API
so downstream projects can use a single import::
from oc_diagnostics import _dbg, init, apply_instrumentation
Responsibilities
----------------
- Re-export ``_dbg``, ``DEBUG_LEVELS``, and ``init`` from ``unified_debug``.
- Re-export ``apply_instrumentation`` from ``instrumentation_middleware`` when
Dash is installed; raise an actionable ``ImportError`` at call time when
it is not.
- Re-export ``DiagnosticsMiddleware`` from ``fastapi_middleware`` when FastAPI
is installed; raise an actionable ``ImportError`` at call time when it is not.
- Declare ``__all__`` so the public surface is explicit and IDE-discoverable.
- Remain completely side-effect-free at import time.
Diagnostics
-----------
Domain: GENERAL
Levels:
L2 — lifecycle
L3 — semantic details
L4 — deep tracing
Contracts
---------
- Must not activate stream interception or exception hooks at import time.
Callers must call ``oc_diagnostics.init()`` explicitly.
- Optional dependencies (Dash, FastAPI) must not be required for import.
Missing dependencies must only raise ``ImportError`` at call time.
- ``__all__`` must list every symbol exported by this module.