master/docs/008-sandbox-lifecycle-observability.md
2026-04-03 00:37:35 +03:00

1.1 KiB

008 Sandbox lifecycle observability

Context

  • FR-034 требует метрики по active sandbox, startup latency и cleanup
  • Issue #11 требует трассировку sandbox usecase и Docker adapter steps
  • Inner layers должны знать только observability ports

Decision

  • Usecase sandbox lifecycle использует только Logger, Metrics, Tracer
  • Metrics получает set(...) для current-state signals
  • sandbox.active.count считается из session registry через count_active()
  • M19 добавляет только contracts и adapter support для будущих lifecycle signals
  • M20 и M21 отдельно добавят spans и runtime metrics в usecase и Docker adapter

Consequences

  • OTel gauge остается в outer adapter, не протекает во внутренние слои
  • Active sandbox count синхронизируется после create, cleanup и reconciliation
  • Tests могут проверять observability через fake ports без реального OTel backend