Skip to content

runner: fetch the latest kit at session bootstrap instead of relying on bake-time pins #26

Description

@jorisjonkers-dev-agents

The real requirement is not more rebuild plumbing — it is that a session simply gets the newest kit. Today the kit version a runner serves is whatever was baked into the image (AGENT_KIT_BAKED_VERSION), which has been stuck at v1.1.0 against a v3.3.0 kit; even perfect release propagation (companion issue) still leaves running pods one recycle behind.

Proposal: make the runner's session bootstrap kit-freshness-aware:

  • At workspace/session start, resolve the latest kit runtime-home (GHCR runtime-home:latest-by-digest or the releases API), compare against the installed version, and overlay the newer home if one exists — with the baked copy as the offline/failure fallback so a registry outage never blocks a session.
  • Cache per pod so the check is one HTTP call per session start, not per prompt.
  • Surface the state: agent-kit doctor (or the session banner) should say baked vX / running vY / latest vZ so staleness is visible instead of silent.
  • AGENT_KIT_EXPECTED_VERSION already exists in the image env — today it merely mirrors the baked pin; repurpose or retire it as part of this.

Acceptance: cutting a kit release means the next session started on any existing runner pod runs the new kit, with no image rebuild and no recycle required.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions