PUT /api/v2/analytics/speech/annotations failing 400 on overlapping timestamps despite taxonomy matrix config

Problem

The dashboard metrics are experiencing drift due to insufficient persistence velocity for manual tags. A Go routine is currently pushing annotations via PUT /api/v2/analytics/speech/annotations/{analysisId}. While the Swagger specification indicates that overlapping timestamps are permissible provided the TAXONOMY_MATRIX permits it, the routing engine is generating a rejection. Immediate resolution is required to maintain ADMIN_UI layout integrity and queue analytics accuracy.

Code

Payload construction adheres to standard protocols. A CONFIDENCE_THRESHOLD directive is implemented to filter low-quality matches prior to the PUT request. The ATOMIC_PUT_OPERATION is intended to manage state updates; however, SCHEMA_VALIDATION is rejecting the payload prior to engine processing of the SEGMENT_BOUNDARY. The LABEL_TAXONOMY_MATRIX identifier tax_matrix_v2 is hardcoded within the payload context. Confidence values remain within the 0.8 to 1.0 range mandated by the annotation policy.

type Label struct {
 LabelID string `json:"labelId"`
 StartTime int64 `json:"startTime"`
 EndTime int64 `json:"endTime"`
 Confidence float64 `json:"confidence"`
}

payload := struct {
 Labels []Label `json:"labels"`
}{
 Labels: []Label{
 {LabelID: "sent_neg_01", StartTime: 1200, EndTime: 4500, Confidence: 0.92},
 {LabelID: "sent_neg_02", StartTime: 1300, EndTime: 4400, Confidence: 0.88},
 },
}
// req, _ := http.NewRequest("PUT", url, bytes.NewBuffer(jsonBytes))
// req.Header.Set("Content-Type", "application/json")

Error

Response returns 400 Bad Request. "message": "Validation failed: Overlapping timestamps detected. Max label count per segment exceeded.".

Question

The timestamp overlap is intentional to support MULTI_CLASS_SENTIMENT classification. The WEBHOOK_CALLBACK for dashboard refresh is not triggering, resulting in a stale ADMIN_UI state. The admin console confirms the LABEL_TAXONOMY_MATRIX permits overlaps. Is the Go struct serialization corrupting the millisecond timestamps? The MAX_LABEL_COUNT error triggers despite only two labels being submitted. The validation logic appears to interpret the overlap as a new SEGMENT_BOUNDARY. Latency on the PUT request remains under 200ms, ruling out timeout conditions. The audit log consistently outputs ANNOTATION_NOISE_DETECTED.