Pin woltspace version in wolt env to survive cold starts
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 12
- Forks
- 1
- Avg merge
- 7h 13m
- Merged PRs (30d)
- 31
Description
the problem
when a wolt runs /update inside the container, it git-pulls new code into the running container's filesystem. this works great — until the container is removed and recreated. on cold start, it spins up from the original docker image, which still has the old code baked in. the in-app update is lost.
currently there's no way for the container to know "I should be running version X" on boot.
proposed fix
add a WOLTSPACE_VERSION field to the wolt's .env (or woltspace.json). this is the version the user expects to be running — set by /update after a successful pull, or manually by the user.
on container boot (entrypoint_setup.py or entrypoint.sh), check:
- read
WOLTSPACE_VERSIONfrom env/config - compare to the baked image version (
.versionfile, already stamped during build) - if they differ,
git fetch && git checkout $WOLTSPACE_VERSIONbefore starting services
this way, a cold start always converges to the version the user last approved — whether that came from /update, a tagged release, or a manual pin.
when this matters
- once tagged releases exist, users can pin
WOLTSPACE_VERSION=v1.2.3and know exactly what they're running /updatesets it automatically after a successful pull:WOLTSPACE_VERSION=$(git rev-parse --short HEAD)woltspace rebuildbakes the latest into the image AND stamps the version, so they're in sync- rollback becomes: change
WOLTSPACE_VERSIONto the old tag, restart
edge cases to handle
- version not set → default to whatever's baked in the image (current behavior, no regression)
- version set but unreachable (network down, deleted tag) → warn and fall back to baked version
- shallow clone can't reach old tags → may need
git fetch --unshallowor--depth=N
related
/updateskill already stamps.state/woltspace-versionper session — this would make it authoritative across cold starts- the
.versionfile baked into the image during build is the comparison baseline
🤖 Generated with Claude Code
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with entrypoint_setup.py or entrypoint.sh, the .version file, and the existing /update skill that writes .state/woltspace-version. Trace how the container is built and initialized, then define the fallback behavior for missing, unreachable, or shallow-clone versions. Done means a configured version survives cold starts without changing current behavior when no version is set.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, git, python, shell
- Domain
- devops, infrastructure, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100