Skip to content

Adopt existing AWS Mac fleets safely and add Yukon submission support - #3504

Merged
morganmcg1 merged 29 commits into
codex/docker-launcherfrom
senpai/aws-mac-existing-instances
Aug 17, 2026
Merged

Adopt existing AWS Mac fleets safely and add Yukon submission support#3504
morganmcg1 merged 29 commits into
codex/docker-launcherfrom
senpai/aws-mac-existing-instances

Conversation

@morganmcg1

@morganmcg1 morganmcg1 commented Aug 16, 2026

Copy link
Copy Markdown
Member

Depends on

Summary

  • Add schema-v1 manifests for adopting an exact, already-running AWS Mac fleet.
  • Map one named student to each instance without creating or terminating adopted EC2 instances.
  • Isolate each reused host under a tag-scoped runtime with per-launch ownership nonces.
  • Add optional Yukon bundle/token installation while preserving the legacy MLXFast path.

Safety

  • Keep preflight read-only while validating the full EC2 snapshot, Dedicated Host mapping, IMDS identity, prerequisites, prior unloaded launch daemons, and unused run namespaces.
  • Ignore ambient SSH config, agents, and global host keys; require the imported key and pinned known_hosts file.
  • Revalidate instance/network identity before every adopted launch or cleanup action.
  • Require matching ownership tokens before remote deletion and checkpoint cleanup per node so partial four-host cleanup is retry-safe.
  • Preserve adopted instances, Dedicated Hosts, networking, shared security groups, external SSH material, and prior run roots.

CLI and operations

  • Reuse uses --aws_mac_nodes_path ... --aws_mac_bootstrap_mode reuse --aws_ttl_hours 0.
  • --aws_mac_yukon_bundle selects Yukon and YUKON_API_TOKEN; an empty value retains MLXFast and MLXFAST_API_TOKEN.
  • Mixed created/adopted fleets are intentionally rejected.

Validation

  • Focused AWS Mac/native/launch suite: 110 passed, 25 subtests passed.
  • Full suite: 1,266 passed, 6 skipped, 48 subtests passed.
  • py_compile and git diff --check pass.
  • The exact four-instance launch command passes --dry_run and read-only
    --preflight_only, including credentials, repository access, EC2 snapshots,
    strict SSH, IMDS identity, prerequisites, prior daemon state, and namespace
    collision checks.

@morganmcg1
morganmcg1 force-pushed the senpai/aws-mac-existing-instances branch 2 times, most recently from 6465b84 to 0267b75 Compare August 16, 2026 14:09
@morganmcg1
morganmcg1 force-pushed the senpai/aws-mac-existing-instances branch from 0267b75 to 12c67d1 Compare August 16, 2026 14:13
# Conflicts:
#	SPEC.md
#	senpai_agent/advisor.py
#	senpai_agent/controller.py
#	senpai_agent/hooks.py
#	senpai_agent/inbox.py
#	senpai_agent/openhands_runner.py
#	tests/test_controller.py
#	tests/test_hooks_lifecycle.py
#	tests/test_inbox_delivery.py
#	tests/test_openhands_config.py
# Conflicts:
#	tests/test_tools_training.py
@morganmcg1
morganmcg1 merged commit d391f62 into codex/docker-launcher Aug 17, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 17, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants