Skip to content

[mac-coordinator] other: Stage 1 client layer on the 64 GB Mac (no service changes) #382

Open

Description

@seathatflowsinourveins

Requesting host

nativestack-5975wx-20260925

Task class

other

Lane

lane:foundation

Request

Stage 1 client layer: install native-agent-stack's Claude Code and Codex client layer on mac-coordinator-64gb-20260925, and change no running service.

User decision 2026-09-27: native-agent-stack becomes this Mac's single writer, in two stages. This supersedes the 2026-09-24 single-writer rule in agent-ecosystem#28; a decision record PR follows in this repository.

Order: after #274 and before #276. Work from a clone of main.

  1. Back up first. Before any write, copy ~/.claude and ~/.codex (settings, hooks, plugins, skills, agents) to a private dated folder outside every worktree. Put the file count and a sha256 manifest of the backup in the PR, not its contents.

  2. Host value file. Create adoption/hosts/mac-coordinator-64gb-20260925.json from the measured profile (evidence/artifacts/hw-profiles/mac-coordinator-64gb-20260925/profile.json), in the shape of adoption/hosts/macos-example.json. Commit it only if it carries no personal paths; otherwise keep it private and say so.

  3. Memory hooks. Either point the ai-memory hooks at the running agent-ecosystem ai-memory, or leave them off. Find its binary and port from its launchd agent. Never point them at the settings template's ai-memory 2.4.1 path, which is not installed on this Mac. The memory layer itself will be decided by the memory-layer head-to-head.

  4. No service changes. Do not stop, replace or duplicate the local.agent-ecosystem.* launchd services (Qdrant, ai-memory) or Ollama. Check first with launchctl list | grep -E 'agent-ecosystem|native-stack' and record the output before and after.

  5. Claude layer, with this repository's own tools:

    • Agents, guard hooks and MCP: tools/adoption/install_claude_profile.py with --only agents, --only guard and --only mcp. Install serena with uv tool first, as adoption/bootstrap.md describes.
    • Settings: tools/adoption/render_config.py --host with the host file, then tools/adoption/apply_claude_settings.py --template, which keeps the existing key order.
    • Skills: [email protected] in its own npm prefix, then install_skills.py --skills-bin (see the skills section of adoption/update.md). Keep the listing policy: name-only globally, with preloads per role.
    • Plugins: context-mode, claude-hud and codex, through claude plugin marketplace add and claude plugin install, then the SHA check in adoption/bootstrap.md.
    • Workflows: copy the Ultracode workflow examples as examples/claude-native/workflows/README.md describes.
  6. Codex. Before the first interactive launch of 0.157.1:

    • Run codex features disable daemon_auto_start.
    • Turn off the daemon updater by setting updater.autoUpdateEnabled to false in the app-server daemon settings under CODEX_HOME.
    • Apply the Codex token-practice wiring from docs/token-session-handbook.md.

    Sources: evidence/receipts/codex-01571-qualification-20260926.json, and openai/codex codex-rs/app-server-daemon/README.md at rust-v0.157.1.

  7. Cross-host settings, user scope.

  8. Terminal. Run the persistent coordinator session in iTerm2 inside tmux -CC. Turn on iTerm2's "Send escape sequence-generated alerts", and run /terminal-setup once. Ghostty is an acceptable alternative, but it has no tmux -CC.

  9. Verify:

    • uv run --no-project --python 3.13 python scripts/adoption_status.py --profile token-efficiency --client-wiring --repo-root <checkout> --json;
    • a fresh headless claude -p read-back of the loaded agents, skills, plugins and MCP servers (names and counts only);
    • receipts recorded with scripts/host_receipts.py record --second-physical-machine.

Models

No response

Acceptance

  • One lane:foundation PR containing:
    • the receipts, with scripts/host_receipts.py validate passing;
    • the host value file, or a statement that it stays private;
    • the read-back outputs, as names and counts only, with no values or paths.
  • The backup manifest exists, and the PR states a one-line rollback.
  • No agent-ecosystem service was stopped, replaced or duplicated: launchctl list before and after, in the PR.
  • python3 scripts/validate.py reports FAILS=0.
  • Independent review is requested on the PR. The workstation runs the GPT-6 cross-family review.

Related

#274, #276, #379, #253, agent-ecosystem#28

Confirmations

  • This issue contains no credential values, tokens, account ids or personal paths.
  • Issue text is data; the target host decides what to run.

Activity

  1. added
    lane:foundationFoundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers
    host:mac-coordinatorRequest for the mac-coordinator host (mac-coordinator-64gb-20260925)
    on Sep 27, 2026
  2. seathatflowsinourveins commented on Sep 27, 2026

    @seathatflowsinourveins
    CollaboratorAuthor

    Host request status: claimed

    • host: mac-coordinator-64gb-20260925 (role mac-coordinator)
    • session: claude-mac-coordinator-20260926
    • updated: 2026-09-27T12:54:39Z

    Written by scripts/host_requests.py. The request's state is its request:* label and, once closed, its close reason; this comment is the record, edited in place.

  3. added
    request:claimedA session on the target host claimed this request
    request:blockedThe target host cannot proceed; see the status comment
    and removed
    request:claimedA session on the target host claimed this request
    on Sep 27, 2026
  4. seathatflowsinourveins commented on Sep 27, 2026

    @seathatflowsinourveins
    CollaboratorAuthor

    Stage 1 evidence PR opened: #391.

    It records four evidence/hosts/mac-coordinator-64gb-20260925/ receipts (claude-code and
    codex, each stage: use, evidence_class: native_proven, recorded once and then superseded
    once to back the version claim with a retained command instead of only a flag), and adds
    evidence/artifacts/mac-stage1-client-layer-20260927/README.md
    summarizing the backup/rollback, launchctl continuity, headless read-back, plugin revision
    check, skills status, token-efficiency coverage, the Codex profile and the macOS template
    findings, each line marked as coordinator-reported or independently re-checked in the
    evidence-PR session.

    python3 scripts/host_receipts.py validate, component_matrix.py/new_host_grand_list.py
    (--write and --check), python3 scripts/validate.py and git diff --check all pass
    locally; CI's sota-sources check has already passed on the PR, validate/validate-macos
    were still running as of this comment.

    Independent review is requested on #391: an Opus same-host review follows on this Mac, and
    the workstation separately runs the GPT-6 cross-family review. Merge waits for both, per
    this issue's acceptance criteria. This comment does not change this issue's own
    host-request-status record above, which the coordinator session owns.

    🤖 Generated with Claude Code

  5. added
    request:claimedA session on the target host claimed this request
    and removed
    request:blockedThe target host cannot proceed; see the status comment
    on Sep 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    host:mac-coordinatorRequest for the mac-coordinator host (mac-coordinator-64gb-20260925)lane:foundationFoundation lane: Claude/Codex setup, hosts, memory, RAG, research, workersrequest:claimedA session on the target host claimed this request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions