From fb4c413412d3d6b134769cdc109ad9b4840e8d83 Mon Sep 17 00:00:00 2001 From: mkorwel Date: Sun, 15 Mar 2026 12:36:48 -0700 Subject: [PATCH] feat(offload): rename container to maintainer-worker and finalize COS integration --- .gemini/skills/offload/scripts/fleet.ts | 1 + .gemini/skills/offload/scripts/orchestrator.ts | 4 ++-- .gemini/skills/offload/scripts/status.ts | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.gemini/skills/offload/scripts/fleet.ts b/.gemini/skills/offload/scripts/fleet.ts index 41377378b0..1912fdae27 100644 --- a/.gemini/skills/offload/scripts/fleet.ts +++ b/.gemini/skills/offload/scripts/fleet.ts @@ -55,6 +55,7 @@ async function provisionWorker() { '--boot-disk-size', '200GB', '--boot-disk-type', 'pd-balanced', '--container-image', imageUri, + '--container-name', 'maintainer-worker', '--container-restart-policy', 'always', '--container-mount-host-path', 'host-path=/home/$(whoami)/dev,mount-path=/home/node/dev,mode=rw', '--container-mount-host-path', 'host-path=/home/$(whoami)/.gemini,mount-path=/home/node/.gemini,mode=rw', diff --git a/.gemini/skills/offload/scripts/orchestrator.ts b/.gemini/skills/offload/scripts/orchestrator.ts index c092c3713d..9b683bbb71 100644 --- a/.gemini/skills/offload/scripts/orchestrator.ts +++ b/.gemini/skills/offload/scripts/orchestrator.ts @@ -64,9 +64,9 @@ export async function runOrchestrator(args: string[], env: NodeJS.ProcessEnv = p let tmuxCmd = `cd ${remoteWorktreeDir} && ${remoteWorker}; exec $SHELL`; if (useContainer) { - // If in container mode, we jump into the shared 'gemini-sandbox' container + // If in container mode, we jump into the shared 'maintainer-worker' container // We must use -i and -t for the interactive tmux session - tmuxCmd = `docker exec -it -w /home/node/dev/worktrees/offload-${prNumber}-${action} gemini-sandbox sh -c "${remoteWorker}; exec $SHELL"`; + tmuxCmd = `docker exec -it -w /home/node/dev/worktrees/offload-${prNumber}-${action} maintainer-worker sh -c "${remoteWorker}; exec $SHELL"`; } const sshInternal = `tmux attach-session -t ${sessionName} 2>/dev/null || tmux new-session -s ${sessionName} -n 'offload' ${q(tmuxCmd)}`; diff --git a/.gemini/skills/offload/scripts/status.ts b/.gemini/skills/offload/scripts/status.ts index ae18a9284f..1275b31640 100644 --- a/.gemini/skills/offload/scripts/status.ts +++ b/.gemini/skills/offload/scripts/status.ts @@ -21,7 +21,7 @@ function getStatus() { const activeSessions = tmux.stdout.toString().split('\n').filter(s => s.startsWith('offload-')); // 2. Scan worktrees inside the CONTAINER - const findJobs = spawnSync('docker', ['exec', 'gemini-sandbox', 'ls', WORKTREE_BASE], { stdio: 'pipe' }); + const findJobs = spawnSync('docker', ['exec', 'maintainer-worker', 'ls', WORKTREE_BASE], { stdio: 'pipe' }); const jobs = findJobs.stdout.toString().split('\n').filter(d => d.startsWith('offload-')); if (jobs.length === 0 && activeSessions.length === 0) { @@ -42,11 +42,11 @@ function getStatus() { state = '🏃 RUNNING'; } else { // Check logs inside the container - const logCheck = spawnSync('docker', ['exec', 'gemini-sandbox', 'sh', '-c', `ls ${WORKTREE_BASE}/${id}/.gemini/logs/*.log 2>/dev/null | tail -n 1`], { stdio: 'pipe' }); + const logCheck = spawnSync('docker', ['exec', 'maintainer-worker', 'sh', '-c', `ls ${WORKTREE_BASE}/${id}/.gemini/logs/*.log 2>/dev/null | tail -n 1`], { stdio: 'pipe' }); const lastLogFile = logCheck.stdout.toString().trim(); if (lastLogFile) { - const logContent = spawnSync('docker', ['exec', 'gemini-sandbox', 'cat', lastLogFile], { stdio: 'pipe' }).stdout.toString(); + const logContent = spawnSync('docker', ['exec', 'maintainer-worker', 'cat', lastLogFile], { stdio: 'pipe' }).stdout.toString(); if (logContent.includes('SUCCESS')) state = '✅ SUCCESS'; else if (logContent.includes('FAILED')) state = '❌ FAILED'; else state = '🏁 FINISHED';