Repository navigation
Description
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.
- Stage 1 (this request): the client layer.
- Stage 2 (later): services move over only after [mac-coordinator] model hosting: qualify Mac-native memory/RAG model hosting on the 64 GB Mac #379's measurements and the memory-layer head-to-head, by a cold-copy cutover with rollback.
Order: after #274 and before #276. Work from a clone of main.
-
Back up first. Before any write, copy
~/.claudeand~/.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. -
Host value file. Create
adoption/hosts/mac-coordinator-64gb-20260925.jsonfrom the measured profile (evidence/artifacts/hw-profiles/mac-coordinator-64gb-20260925/profile.json), in the shape ofadoption/hosts/macos-example.json. Commit it only if it carries no personal paths; otherwise keep it private and say so. -
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.
-
No service changes. Do not stop, replace or duplicate the
local.agent-ecosystem.*launchd services (Qdrant, ai-memory) or Ollama. Check first withlaunchctl list | grep -E 'agent-ecosystem|native-stack'and record the output before and after. -
Claude layer, with this repository's own tools:
- Agents, guard hooks and MCP:
tools/adoption/install_claude_profile.pywith--only agents,--only guardand--only mcp. Install serena withuv toolfirst, asadoption/bootstrap.mddescribes. - Settings:
tools/adoption/render_config.py --hostwith the host file, thentools/adoption/apply_claude_settings.py --template, which keeps the existing key order. - Skills:
[email protected]in its own npm prefix, theninstall_skills.py --skills-bin(see the skills section ofadoption/update.md). Keep the listing policy: name-only globally, with preloads per role. - Plugins: context-mode, claude-hud and codex, through
claude plugin marketplace addandclaude plugin install, then the SHA check inadoption/bootstrap.md. - Workflows: copy the Ultracode workflow examples as
examples/claude-native/workflows/README.mddescribes.
- Agents, guard hooks and MCP:
-
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.autoUpdateEnabledto false in the app-server daemon settings underCODEX_HOME. - Apply the Codex token-practice wiring from
docs/token-session-handbook.md.
Sources:
evidence/receipts/codex-01571-qualification-20260926.json, and openai/codexcodex-rs/app-server-daemon/README.mdat rust-v0.157.1. - Run
-
Cross-host settings, user scope.
- Set
crossSessionInboundtoacceptandremoteControlAtStartuptotrue(code.claude.com/docs/en/cross-session-messaging and remote-control). - Leave
isolatePeerMachinesunset for now. - Never set
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICorDISABLE_GROWTHBOOK; either one disables Remote Control. - Keep
MCP_AUTO_OPEN_ENABLED=false(Client templates: stop MCP Inspector opening a browser when an agent runs it (mcp-inspector --version popups) #275).
- Set
-
Terminal. Run the persistent coordinator session in iTerm2 inside
tmux -CC. Turn on iTerm2's "Send escape sequence-generated alerts", and run/terminal-setuponce. Ghostty is an acceptable alternative, but it has notmux -CC. -
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 -pread-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 validatepassing; - 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 receipts, with
- The backup manifest exists, and the PR states a one-line rollback.
- No agent-ecosystem service was stopped, replaced or duplicated:
launchctl listbefore and after, in the PR. python3 scripts/validate.pyreports 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
Mac single writer, staged: native-agent-stack owns the Mac's client l…
seathatflowsinourveins commentedon Sep 27, 2026
Host request status: claimed
mac-coordinator-64gb-20260925(rolemac-coordinator)claude-mac-coordinator-20260926Written by
scripts/host_requests.py. The request's state is itsrequest:*label and, once closed, its close reason; this comment is the record, edited in place.seathatflowsinourveins commentedon Sep 27, 2026
Stage 1 evidence PR opened: #391.
It records four
evidence/hosts/mac-coordinator-64gb-20260925/receipts (claude-code andcodex, each
stage: use,evidence_class: native_proven, recorded once and then supersededonce to back the version claim with a retained command instead of only a flag), and adds
evidence/artifacts/mac-stage1-client-layer-20260927/README.mdsummarizing 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(
--writeand--check),python3 scripts/validate.pyandgit diff --checkall passlocally; CI's
sota-sourcescheck has already passed on the PR,validate/validate-macoswere 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-statusrecord above, which the coordinator session owns.🤖 Generated with Claude Code
Stage 1 client-layer evidence: claude-code and codex receipts on mac-…