Skip to content

Fix Lume SSH readiness detection#193

Open
jmcte wants to merge 1 commit into
mainfrom
codex/lume-ssh-readiness
Open

Fix Lume SSH readiness detection#193
jmcte wants to merge 1 commit into
mainfrom
codex/lume-ssh-readiness

Conversation

@jmcte

@jmcte jmcte commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Reject Lume SSH probe output when deciding whether a newly cloned macOS slot is ready.
  • Prevent a zero-exit no IP address response from starting guest bootstrap before SSH is usable.

Governing Issue

Refs OMT-Global/lattice#709.

Validation

  • bash -n scripts/lume/lib.sh scripts/lume/run-slot.sh scripts/lume/create-slot.sh
  • Dependency-free probe harness: silent success returns 0; a zero-exit Lume no IP address response returns 1 and logs the retry.
  • git diff --check
  • pnpm exec vitest run test/lume-scripts.test.ts — unavailable because this clean worktree has no Vitest and the lockfile-pinned pnpm install --frozen-lockfile stopped on package-signature verification. The install was not bypassed.

Bootstrap Governance

  • No secrets, credentials, or runtime environment files are included.
  • The change preserves existing Lume labels and runner-group policy.

Merge Automation

  • Independent review and required CI are pending before merge.

Notes

  • The controller will be deployed under the explicit Lattice CI-repair authorization to unblock currently queued native checks, then Lattice #748 will be rerun for end-to-end confirmation.

Comment thread test/lume-scripts.test.ts
Comment on lines +265 to +284
const result = spawnSync(
"bash",
[
"-c",
[
'source "$1"',
'log() { printf "%s\\n" "$*" >&2; }',
'LUME_VM_NAME=macos-runner-slot-01',
'GUEST_USER=lume',
'GUEST_PASSWORD=test-password',
"wait_for_ssh",
].join("\n"),
"bash",
path.resolve("scripts/lume/lib.sh"),
],
{
encoding: "utf8",
env: { ...process.env, PATH: `${directory}:${process.env.PATH ?? ""}` },
},
);
@athena-omt athena-omt added status:needs-review PR is ready for Athena review. state:waiting-checks Waiting for CI/check status to settle. state:draft Draft PR; no review/repair execution yet. review:athena Athena review governance requested. labels Jul 22, 2026
@jmcte
jmcte marked this pull request as ready for review July 22, 2026 22:55
@jmcte
jmcte requested a review from a team as a code owner July 22, 2026 22:55
@athena-omt athena-omt removed state:draft Draft PR; no review/repair execution yet. state:waiting-checks Waiting for CI/check status to settle. labels Jul 22, 2026

@athena-omt athena-omt left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed current head 57e20fb. The readiness path now requires both a zero exit status and empty Lume SSH probe output, so the zero-exit “no IP address” response remains in the retry loop before guest bootstrap. I verified the run-slot call path and added regression coverage. Local shell syntax and diff checks passed; a dependency-free probe confirmed silent success returns 0 and the false-ready response returns 1. The isolated worktree lacks Vitest, but fresh CI test and Lume macOS contract checks are successful. Approved.

@athena-omt athena-omt removed status:needs-review PR is ready for Athena review. review:athena Athena review governance requested. labels Jul 22, 2026
@athena-omt
athena-omt enabled auto-merge (squash) July 22, 2026 23:15
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.

3 participants