fix(eval): an evaluation run is not the production deployment #543
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!543
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/evaluation-is-not-the-production-service"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
closes #533
The remaining design question is #542, so this can close #533 honestly.
Found by Quail, who measured it precisely and named two explanations they could not separate from telemetry. It is a third thing, which is exactly why telemetry could not separate them.
The mechanism
cmd/sirens-echo-eval/main.gobuilt its telemetry config as a literal and never setInstanceName. It does not go throughLoadConfig, so it never readsSIRENS_ECHO_INSTANCE, andtelemetry.goresolved the zero string to thesirens-echodefault.One binary serves both profiles. So
eval-echo,eval-deep,board-deep, andrate-deepall reported as the Echo deployment.Why it matters more than a label
service.name = sirens-echowas not one service. It was the production deployment plus every evaluation run of both profiles.Most of what the production service appeared to be doing was evaluation. Error rate, latency, token spend, and the cache-hit ratio I measured earlier today were all wrong in the same direction, and every one of them read as a plausible figure.
sirens-deeplooked clean at 1.006 — and looked clean because its evaluation traffic was being billed to the other service. One contaminated service beside a clean one reassures rather than prompting a question, which is why this survived being looked at directly by more than one of us.The change
Three lines and a constant. The run names itself
sirens-echo-eval.The test pins the invariant rather than the string: the name is neither deployment, is a valid lowercase service name, and is not empty — because an empty one falls back to the very default this replaces, so an emptying regression would be silent.
A doc records what the numbers were, since anyone comparing a dashboard across this change will see a step and deserve to know it is the fix rather than an outage.
ward exec gategreen.