Merge origin/main (tenant-iso-routes, layout pass) into feat/hostclaim-box
SyncExec unifies on main's SyncOption: WithHostWrite carries Plan 6's host-write config beside SkipFenced, which applies on both paths; the agent tick keeps main's layout leg and then Plan 6's serial notify.
Co-Authored-By: Codex <noreply@openai.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
AGENTS.md+19 −0README.md+6 −0apimode.go+45 −8cli.go+55 −0cli_test.go+92 −0cmd/console/main.go+17 −0deploy.go+49 −4docs/site/cli.md+63 −9docs/superpowers/plans/2026-09-25-isolated-exec-4-layout-amendments.md+133 −0docs/superpowers/specs/2026-09-11-isolated-exec-design.md+63 −1domains_cli.go+106 −6instances_e2e_test.go+5 −0internal/activator/maintenance.go+63 −1internal/activator/maintenance_test.go+136 −0internal/appconfig/claimsync_test.go+137 −3internal/appconfig/syncexec.go+54 −8internal/appconfig/syncexec_test.go+58 −0internal/cgroup/cgroup.go+29 −0internal/console/apidomains.go+50 −8internal/console/apiinstancemove_test.go+1 −0internal/console/apiinstances.go+52 −0internal/console/apiinstances_test.go+148 −3internal/console/apiinstancesenvironment_test.go+1 −0internal/console/apistatuslayout.go+117 −0internal/console/apistatuslayout_test.go+188 −0internal/console/appdomains.go+5 −0internal/console/appsettings.go+14 −5internal/console/appsettings_gate_test.go+2 −0internal/console/authcli.go+21 −5internal/console/authcli_test.go+9 −1internal/console/controlplane_test.go+7 −3internal/console/domainattach.go+52 −7internal/console/domainpolicy.go+159 −0internal/console/domainproof_test.go+425 −0internal/console/domainstate.go+20 −1internal/console/domainstate_test.go+5 −0internal/console/edgeproof.go+172 −0internal/console/edgeproof_test.go+122 −0internal/console/instancepage.go+37 −1internal/console/instancepage_test.go+53 −1internal/console/placementdoors_test.go+1 −0internal/console/regionfill_test.go+3 −1internal/console/server.go+26 −3internal/console/store.go+14 −5internal/console/svcroutes_test.go+7 −2internal/console/templates/app_instance.html+1 −0internal/console/view.go+8 −0internal/domains/aliases.go+12 −1internal/domains/claims.go+184 −21internal/domains/claims_proof_test.go+243 −0internal/edge/edge.go+11 −0internal/edge/fleetapi_e2e_test.go+77 −0internal/edge/forwardproof.go+52 −0internal/edge/forwardproof_test.go+150 −0internal/edge/homemap.go+3 −0internal/edge/homemap_test.go+3 −0internal/edge/mesh.go+11 −41internal/edge/storedoor.go+120 −33internal/edge/storedoor_test.go+84 −10internal/edge/wildcard.go+11 −1internal/edge/wildcard_parents_test.go+5 −2internal/edge/wildcard_test.go+10 −7internal/edgeproof/edgeproof.go+160 −0internal/host/agent.go+88 −20internal/host/agent_isolated_test.go+27 −4internal/host/agent_layout_test.go+704 −0internal/host/layoutleg.go+396 −0internal/host/movespass.go+7 −7internal/host/movespass_test.go+30 −0internal/host/systemapply.go+106 −1internal/host/systemapply_test.go+170 −0internal/host/units/carlos-app@.service+6 −0internal/host/units/carlos-edge.service+20 −1internal/host/units/carlos-instance-probe.service+54 −1internal/host/units/carlos-instance-seed@.service+48 −1internal/host/units/carlos-instance-sidecar@.service+48 −1internal/host/units/carlos-instance@.service+48 −1internal/host/units_hardening_test.go+148 −0internal/host/units_isolation_test.go+27 −3internal/instancectl/hardening.go+342 −0internal/instancectl/hardening_test.go+185 −0internal/instancectl/peer_linux.go+11 −0internal/instancectl/peer_other.go+1 −0internal/instancectl/server.go+56 −7internal/instancectl/server_test.go+2 −2internal/instanceexec/exec.go+2 −2internal/instanceexec/probe.go+60 −2internal/instanceexec/probe_hardening.go+193 −0internal/instanceexec/probe_hardening_test.go+221 −0internal/instanceexec/probe_linux.go+1 −1internal/instanceexec/probe_test.go+40 −19internal/instanceexec/scope_linux.go+146 −0internal/instanceexec/scope_other.go+13 −0internal/instancefs/dirs_linux.go+158 −0internal/instancefs/dirs_linux_test.go+231 −0internal/instancefs/instancefs.go+24 −0internal/instancefs/instancefs_linux.go+22 −0internal/instancefs/instancefs_linux_test.go+23 −0internal/instancefs/instancefs_other.go+32 −0internal/layout/journal.go+339 −0internal/layout/journal_linux.go+16 −0internal/layout/journal_linux_test.go+46 −0internal/layout/journal_other.go+13 −0internal/layout/journal_test.go+344 −0internal/layout/links_linux.go+20 −0internal/layout/links_other.go+9 −0internal/layout/pass.go+1212 −0internal/layout/pass_linux_test.go+1768 −0internal/layout/plan.go+194 −0internal/layout/plan_test.go+160 −0internal/layout/preflight.go+449 −0internal/layout/preflight_test.go+561 −0internal/layout/rawdir_test.go+109 −0internal/ops/litestream.go+23 −4internal/ops/ops.go+1 −1internal/ops/ops_test.go+81 −1internal/provision/provision.go+33 −4internal/provision/provision_test.go+33 −0internal/provision/reconcile.go+30 −9internal/provision/reconcile_test.go+150 −0internal/registry/registry.go+35 −0internal/registry/registry_test.go+32 −0internal/release/layoutintent.go+172 −0internal/release/layoutintent_test.go+98 −0internal/status/contract_test.go+25 −1internal/status/snapshot.go+45 −1internal/status/snapshot_test.go+51 −0status_instances.go+117 −0status_instances_test.go+112 −0
CI passed — run details
AGENTS.mdLoading diff…
README.mdLoading diff…
apimode.goLoading diff…
cli.goLoading diff…
cli_test.goLoading diff…
cmd/console/main.goLoading diff…
deploy.goLoading diff…
docs/site/cli.mdLoading diff…
docs/superpowers/plans/2026-09-25-isolated-exec-4-layout-amendments.mdLoading diff…
docs/superpowers/specs/2026-09-11-isolated-exec-design.mdLoading diff…
domains_cli.goLoading diff…
instances_e2e_test.goLoading diff…
internal/activator/maintenance.goLoading diff…
internal/activator/maintenance_test.goLoading diff…
internal/appconfig/claimsync_test.goLoading diff…
internal/appconfig/syncexec.goLoading diff…
internal/appconfig/syncexec_test.goLoading diff…
internal/cgroup/cgroup.goLoading diff…
internal/console/apidomains.goLoading diff…
internal/console/apiinstancemove_test.goLoading diff…
internal/console/apiinstances.goLoading diff…
internal/console/apiinstances_test.goLoading diff…
internal/console/apiinstancesenvironment_test.goLoading diff…
internal/console/apistatuslayout.goLoading diff…
internal/console/apistatuslayout_test.goLoading diff…
internal/console/appdomains.goLoading diff…
internal/console/appsettings.goLoading diff…
internal/console/appsettings_gate_test.goLoading diff…
internal/console/authcli.goLoading diff…
internal/console/authcli_test.goLoading diff…
internal/console/controlplane_test.goLoading diff…
internal/console/domainattach.goLoading diff…
internal/console/domainpolicy.goLoading diff…
internal/console/domainproof_test.goLoading diff…
internal/console/domainstate.goLoading diff…
internal/console/domainstate_test.goLoading diff…
internal/console/edgeproof.goLoading diff…
internal/console/edgeproof_test.goLoading diff…
internal/console/instancepage.goLoading diff…
internal/console/instancepage_test.goLoading diff…
internal/console/placementdoors_test.goLoading diff…
internal/console/regionfill_test.goLoading diff…
internal/console/server.goLoading diff…
internal/console/store.goLoading diff…
internal/console/svcroutes_test.goLoading diff…
internal/console/templates/app_instance.htmlLoading diff…
internal/console/view.goLoading diff…
internal/domains/aliases.goLoading diff…
internal/domains/claims.goLoading diff…
internal/domains/claims_proof_test.goLoading diff…
internal/edge/edge.goLoading diff…
internal/edge/fleetapi_e2e_test.goLoading diff…
internal/edge/forwardproof.goLoading diff…
internal/edge/forwardproof_test.goLoading diff…
internal/edge/homemap.goLoading diff…
internal/edge/homemap_test.goLoading diff…
internal/edge/mesh.goLoading diff…
internal/edge/storedoor.goLoading diff…
internal/edge/storedoor_test.goLoading diff…
internal/edge/wildcard.goLoading diff…
internal/edge/wildcard_parents_test.goLoading diff…
internal/edge/wildcard_test.goLoading diff…
internal/edgeproof/edgeproof.goLoading diff…
internal/host/agent.goLoading diff…
internal/host/agent_isolated_test.goLoading diff…
internal/host/agent_layout_test.goLoading diff…
internal/host/layoutleg.goLoading diff…
internal/host/movespass.goLoading diff…
internal/host/movespass_test.goLoading diff…
internal/host/systemapply.goLoading diff…
internal/host/systemapply_test.goLoading diff…
internal/host/units/carlos-app@.serviceLoading diff…
internal/host/units/carlos-edge.serviceLoading diff…
internal/host/units/carlos-instance-probe.serviceLoading diff…
internal/host/units/carlos-instance-seed@.serviceLoading diff…
internal/host/units/carlos-instance-sidecar@.serviceLoading diff…
internal/host/units/carlos-instance@.serviceLoading diff…
internal/host/units_hardening_test.goLoading diff…
internal/host/units_isolation_test.goLoading diff…
internal/instancectl/hardening.goLoading diff…
internal/instancectl/hardening_test.goLoading diff…
internal/instancectl/peer_linux.goLoading diff…
internal/instancectl/peer_other.goLoading diff…
internal/instancectl/server.goLoading diff…
internal/instancectl/server_test.goLoading diff…
internal/instanceexec/exec.goLoading diff…
internal/instanceexec/probe.goLoading diff…
internal/instanceexec/probe_hardening.goLoading diff…
internal/instanceexec/probe_hardening_test.goLoading diff…
internal/instanceexec/probe_linux.goLoading diff…
internal/instanceexec/probe_test.goLoading diff…
internal/instanceexec/scope_linux.goLoading diff…
internal/instanceexec/scope_other.goLoading diff…
internal/instancefs/dirs_linux.goLoading diff…
internal/instancefs/dirs_linux_test.goLoading diff…
internal/instancefs/instancefs.goLoading diff…
internal/instancefs/instancefs_linux.goLoading diff…
internal/instancefs/instancefs_linux_test.goLoading diff…
internal/instancefs/instancefs_other.goLoading diff…
internal/layout/journal.goLoading diff…
internal/layout/journal_linux.goLoading diff…
internal/layout/journal_linux_test.goLoading diff…
internal/layout/journal_other.goLoading diff…
internal/layout/journal_test.goLoading diff…
internal/layout/links_linux.goLoading diff…
internal/layout/links_other.goLoading diff…
internal/layout/pass.goLoading diff…
internal/layout/pass_linux_test.goLoading diff…
internal/layout/plan.goLoading diff…
internal/layout/plan_test.goLoading diff…
internal/layout/preflight.goLoading diff…
internal/layout/preflight_test.goLoading diff…
internal/layout/rawdir_test.goLoading diff…
internal/ops/litestream.goLoading diff…
internal/ops/ops.goLoading diff…
internal/ops/ops_test.goLoading diff…
internal/provision/provision.goLoading diff…
internal/provision/provision_test.goLoading diff…
internal/provision/reconcile.goLoading diff…
internal/provision/reconcile_test.goLoading diff…
internal/registry/registry.goLoading diff…
internal/registry/registry_test.goLoading diff…
internal/release/layoutintent.goLoading diff…
internal/release/layoutintent_test.goLoading diff…
internal/status/contract_test.goLoading diff…
internal/status/snapshot.goLoading diff…
internal/status/snapshot_test.goLoading diff…
status_instances.goLoading diff…
status_instances_test.goLoading diff…