Skip to content

fix(service-manager): compose timeout, shell-free spawn, pinned image tags - #59

Merged
clduab11 merged 2 commits into
codex/uat-macos-readinessfrom
copilot/sub-pr-56-another-one
Feb 24, 2026
Merged

fix(service-manager): compose timeout, shell-free spawn, pinned image tags#59
clduab11 merged 2 commits into
codex/uat-macos-readinessfrom
copilot/sub-pr-56-another-one

Conversation

Copilot AI commented Feb 24, 2026

Copy link
Copy Markdown
Contributor

runComposeUp could hang indefinitely on a blocked docker compose up, and shell-string construction in composeCommand introduced unnecessary injection surface. Docker image tags were all floating :latest, breaking reproducibility.

Changes

Process-level timeout for runComposeUp

  • Added COMPOSE_UP_TIMEOUT_MS = 300_000 (5 min) module constant
  • settle() guard prevents double-resolve/reject; on expiry calls proc.kill() and rejects with structured { status: null, stdout: '', stderr: 'Process timed out after …ms' }

Shell-free spawn via ComposeCommand refactor

  • composeCommand() now returns { bin: string; args: string[] } instead of a shell string
  • runComposeUp switches from spawn(cmd, { shell: true })spawn(bin, args, { shell: false })
  • stopService / status updated to execFileSync(bin, args, …); execSync import removed
// before
spawn(`docker compose -f ${profile.composeFile} up -d`, { shell: true,})

// after
const { bin, args } = composeCommand(profile, 'up -d', profile.services);
spawn(bin, args, { shell: false,})

Pinned docker image tags

  • All 7 dockerImages entries changed from :latest:v1.0.0 for reproducible deployments

Already-addressed duplicates (no change needed)

  • wrapComposeStartError already returns CodexSynapticError
  • dockerLogin already async with spawn (no shell)

🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.


Continue Tasks: ✅ 1 no changes — View all

@clduab11 clduab11 changed the title [WIP] Plan and implement improvements for Chunk 1 of MCP launch [WIP] Plan and implement improvements for Chunk 1 of MCP launch [PAP-17] Feb 24, 2026
@notion-workspace

Copy link
Copy Markdown

…e tags

Co-authored-by: clduab11 <185000089+clduab11@users.noreply.github.com>
Copilot AI changed the title [WIP] Plan and implement improvements for Chunk 1 of MCP launch [PAP-17] fix(service-manager): compose timeout, shell-free spawn, pinned image tags Feb 24, 2026
Copilot AI requested a review from clduab11 February 24, 2026 16:28
@clduab11
clduab11 marked this pull request as ready for review February 24, 2026 16:28
@clduab11
clduab11 merged commit 40f8c72 into codex/uat-macos-readiness Feb 24, 2026
1 of 2 checks passed
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

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