From ec93a48a5a1c838161f1e556b54ca8a749206081 Mon Sep 17 00:00:00 2001 From: konard Date: Wed, 18 Mar 2026 12:46:19 +0000 Subject: [PATCH 1/3] Initial commit with task details Adding .gitkeep for PR creation (default mode). This file will be removed when the task is complete. Issue: https://github.com/ProverCoderAI/docker-git/issues/158 --- .gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitkeep diff --git a/.gitkeep b/.gitkeep new file mode 100644 index 00000000..4ae92921 --- /dev/null +++ b/.gitkeep @@ -0,0 +1 @@ +# .gitkeep file auto-generated at 2026-03-18T12:46:18.973Z for PR creation at branch issue-158-d548e00afaff for issue https://github.com/ProverCoderAI/docker-git/issues/158 \ No newline at end of file From 4af8b1132a552111b59dd6fae4e469cf14bf4217 Mon Sep 17 00:00:00 2001 From: konard Date: Wed, 18 Mar 2026 16:42:37 +0000 Subject: [PATCH 2/3] fix(core): run state sync before docker compose up to prevent broken bind mounts autoSyncState does git-reset-hard which replaces directory inodes on disk. When it ran after docker compose up, the bind mount for .orch/auth/codex (mounted as /home/dev/.codex) pointed to a deleted inode, leaving the container with an empty CODEX_HOME directory. This caused codex inside the container to fail with: "Error loading configuration: No such file or directory" Moving autoSyncState before runDockerUpIfNeeded ensures bind mount source directories are stable before the container starts. Fixes ProverCoderAI/docker-git#158 Co-Authored-By: Claude Opus 4.6 --- packages/lib/src/usecases/actions/create-project.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/lib/src/usecases/actions/create-project.ts b/packages/lib/src/usecases/actions/create-project.ts index 249aff98..4ee357d9 100644 --- a/packages/lib/src/usecases/actions/create-project.ts +++ b/packages/lib/src/usecases/actions/create-project.ts @@ -263,6 +263,14 @@ const runCreateProject = ( const hasAgent = finalConfig.agentMode !== undefined const waitForAgent = hasAgent && (finalConfig.agentAuto ?? false) + // CHANGE: run state sync before docker compose up + // WHY: autoSyncState does git-reset-hard which replaces directory inodes; + // running it after docker-up invalidates bind mounts (e.g. .orch/auth/codex → /home/dev/.codex) + // causing "Error loading configuration: No such file or directory" inside the container. + // REF: issue-158 + // INVARIANT: bind mount source directories must be stable before container start + yield* _(autoSyncState(`chore(state): update ${formatStateSyncLabel(projectConfig.repoUrl)}`)) + yield* _( runDockerUpIfNeeded(resolvedOutDir, projectConfig, { runUp: command.runUp, @@ -278,7 +286,6 @@ const runCreateProject = ( yield* _(maybeCleanupAfterAgent(waitForAgent, resolvedOutDir)) - yield* _(autoSyncState(`chore(state): update ${formatStateSyncLabel(projectConfig.repoUrl)}`)) yield* _(maybeOpenSsh(command, hasAgent, waitForAgent, projectConfig)) }).pipe(Effect.asVoid) From dcc26c900bb280a43a1db87bfa93eb7da43d796c Mon Sep 17 00:00:00 2001 From: konard Date: Wed, 18 Mar 2026 16:44:38 +0000 Subject: [PATCH 3/3] Revert "Initial commit with task details" This reverts commit ec93a48a5a1c838161f1e556b54ca8a749206081. --- .gitkeep | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .gitkeep diff --git a/.gitkeep b/.gitkeep deleted file mode 100644 index 4ae92921..00000000 --- a/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# .gitkeep file auto-generated at 2026-03-18T12:46:18.973Z for PR creation at branch issue-158-d548e00afaff for issue https://github.com/ProverCoderAI/docker-git/issues/158 \ No newline at end of file