fix/up!: refuse an existing dev container that lacks the harness-pool runtime mount #114
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/up-refuse-stale-container"
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?
Closes #111. On the devcontainer runtime a container created before devcontainer.json declared the read-only runtime/ mount is reused as-is by devcontainer up, since a container's mounts are fixed at creation. wraptool up used to print a notice and proceed, so a wraptool:0 container kept running its per-image binary and a wraptool:1 container that predates the declaration ran with no harness at all. The notice is now a refusal, devcontainerStaleRuntimeMountError, checked in the preflight before the token, the bind and the server, and re-checked in the bring-up before devcontainer up. The docker inspect probe sits behind a package var seam for tests, and no container or an unreadable docker still counts as not stale. Tests cover the refusal before the server, the bring-up re-check, the preflight ordering where a missing declaration wins, and the no-container happy path. Mutation checks done. Design section 12.2, CLAUDE.md, a troubleshooting entry and a Breaking CHANGELOG bullet are updated, TODO.md ticks the last Before 1.0 sub-item. Reviewer pass done, nits fixed in the second commit. Generated with Claude Code.