fix(config): refuse Echo's service name for a definition that is not Echo's #703
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!703
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/instance-name-not-a-live-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?
The fallback for an unset
InstanceNameissirens-echo, which is a live running service. A process given another definition and noSIRENS_ECHO_INSTANCEdoes not report as unknown or misconfigured — it reports as Echo. That is the mechanism behind the 891 Deep-profile spans Quail found carryingservice.name = sirens-echoon #542.Why not either fix that was suggested
Echo's own
services/sirens-echo/deploy/values.yamlsets neitherSIRENS_ECHO_DEFINITIONnorSIRENS_ECHO_INSTANCE. Renaming the fallback renames Echo's live service and invalidates the dashboards built on it; refusing to start crash-loops Echo. Both are right about the defect and would break the service that has it.The fallback is not wrong in general. It is wrong for a definition that is not Echo's, so it is refused there and kept here.
Blast radius, audited rather than assumed
Every manifest in
bridge/deploy: exactly one deployment names a non-Echo definition,sirens-deep-values.yaml, and it setsSIRENS_ECHO_INSTANCE: sirens-deeptwo lines later.coilyco-generalis not deployed anywhere. No running workload changes behaviour.The mistake worth recording
The first version compared
definitionPathto the default path string. That called this repository's own tests a foreign profile, because they reach Echo's definition through../../agent/sirens-echo.yaml. Deploy names it absolutely and the tests relatively, and both are the same definition. The discriminator is the file, not the path to it. Eight existing tests failed and are what caught it.Four other tests genuinely run Deep's definition and now set the instance name, which is exactly what Deep's real deployment already does.
Verification
ward exec gatePASS on all six steps.Mutation: with the guard forced to
if false,TestANonEchoDefinitionCannotDefaultToEchosNameandTestAWhitespaceNameIsNotANamefail in a run where the package compiles. My first attempt at this mutation stashed the change and got a build failure instead, which is the #653 trap — reported here because the distinction is the whole value of the check.closes #702