Skip to content

[codex] Reduce Docker startup rebuilds#82

Open
den-sq wants to merge 3 commits into
mainfrom
codex/docker-build-readiness
Open

[codex] Reduce Docker startup rebuilds#82
den-sq wants to merge 3 commits into
mainfrom
codex/docker-build-readiness

Conversation

@den-sq

@den-sq den-sq commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • stop forcing a Docker Compose rebuild on production app startup
  • route main-server development through python/compose.dev.yml with a bind-mounted Python package and Uvicorn reload
  • route plugin-template backend development through backend/compose.dev.yml with a bind-mounted backend/app and FastAPI dev mode
  • update Docker build readiness docs and plugin-template docs with the new dev/rebuild split

Refs #78

Validation

  • node --check plugins/plugin-template/backend-dev.cjs
  • git -C ouroboros diff --check

Not run

  • docker compose -f python/compose.dev.yml config could not run because Docker is unavailable in this WSL distro.
  • docker compose -f plugins/plugin-template/backend/compose.dev.yml config could not run because Docker is unavailable in this WSL distro.
  • npm run typecheck:node could not start because tsc is missing from node_modules/.bin.

@den-sq den-sq self-assigned this Jun 23, 2026
@den-sq den-sq mentioned this pull request Jun 23, 2026
@den-sq den-sq marked this pull request as ready for review June 23, 2026 02:04
@tavateva

tavateva commented Jun 23, 2026

Copy link
Copy Markdown

Draft Promotion Review ⚠️ CONDITIONALLY BLOCKED

Reviewed against Draft Promotion Criteria.

Special case: Issue #78 lists 4 components; accepting that each can be a separate PR.

Criterion Assessment

  1. CI and mergeability: ⚠️ AMBIGUOUS → FAIL — Mergeable, but 0 CI checks
  2. Issue Acceptance Criteria: ⚠️ PARTIAL SCOPE ACCEPTED — This PR addresses 1 of 4 components (hot reloading). Partial implementation is acceptable if issue remains open for remaining components.
  3. PR body Test Plan checkboxes: ⚠️ ENVIRONMENTAL BLOCKER — Docker compose validation explicitly gated on Docker availability (unavailable in WSL)
  4. Tests run: ⚠️ ENVIRONMENTAL CONSTRAINT — Static checks (node --check, git diff --check) passed; Docker runtime checks blocked by environment
  5. Scope: ✅ PASS (revised) — PR scope is hot-reload dev; acceptable as partial implementation of Minimize Docker Builds #78
  6. Regressions: ⚠️ LIMITED VERIFICATION — Static checks passed, runtime validation unavailable
  7. Judgement calls: ⚠️ NEEDS VERIFICATION

VERDICT: ⚠️ CONDITIONALLY BLOCKED

Remaining Concerns

Primary blocker: Docker compose file changes cannot be runtime-validated in the authoring environment.

Per criterion #3, the deferral is "concretely gated on an external input the author has explicitly surfaced" (Docker unavailable in WSL). However, criterion #4 states tests "must have been executed" — the question is whether environmental unavailability is an acceptable exception.

Remediation Options

Option 1 (recommended): Have another reviewer with Docker access validate the compose files and report results as a comment.

Option 2: If compose file changes are trivial/low-risk (bind mounts, service definitions), accept static validation as sufficient and note that runtime testing is deferred to the first user who runs it.

Option 3: Author obtains Docker access (native Linux, macOS, or different WSL distro with Docker configured) and validates.

Issue #78 Tracking

If this PR is promoted as a partial implementation:

  • ✅ Hot Reloading (this PR)
  • ⏳ Use GPU containers as base (separate PR needed)
  • ⏳ Use container registry (separate PR needed)
  • ⏳ Build non-docker .exe files (separate PR needed)

Recommend creating tracking issues for the 3 remaining components or leaving #78 open until all components are addressed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants