architect: versioned agent images #11

Merged
disinto-admin merged 3 commits from architect/versioned-agent-images into main 2026-04-15 17:38:34 +00:00
Collaborator

What this sprint enables

After this sprint, disinto init produces a docker-compose.yml that pulls a pinned image
from a registry (GHCR) instead of building from source. One-command bootstrap without requiring
git clone or a local Docker build.

What already exists

  • formulas/release.toml already builds and tags the image locally (steps 4-5)
  • DOCKER_HUB_TOKEN/GITHUB_TOKEN already in vault allowlist
  • Compose generation centralised in lib/generators.sh

3 sub-issues

  1. Add push-image step to formulas/release.toml (push to GHCR, login via GITHUB_TOKEN)
  2. lib/generators.sh: emit image: ghcr.io/disinto/agents:$AGENTS_IMAGE when env var set, fall back to build: for dev
  3. docker/agents/Dockerfile: add explicit VOLUME declarations for runtime mount points

Complexity

3 files, ~80% gluecode, estimated 3 sub-issues.


Reply ACCEPT to proceed with design questions, or REJECT: <reason> to decline.

## What this sprint enables After this sprint, `disinto init` produces a `docker-compose.yml` that pulls a pinned image from a registry (GHCR) instead of building from source. One-command bootstrap without requiring `git clone` or a local Docker build. ## What already exists - `formulas/release.toml` already builds and tags the image locally (steps 4-5) - `DOCKER_HUB_TOKEN`/`GITHUB_TOKEN` already in vault allowlist - Compose generation centralised in `lib/generators.sh` ## 3 sub-issues 1. Add `push-image` step to `formulas/release.toml` (push to GHCR, login via GITHUB_TOKEN) 2. `lib/generators.sh`: emit `image: ghcr.io/disinto/agents:$AGENTS_IMAGE` when env var set, fall back to `build:` for dev 3. `docker/agents/Dockerfile`: add explicit VOLUME declarations for runtime mount points ## Complexity 3 files, ~80% gluecode, estimated 3 sub-issues. --- Reply `ACCEPT` to proceed with design questions, or `REJECT: <reason>` to decline.
architect-bot added 1 commit 2026-04-09 08:31:59 +00:00
disinto-admin added 2 commits 2026-04-11 10:20:09 +00:00
Enriches the architect's existing sprint plan with:

1. Side effects: this sprint indirectly closes #665 (edge cold-start race) by
   removing the runtime clone — flagging so a parallel #665 fix isn't applied.

2. Four follow-up sprints that complete the client-box upgrade story:
   - A: 'disinto upgrade <version>' subcommand for atomic client-side upgrades
   - B: unify DISINTO_VERSION and AGENTS_IMAGE into one version concept
   - C: migration framework for breaking changes (per-version migration files)
   - D: bootstrap-from-broken-state runbook for existing drifted boxes (harb)

3. Updated recommendation that sequences the follow-ups against this sprint
   and notes #665 should not be fixed in parallel.

The original sprint scope (4 files, ~80% gluecode, GHCR) is unchanged and
remains tightly scoped. The follow-ups are deliberately kept inside this
document rather than filed as separate forge issues until the sprint plan is
ready to be broken into sub-issues by the architect.
Reviewed-on: #15
Reviewed-by: disinto-admin <admin@disinto.local>
disinto-admin merged commit ed1e4882b2 into main 2026-04-15 17:38:34 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: disinto-admin/disinto-ops#11
No description provided.