Task · GCI-0142

Accept valid omitted empty-string Tempo tag values without losing signal inventory

Description

Repeated exact-200 live Tempo service-name reads on dev contain 53 typed string entries, one serialized as type:string with the empty value omitted. Proto3/default jsonpb permits this shape. Current parser rejects the full stack signal inventory and dev T2 publication refuses at 5/6 coverage. Customer 1/300 failures already fall within existing 10% tolerance; no floor change is needed.

Acceptance Criteria

Definition of Done

Implementation Plan

Apply narrowly at Tempo response parser; independently review final candidate, run required source gate, release signed two-architecture image, upgrade existing consumers preserving all policy/runtime settings, run one guarded manual dev T2, then continue previously approved customer library/auditing rollout and disable temporary dev Container Insights after proof.

Implementation Notes

Source parser/required gate/complete CodeRabbit and independent source review accepted. Signed v0.13.6 source e7910ef deployed on dev, exact saved-plan/full readback and one manual T2 exit0 with all6/6 signal inventory, immutable native publication and sampled privacy/execution-memory evidence. Customer source/image pins and ECR candidate are prepared; customer deployment/readback pending, so AC3 remains open. Evidence /Users/rob/repos/grafana-cloud-org-insights/codex/direct-20261014/tempo142/.

2026-10-14 source compatibility fix now shipped/deployed on both dev and customer at signed generic v0.13.6 source e7910efdd55738150b0d867dec816132aef468ff. Dev actual manual T2 passed healthy6/6 signal inventory with native immutable publication and qualified measured/privacy evidence; customer actual new-image provisioner started on the classified/applied/read-back six-family deployment, immutable image a45bbb954e7e7fe5796ba8ce490cba9525950e114287272b8d8fdb7ceaba6dfc. Its subsequent library repair/customer T2 remain separately owned by GCI-0132 (customer library and auditing assessment), not claimed complete here. No failure floor changed.

View the source file on GitHub