Commit b99af57
Minimal #696 fix per board decision (MCP-2744): drop the direct-exec spawn
migration and all DOCKER_* env experiments; keep only the negative-cache fix.
Root cause of 'status shows docker_path but spawn used bare docker': under a
LaunchAgent/sandbox the first resolution can fail because only the restricted
login-shell leg failed, caching a negative for dockerPathNegativeTTL=60s. Early
upstream spawns hit that window and fall back to bare 'docker'. The well-known
-path probe is a pure os.Stat (never sandbox- or login-shell-restricted), so a
live cached negative must not shadow a docker binary present at a well-known
path right now. ResolveDockerPath now re-runs the cheap os.Stat probe before
honoring a still-live negative and, on success, upgrades the cache to a
permanent success.
With the cache fixed, the existing post-#697 shell wrap runs the resolved
ABSOLUTE docker path as the command token, so login-shell PATH is irrelevant
and #696 is fixed with no Colima regression and no env handling change. The
direct-exec migration + login-shell env hydration are deferred to a separate
systematic task.
TDD: TestResolveDockerPath_StatProbeOverridesLiveNegative asserts a successful
os.Stat well-known probe wins over a still-live cached negative (no TTL expiry).
Related #696
Co-authored-by: Paperclip <noreply@paperclip.ing>
1 parent 79849e0 commit b99af57
2 files changed
Lines changed: 65 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
217 | 217 | | |
218 | 218 | | |
219 | 219 | | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
228 | 239 | | |
| 240 | + | |
229 | 241 | | |
230 | 242 | | |
231 | 243 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
219 | 219 | | |
220 | 220 | | |
221 | 221 | | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
222 | 267 | | |
223 | 268 | | |
224 | 269 | | |
| |||
0 commit comments