[aside] agent_run→otel.span unify(PR #388)で agent-run span の trace_id / span_id に run_id(`ar_<ULID>`、非 hex)をそのまま使い、`OtelSpan::validate` の hex gate を bypass して `otel_spans` に直接 upsert している ── trusted な gateway 生成なので table 制約(end≥start)だけで十分という判断。結果 `otel_spans` に「hex な otel.span kernel entity」と「非 hex の agent-run span」が id 形式混在で同居する。OTLP egress や hex 前提の consumer が来たら id 正規化 seam が必要。関連 n_01KT6R23(u64↔文字列の egress 変換 seam と同系の未対応 seam)。