Status: Accepted
Date: 2026-02-23
Authors: OSHUN Studio Architecture, OSHUN Web + BFF Engineering, Platform
SRE, OSHUN Data/Analytics Engineering
Reviewers: Domain Leads (Yemaya, Isis, Hathor, Aja, Bellona), Project
Obsidian Program Design
Context and Problem Statement#
Studio has canonical metrics instrumentation, but operators still need a first-class operational dashboard surface to detect regressions, triage policy issues, and coordinate incident response across domains.
Without a unified observability dashboard architecture, OSHUN risks:
- fragmented dashboards with inconsistent SLI/SLO semantics
- weak incident triage due to missing drill-down context
- delayed detection of policy-denial or telemetry-quality regressions
- governance gaps between runtime operations and audit evidence
Decision Drivers#
- Operator velocity: fast, low-friction triage and remediation workflows.
- Deterministic telemetry: one SLI/SLO vocabulary across Studio surfaces.
- Actionability: every dashboard signal maps to a concrete workflow action.
- Governance alignment: incident, policy, and release evidence must align.
- Scale: dashboard design must span Yemaya/Isis/Hathor/Aja/Bellona.
Considered Options#
Option 1: Per-Domain Operational Dashboards#
Each domain publishes and manages its own dashboard patterns.
Pros:
- Local ownership and domain-specific optimization.
Cons:
- Inconsistent incident semantics and fragmented response workflows.
- Cross-domain rollups become costly and unreliable.
Option 2: External Ops Tools Only#
Use external observability tools with minimal Studio-native dashboard UI.
Pros:
- Lower Studio UI implementation effort.
Cons:
- Weak integration with Studio context, permissions, and workflow controls.
- Poor ergonomics for product/program operators working inside Studio.
Option 3: Canonical Studio Observability Dashboard Surface (Chosen)#
Implement a Studio-native operational dashboard with typed SLI/SLO cards, alert streams, dependency health drill-downs, and policy-aware remediation actions.
Pros:
- Deterministic operational semantics across all Studio domains.
- Faster incident triage with direct linkage to recovery workflows.
- Strong alignment between telemetry, alerting, policy, and governance.
Cons:
- Requires coordinated schema/version governance across data producers.
Decision Outcome#
Chosen option: Option 3.
Observability and dashboard requirements:
- Canonical dashboard data contract for SLI, SLO, and alert cards.
- Domain and workflow drill-down contract for rapid causality isolation.
- Policy and permission contract for remediation actions in-dashboard.
- Alert-state lifecycle contract for ack, assign, resolve, and export.
- Operational readiness contract for release and incident gating.
Normative Rules#
Dashboard Data Contract#
- Every dashboard card must include
signalId,signalType,status,window,currentValue,targetValue, andupdatedAt. - Cards must map to one canonical source-of-truth telemetry stream.
- Stale data beyond the configured freshness window is release-blocking.
SLI/SLO Contract#
- Required SLI/SLO set includes success rate, latency, denial rate, availability, and telemetry completeness.
- SLO breach thresholds must be explicit and environment-aware.
- SLO calculations must be deterministic and reproducible.
Drill-Down Contract#
- Every alerting card must provide domain + workflow + dependency drill-down.
- Drill-down payload must preserve actor/workspace/release attribution.
- Drill-down actions must never bypass policy constraints.
Policy and Permission Contract#
- Dashboard remediation actions require role + permission-tier validation.
- Production-impacting actions require CAB approval evidence where applicable.
- Policy denials must be auditable and visible in dashboard history.
Alert Lifecycle Contract#
- Alerts must support
new,acknowledged,investigating,resolved,closedstates with deterministic transitions. - Every transition must emit telemetry and audit events.
- Duplicate/looping transitions must be idempotent and traceable.
Operational Readiness Contract#
An observability dashboard release is valid only when all are true:
- SLI/SLO cards pass data-freshness and schema validation
- alert lifecycle actions pass role/policy checks
- drill-down links resolve to valid Studio context
- telemetry and audit emissions pass completeness checks
- runbook ownership/escalation artifacts are current
Architecture Implications#
- Web and BFF layers share one typed dashboard contract.
- Dashboard cards are sourced from canonical metrics instrumentation streams.
- Policy enforcement is reused from Studio RBAC and permission-tier systems.
- Incident playbooks become directly actionable from dashboard UI.
Acceptance Criteria (OST-00225)#
OST-00225 is complete only when:
- ADR exists at
docs/adr/ADR-0047-oshun-studio-observability-and-operational-dashboards.md. - ADR defines options, trade-offs, and selected strategy.
- ADR defines dashboard data, SLI/SLO, drill-down, policy/permission, alert-lifecycle, and operational-readiness contracts.
- ADR aligns with
ADR-0007throughADR-0040, especiallyADR-0012,ADR-0039, andADR-0040. - ADR aligns with
docs/releases/v1/design/ux-principles.md,libs/oshun/analytics, andlibs/oshun/domain-registry. - ADR explicitly covers Yemaya, Isis, Hathor, Aja, Bellona, and Project Obsidian.
Consequences#
Positive#
- Faster operator response with dashboard-native triage/remediation context.
- Higher observability consistency and incident-detection reliability.
- Better governance posture for operational decisions and release gating.
Negative#
- Added implementation and maintenance overhead for typed dashboard contracts.
- Requires tight cross-team discipline for signal taxonomy and thresholds.
Related Decisions#
docs/adr/ADR-0013-oshun-shell-architecture-and-domain-adapters.mddocs/adr/ADR-0018-analytics-taxonomy-and-event-naming.mddocs/adr/ADR-0045-oshun-studio-resilience-and-error-ux.mddocs/adr/ADR-0046-oshun-studio-metrics-and-analytics-instrumentation.md
References#
libs/oshun/analytics/src/types.tslibs/oshun/domain-registry/src/index.tsdocs/releases/v1/design/ux-principles.mddocs/domains/yemaya/features.mddocs/domains/isis/features.mddocs/domains/hathor/features.mddocs/domains/aja/features.mddocs/domains/bellona/features.md