Retire repo-recall's bespoke deploy + repoint build to the in-cluster registry #113
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
2 participants
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/repo-recall#113
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Scope
The repo-recall side of the deploy migration. The deploy surface itself is built in the monorepo under
coilyco-bridge/deploy#17(addsservices/repo-recall/+ CD). This issue does the two things that land in this repo: repoint the build, and shed the deploy.Depends on
coilyco-bridge/deploy#17Phase 2 being green. Do not delete the old deploy path here until the monorepo CD has proven it rolls the live service. repo-recall is live and healthy (nsrepo-recall,1/1, ~29d) - keep it serving.Work
1. Repoint build-publish to the in-cluster registry.
.forgejo/workflows/build-publish-deploy.ymlcurrently builds + pushes192.168.0.194:30500/repo-recall-api:${sha}(correct registry) but the live pod drifted ontoghcr.io/coilysiren/repo-recall-api:sha-d48225e. The house registry of record is the in-cluster registry192.168.0.194:30500(matching atlas/eco-app), NOT ghcr and NOT Docker Hub. Ensure this repo's build publishes192.168.0.194:30500/repo-recall-api:${sha}and nothing publishes to ghcr anymore. The monorepomain.yml(deploy#17) pins this same image.2. Retire the bespoke deploy (only after deploy#17 Phase 2 is green).
Per the bridge/deploy boundary rule (deploy concerns must not live in a service's own repo):
deploy/repo-recall.yml..forgejo/workflows/build-publish-deploy.ymlto build-publish only - build + push192.168.0.194:30500/repo-recall-api:${sha}, drop the kubectl/deploy job entirely. The repo keeps building its image (build is not a deploy concern); it stops owning the rollout.README.md/docs/FEATURES.mddeploy section atcoilyco-bridge/deployservices/repo-recall/.Acceptance
192.168.0.194:30500/repo-recall-api:<sha>; no ghcr/Docker Hub publish remains.deploy/repo-recall.ymlis gone; the workflow is build-publish only, no deploy job.pre-commit run --all-filesgreen.Why headless
All code in this repo. The cluster, secrets, and the new deploy surface are handled by deploy#17; this is a registry string + a deletion + a workflow trim. No design fork (registry = in-cluster
192.168.0.194:30500, decided here). The ordering guard (wait for deploy#17 Phase 2) keeps the running service safe.Re-prove the push-to-main build->deploy loop and reconcile manifest image driftto Onboard repo-recall into the bridge/deploy monorepo and retire its bespoke deploy🔒 Reserved by
ward agent claude— containerward-repo-recall-issue-113-claude-be4849feon hostkais-macbook-pro.localis carrying this issue (reserved 2026-06-18T07:55:59Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (2h0m0s TTL);--forceoverrides.— Claude (she/her), via
ward agentOnboard repo-recall into the bridge/deploy monorepo and retire its bespoke deployto Retire repo-recall's bespoke deploy + repoint build to the in-cluster registryStatus from
ward agent claude(containerward-repo-recall-issue-113-claude-be4849fe)Picked up #113 but I'm stopping without changing this repo, because the issue can't be safely carried end-to-end from a
repo-recall-scoped container. Surfacing rather than guessing.Where the work actually lives:
services/repo-recall/:deploy/{namespace,main}.yml,scripts/rollout.sh, Makefile/ward/coily verbs, path-scopeddeploy-repo-recall.yml, then prove CD green) →coilyco-bridge/deploy.repo-recall) →infrastructure.deploy/repo-recall.yml; reducebuild-publish-deploy.ymlto build-publish-only) → this repo — but explicitly gated on Phase 2 being green to keep the service1/1.Why I stopped: this container targets
repo-recall.coilyco-bridge/deployandinfrastructureare present only as read-only/substratereference copies, and container doctrine forbids (a) pushing to repos other than the target and (b) pushing from/substrate. The only in-repo work, Phase 3, is unsafe to do first — retiring the bespoke path before the bridge/deploy path is proven would break the live deploy, which the issue forbids ("do NOT delete the old path until the new one is proven"; "stays1/1across the whole migration"). With no explicit cross-repo opt-in, the doctrine wall holds.Recommended sequencing:
coilyco-bridge/deploycontainer, and the RoleBinding from aninfrastructurecontainer.deploy-repo-recallis green and the live api image isdocker.io/coilysiren/repo-recall-api:<tag>, re-run arepo-recallcontainer for Phase 3.No code changed in this repo; tree left clean; #113 left open.
— Claude (she/her), via
ward agent🛫 ward pre-flight: NO-GO
ward agent claude headlessran a pre-flight feasibility read on this issue before detaching a fire-and-forget run, and the agent judged it NO-GO - it should not be carried unattended until a human weighs in.No container was launched. Review the issue (clarify the scope, resolve the unknown, or split it), then re-dispatch -
ward agent claude headless <ref> --no-preflightskips this gate once you've decided it's good to go.full pre-flight read
The hard dependency is external and unverifiable from here: Part 2 (delete
deploy/repo-recall.yml, trim the workflow to build-publish-only) is explicitly gated oncoilyco-bridge/deploy#17Phase 2 being green and proving the monorepo CD rolls the live service - and the most recent comment is the prior ward agent stopping for exactly this reason, with no confirmation that Phase 2 has since gone green. Part 1 (repoint build to192.168.0.194:30500) is safe and in-repo, but full acceptance requires the gated deletion, and doing it before the new path is proven risks breaking a live, healthy service (1/1, ~29d). I can't confirm the gate from the issue text alone, and unattended I'd either stall on a partial or risk the running deploy.NO-GO: full acceptance requires deleting the bespoke deploy, which is gated on deploy#17 Phase 2 being proven green - an external state unverifiable from the issue, and the latest comment shows it was not yet confirmed. A human should confirm Phase 2 is green (or explicitly authorize Part-1-only) before this runs unattended.
Posted automatically by
ward agent claude headlesspre-flight (ward#147, ward#149).— Claude (she/her), via
ward agent