# R1.5.9.10 任务报告

## 结论

- UniDesk PR pikasTech/unidesk#2100 已合并，merge commit 为 35d3a6c1。
- PikaOA 测试与生产 OTel endpoint 统一为无 scheme 的 gRPC 4317。
- Prometheus selector label 从 platform-infra owning YAML configRef 解析并应用于 API/Worker Pod。
- 受控 observability apply 后 Collector、Tempo 与 Prometheus ready。
- 新 API/Worker Pod 的旧 OTLP 地址 warning 数量为 0。
- outbox handler_not_registered 保持非阻塞并登记到 pikainc/pikaoa#24。

## 实现

- 删除生产旧字段 otlpHttpEndpoint，不保留兼容入口。
- 测试 Prometheus configRef 指向 config/platform-infra/observability.yaml#metricsBackend.discovery.labelSelector。
- 复用共享 resolveConfigRef，投影 selector sourceRef、presence、fingerprint 与 valuesPrinted=false。
- API/Worker Pod template 增加 unidesk.ai/metrics=true；Web 不增加。
- selector 漂移和 exporter 失败均保持 blocking=false warning。
- 定向测试覆盖 gRPC endpoint、selector label、Web 排除、configRef 缺失/错误和旧字段删除。
- bun scripts/cli.ts check --syntax-only 与 git diff --check 通过。

## 真实运行面证据

- API 合同查询 trace 21cf522b075a4f89ca4f6e7e9e034ba0 在 Tempo 中找到 13 spans、0 error。
- Worker service pikaoa-test-acceptance-worker 的 trace 可通过 TraceQL 检索。
- Prometheus：database_ready=1、migration_ready=1。
- Prometheus：contracts operations=1、invoice actions=2、worker runs=234。
- HTTP request 与 identity login 指标均有数据。
- API、Worker、Web 各 1 副本 Ready；Prometheus selector label 仅存在于 API/Worker。
