up: refuse, not just notice, an existing dev container that lacks the harness-pool runtime mount #111

Closed
opened 2026-10-20 08:55:43 +02:00 by pti · 0 comments
Owner

Follow-up to #102 and #107 found while reviewing the Phase 4 closure docs. On the devcontainer runtime, wraptool up requires devcontainer.json to declare the read-only runtime/ mount and refuses otherwise. But a container created before that declaration was added is reused as-is by devcontainer up, since a container's mounts are fixed at creation. Today devcontainerStaleRuntimeMountNotice in cmd/up.go only prints a notice to stderr and proceeds, so a container built against the unsupported wraptool:0 major keeps running the per-image binary with no pool generation involved, which contradicts the no-fallback rule every other path enforces. Proposal: when devcontainerRuntimeMountStale reports the live container has no mount at /opt/wraptool-harness/runtime, stop before devcontainer up with an error naming wraptool down --rm and wraptool up, the same way the missing-declaration case already does. Keep the notice text as the error body. Add a test on the stale path mirroring the missing-declaration tests. TODO.md keeps this as the one open Before 1.0 sub-item until it lands.

Follow-up to #102 and #107 found while reviewing the Phase 4 closure docs. On the devcontainer runtime, wraptool up requires devcontainer.json to declare the read-only runtime/ mount and refuses otherwise. But a container created before that declaration was added is reused as-is by devcontainer up, since a container's mounts are fixed at creation. Today devcontainerStaleRuntimeMountNotice in cmd/up.go only prints a notice to stderr and proceeds, so a container built against the unsupported wraptool:0 major keeps running the per-image binary with no pool generation involved, which contradicts the no-fallback rule every other path enforces. Proposal: when devcontainerRuntimeMountStale reports the live container has no mount at /opt/wraptool-harness/runtime, stop before devcontainer up with an error naming wraptool down --rm and wraptool up, the same way the missing-declaration case already does. Keep the notice text as the error body. Add a test on the stale path mirroring the missing-declaration tests. TODO.md keeps this as the one open Before 1.0 sub-item until it lands.
pti closed this issue 2026-10-20 10:10:38 +02:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
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
pti/wraptool#111
No description provided.