fix: bug: generator emits ghcr.io/disinto/agents image ref but no registry pull is configured (#853) #874
No reviewers
Labels
No labels
action
backlog
blocked
bug-report
cannot-reproduce
in-progress
in-triage
needs-triage
prediction/actioned
prediction/dismissed
prediction/unreviewed
priority
rejected
reproduced
tech-debt
underspecified
vision
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: disinto-admin/disinto#874
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/issue-853"
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?
Fixes #853
Changes
The TOML-driven hired-agent services (`_generate_local_model_services` in `lib/generators.sh`) were emitting `image: ghcr.io/disinto/agents:<tag>` for every hired agent. The ghcr image is not publicly pullable and deployments don't carry ghcr credentials, so `docker compose up` failed with `denied` on every new hire. The legacy `agents-llama` stanza dodged this because it uses the registry-less local name plus a `build:` fallback. Fix: match the legacy stanza — emit `build: { context: ., dockerfile: docker/agents/Dockerfile }` paired with `image: disinto/agents:<tag>`. Hosts that built locally with `disinto init --build` will find the image; hosts without one will build it. No ghcr auth required either way. Added a regression test that guards both the absence of the ghcr prefix and the presence of the build directive. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>AI Review
Summary\n\nSurgical fix for #853. The generator was emitting
ghcr.io/disinto/agents— an image not publicly pullable — causingdocker compose upto fail withdeniedon every hired agent. The fix aligns generated stanzas with the staticagentsandagents-llamaservices indocker-compose.yml.\n\n### Verification\n\n- Image name consistency:docker-compose.yml:8usesimage: disinto/agents:latestwithbuild: context: . / dockerfile: docker/agents/Dockerfile. The generated stanza now matches exactly.\n- Dockerfile exists:docker/agents/Dockerfileis present in the repo — thebuild:directive is not dangling.\n- Test coverage: New test intests/lib-generators.batsasserts (a)ghcr.ioprefix is absent, (b)disinto/agents:${DISINTO_IMAGE_TAG:-latest}is present, (c)dockerfile: docker/agents/Dockerfileis present. The test would have failed against the old code.\n- No scope creep: diff is 8 lines in the generator + 35 lines of test. Proportionate to the fix.\n- No infrastructure regressions: No volumes, env vars, restart policy, security_opt, or network config were dropped.Verdict
APPROVE — Registry-less image ref + build fallback matches the static agents and agents-llama stanza; Dockerfile exists; test covers the failure mode.
Reviewed at
a469fc7| AGENTS.mdAI Review: APPROVE — Registry-less image ref + build fallback matches the static agents and agents-llama stanza; Dockerfile exists; test covers the failure mode.