Summary
Long-lived app containers have no Docker Healthcheck and no enforced memory or build-timeout limits, despite CONTEXT.md documenting "container memory (2GB), build timeout (15 min)".
Evidence
runLongLived() (packages/worker/src/infrastructure/docker/docker-runner.ts:336) sets only RestartPolicy: { Name: "unless-stopped" } — no Healthcheck (line 353).
create() supports Memory + a kill timeout (docker-runner.ts:229) but is never called by any build-pack strategy.
buildTimeout (packages/shared/src/schema.ts:83, default 900) is surfaced by the API but never read by the worker.
Scope
- Add a Docker
Healthcheck (TCP/HTTP probe on the app port).
- Actually pass memory and build-timeout limits through the build path, or remove the claims from CONTEXT.md (see the CONTEXT.md stale-docs issue).
Summary
Long-lived app containers have no Docker
Healthcheckand no enforced memory or build-timeout limits, despite CONTEXT.md documenting "container memory (2GB), build timeout (15 min)".Evidence
runLongLived()(packages/worker/src/infrastructure/docker/docker-runner.ts:336) sets onlyRestartPolicy: { Name: "unless-stopped" }— noHealthcheck(line 353).create()supportsMemory+ a kill timeout (docker-runner.ts:229) but is never called by any build-pack strategy.buildTimeout(packages/shared/src/schema.ts:83, default 900) is surfaced by the API but never read by the worker.Scope
Healthcheck(TCP/HTTP probe on the app port).