Observability Linker MVP: manifest レーン化と Datadog monitor 自動解決#29
Merged
Conversation
Replace plural link lists (slos/monitors/dashboards) with singular lanes (slo/monitor/dashboard/log), unified refs[], discovery_type, and discovery.datadog criteria for charge. Co-authored-by: Cursor <cursoragent@cursor.com>
Update field_docs and refyaml sample paths for refs, discovery_type, and discovery.datadog, then regenerate hado.manifest.reference.yaml. Co-authored-by: Cursor <cursoragent@cursor.com>
Read slo/monitor/dashboard existence from role lane helpers and update gate messages and fire tests for the refs-based manifest shape. Co-authored-by: Cursor <cursoragent@cursor.com>
Discover exactly one monitor via monitor.discovery.datadog, upsert an auto ref in monitor.refs, and fail without writing manifest on 0/N matches. Co-authored-by: Cursor <cursoragent@cursor.com>
Document refs/discovery manifest shape, charge --datadog-discover flow, and update README, implementation-status, and related design docs. Co-authored-by: Cursor <cursoragent@cursor.com>
Align custom UnmarshalYAML file naming with observability_test.go and other domain-centric manifest sources. Co-authored-by: Cursor <cursoragent@cursor.com>
…LaneEvidence Drop the Role suffix so nested observability types follow the same Evidence naming pattern as ReleaseAutomationEvidence and other domains. Co-authored-by: Cursor <cursoragent@cursor.com>
Add coverage, operations, observability, infra, and release helpers; merge load/write into io.go; rename path and scaffold files; keep types.go struct-only. Co-authored-by: Cursor <cursoragent@cursor.com>
Route operations, release, and infra metrics through manifest ForGate helpers instead of inline TrimSpace in fire. Co-authored-by: Cursor <cursoragent@cursor.com>
Consolidate tests per evidence domain plus io/path/scaffold; move reference YAML generation to internal/manifest/refdoc. Co-authored-by: Cursor <cursoragent@cursor.com>
Update doc.go layout table, internal-go-packages rule, implementation status, and regenerate reference YAML header for refdoc/field_docs.go. Co-authored-by: Cursor <cursoragent@cursor.com>
Document file roles, gate-to-domain mapping, naming rules, and refdoc workflow so future manifest changes stay on the established rails. Co-authored-by: Cursor <cursoragent@cursor.com>
Log PRR checks belong under compliance/security later; drop the unused placeholder lane from types, refdoc, and generated reference YAML. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
Observability Linker の MVP として、
evidence.observabilityを slo / monitor / dashboard の役割別レーンに再設計し、各レーンでrefs(discovery_type: manual|auto)・任意provider・discoveryを扱えるようにした。hado charge --datadog-discoverで Datadog モニターを探索し、monitor.refsにdiscovery_type: autoを書き込む。gate / fire は各レーンのrefs[].urlの存在でobservability.*_existsを判定する。あわせて
internal/manifestをドメイン別ファイル構成に整理し、参考 YAML 生成をrefdoc/サブパッケージへ分離した。未実装だったobservability.logレーンは削除し、構造化ログ・PII マスキング等は将来 Compliance / Security で扱う方針を docs に明記した。主な変更
Manifest スキーマ
slos/monitors等)→ 単数レーン(slo/monitor/dashboard)refs[]+discovery_type: manual|autoに統一(手入力と charge 自動解決を同一列で管理)discover→discoveryにリネームrefs列、discovery_type省略時manual)をobservability_yaml.goでサポートCLI / gate
hado charge --datadog-discover:monitor.discovery.datadogを読み、ちょうど 1 件マッチ時にmonitor.refsを upsertinternal/gate/cmd/hado/fire: slo / monitor / dashboard の existence ゲートをレーンrefsベースに更新internal/manifest再構成types.go(型のみ)、io.go、coverage.go/operations.go/observability.go/infra.go/release.go(gate 向けヘルパ)refdoc/(field_docs.go,generate.go,paths.go)で参考 YAML 生成internal/manifest/README.mdに設計ポリシーを追加ドキュメント
docs/observability-readiness.md新規docs/hado.manifest.reference.yaml再生成docs/implementation-status.md等を実装に同期テスト
go test ./...yamllint,markdownlint,go vetマージ後の注意
slos/monitors/discover等)を使っている場合は、新スキーマ(slo/monitor/discovery/refs)へ移行が必要DD_API_KEY/DD_APP_KEY(任意DD_SITE)が必要。manifest には API キーを書かないMade with Cursor