fix(image): ship the sirens-dowel skill root, which is crashlooping the lane #972
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!972
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/ship-the-dowel-skill-root"
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
sirens-dowellane is in CrashLoopBackOff right now and has been for atleast 90 minutes. 422 BackOff events, 22 restarts, on image
d887bd8a, whichis current main. The stream is tomorrow.
The failure
The container starts and exits:
deploy#666 added
.agents/skills/sirens-dowelto that lane'slocal_skill_roots, and correctly: the root exists in this repository andcarries the lane's own
SKILL.mdplussite-work.mdanddowel-provenance.md.It is not in the image. The final stage copies
sirens-echo-community,sirens-echo-knowledge,coilyco-general, andcoilyco-org.sirens-dowelships in git and never reaches
/app.LoadSkillpackwalks what the definitionnames,
lstatfails, andNewAgentreturns an error before the process canserve anything.
The README calls
local_skill_rootsthe one field where divergence from theimage is a bug rather than a preference, and frames the risk as a quiet
omission. This is the loud half of the same defect: naming a root the image does
not carry is a startup crash.
The change
One
COPYin the final stage, which is what a definition resolves against, andone in the build stage beside the other roots so the policy check sees the same
tree.
If this needs to be faster than a build
Removing
.agents/skills/sirens-dowelfromlocal_skill_rootsinsirens-dowel-definition.ymland rolling restores the lane immediately with norebuild. That is the rollback, not the fix: the lane then runs without its own
skill root, which is what deploy#666 set out to give it, and what #967 is adding
content to. Merging this and letting the publish plus reconciler run is the fix.
Also wedged in that namespace, separately
Not addressed here, both visible in the same event stream:
quire-68db977c49-cmczdisImagePullBackOff, 723 events, on image tagquire:REPLACE_WITH_IMAGE_SHA— a literal placeholder.sirens-dowel-quirefails 32 times on/sirens-dowel/quire-api-token,Secret does not exist.Those are coilyco-bridge/deploy#664's wiring, and coilyco-bridge/deploy#667 and
#668 already track the token and the revert. They do not block the harness,
which is its own Deployment, but they are noise in the same namespace on demo
eve.
No test here, deliberately
The invariant worth pinning is that a definition names only roots the image
carries, and this repository cannot see deploy's definitions. Asserting the
shipped set against a list in a test would restate the Dockerfile rather than
check it, and two roots are deliberately unshipped (
ops-social-discord,repo-sirens-echo), so "every root ships" is false.The real guard is a skill-root check deploy's CI can run against the ConfigMap
the way it already runs
sirens-echo-access-checkagainst the access policy.Worth its own change, not this one.
go build ./...andpre-commit run --files Dockerfilepass. The image builditself is what this PR's own
image-buildjob proves.