Skip to content

[codex] feat: opt-in observability foundation を追加#706

Draft
j5ik2o wants to merge 3 commits intomainfrom
codex/issue-699-otel-foundation
Draft

[codex] feat: opt-in observability foundation を追加#706
j5ik2o wants to merge 3 commits intomainfrom
codex/issue-699-otel-foundation

Conversation

@j5ik2o
Copy link
Copy Markdown
Collaborator

@j5ik2o j5ik2o commented May 7, 2026

概要

Closes #699.
Parent: #649.

OpenTelemetry observability の最初の土台として、デフォルトでは既存挙動に影響しない opt-in foundation を追加します。この PR では workflow / span / metric / exporter の実計装は開始しません。

変更内容

  • global / project config の schema、loader、serializer、env override、traced config、resolved config に observability を追加
  • src/infra/config/observabilityConfig.ts を追加し、normalize / denormalize / merge と、全フラグ disabled のデフォルトを定義
  • src/infra/observability/otelFoundation.ts を追加し、observability.enabled === true のときだけ @opentelemetry/sdk-node を lazy import して最小構成の SDK を初期化
  • Resource 属性として service.name: "takt"service.version を設定
  • workflow execution bootstrap から foundation を初期化し、終了時に shutdown する lifecycle を配線
  • 並行 workflow 実行時に SDK の ref count を共有し、shutdown 中は新しい SDK の起動を待つように調整
  • OpenTelemetry 依存の engine 要件に合わせ、Node.js minimum を >=18.19.0 に調整
  • disabled 時 no-op、config/env 解決、workflow bootstrap 配線、SDK lifecycle、既存 logging contract の regression test を追加

スコープ外

  • workflow / step / phase span の追加
  • LLM call span の追加
  • metric 計装
  • SessionLogExporter / UsageEventsExporter / MonitorJsonExporter の実装
  • monitor.json 出力
  • 既存 SessionLogger / UsageEventLogger / ProviderEventLogger の置き換え
  • Node.js 20 への runtime baseline 引き上げ
  • production audit cleanup や unrelated dependency override

検証

  • git diff --check pass
  • npm ci --ignore-scripts --dry-run pass
  • ./node_modules/.bin/vitest run src/__tests__/otelFoundation.test.ts src/__tests__/dependency-versions.test.ts src/__tests__/models-api-boundary.test.ts pass: 3 files / 12 tests
  • npm run build pass
  • npm run lint pass
  • npm test pass: 412 files / 5644 tests
  • npm run test:e2e:mock pass: 36 files passed / 1 skipped、107 tests passed / 14 skipped / 30 todo

@j5ik2o j5ik2o changed the title [codex] feat: add opt-in observability foundation [codex] feat: opt-in observability foundation を追加 May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[otel] opt-in config + OTel SDK foundation

1 participant