carlos / platform Public

Merge branch 'tenant-iso-layout' into main

Isolated exec, plan 4: the nested layout and carlos layout migrate/revert (#126)
claude agent, operated by paul@keymail.dev 01f890ce4ab6c057ed25ed51634f7b10bc3fcfcc parent 7143c7eparent 7b7d302
64 files changed, +9304 −60
  • cli.go +55 −0
  • cli_test.go +92 −0
  • docs/site/cli.md +30 −0
  • docs/superpowers/plans/2026-09-25-isolated-exec-4-layout-amendments.md +133 −0
  • docs/superpowers/specs/2026-09-11-isolated-exec-design.md +2 −1
  • internal/activator/maintenance.go +63 −1
  • internal/activator/maintenance_test.go +136 −0
  • internal/appconfig/syncexec.go +35 −1
  • internal/appconfig/syncexec_test.go +58 −0
  • internal/console/apistatuslayout.go +117 −0
  • internal/console/apistatuslayout_test.go +188 −0
  • internal/console/authcli.go +4 −0
  • internal/console/instancepage.go +37 −1
  • internal/console/instancepage_test.go +53 −1
  • internal/console/svcroutes_test.go +7 −2
  • internal/console/templates/app_instance.html +1 −0
  • internal/edge/storedoor.go +9 −1
  • internal/edge/storedoor_test.go +25 −0
  • internal/host/agent.go +85 −20
  • internal/host/agent_isolated_test.go +27 −4
  • internal/host/agent_layout_test.go +629 −0
  • internal/host/layoutleg.go +396 −0
  • internal/host/movespass.go +7 −7
  • internal/host/movespass_test.go +30 −0
  • internal/host/systemapply.go +106 −1
  • internal/host/systemapply_test.go +170 −0
  • internal/host/units/carlos-edge.service +20 −1
  • internal/host/units_isolation_test.go +26 −2
  • internal/instancefs/dirs_linux.go +158 −0
  • internal/instancefs/dirs_linux_test.go +231 −0
  • internal/instancefs/instancefs.go +24 −0
  • internal/instancefs/instancefs_linux.go +22 −0
  • internal/instancefs/instancefs_linux_test.go +23 −0
  • internal/instancefs/instancefs_other.go +32 −0
  • internal/layout/journal.go +339 −0
  • internal/layout/journal_linux.go +16 −0
  • internal/layout/journal_linux_test.go +46 −0
  • internal/layout/journal_other.go +13 −0
  • internal/layout/journal_test.go +344 −0
  • internal/layout/links_linux.go +20 −0
  • internal/layout/links_other.go +9 −0
  • internal/layout/pass.go +1212 −0
  • internal/layout/pass_linux_test.go +1768 −0
  • internal/layout/plan.go +194 −0
  • internal/layout/plan_test.go +160 −0
  • internal/layout/preflight.go +449 −0
  • internal/layout/preflight_test.go +561 −0
  • internal/layout/rawdir_test.go +109 −0
  • internal/ops/litestream.go +23 −4
  • internal/ops/ops.go +1 −1
  • internal/ops/ops_test.go +81 −1
  • internal/provision/provision.go +28 −0
  • internal/provision/provision_test.go +33 −0
  • internal/provision/reconcile.go +30 −9
  • internal/provision/reconcile_test.go +150 −0
  • internal/registry/registry.go +35 −0
  • internal/registry/registry_test.go +32 −0
  • internal/release/layoutintent.go +172 −0
  • internal/release/layoutintent_test.go +98 −0
  • internal/status/contract_test.go +25 −1
  • internal/status/snapshot.go +45 −1
  • internal/status/snapshot_test.go +51 −0
  • status_instances.go +117 −0
  • status_instances_test.go +112 −0

CI passed — run details

cli.go

Loading diff…

cli_test.go

Loading diff…

docs/site/cli.md

Loading diff…

docs/superpowers/plans/2026-09-25-isolated-exec-4-layout-amendments.md

Loading diff…

docs/superpowers/specs/2026-09-11-isolated-exec-design.md

Loading diff…

internal/activator/maintenance.go

Loading diff…

internal/activator/maintenance_test.go

Loading diff…

internal/appconfig/syncexec.go

Loading diff…

internal/appconfig/syncexec_test.go

Loading diff…

internal/console/apistatuslayout.go

Loading diff…

internal/console/apistatuslayout_test.go

Loading diff…

internal/console/authcli.go

Loading diff…

internal/console/instancepage.go

Loading diff…

internal/console/instancepage_test.go

Loading diff…

internal/console/svcroutes_test.go

Loading diff…

internal/console/templates/app_instance.html

Loading diff…

internal/edge/storedoor.go

Loading diff…

internal/edge/storedoor_test.go

Loading diff…

internal/host/agent.go

Loading diff…

internal/host/agent_isolated_test.go

Loading diff…

internal/host/agent_layout_test.go

Loading diff…

internal/host/layoutleg.go

Loading diff…

internal/host/movespass.go

Loading diff…

internal/host/movespass_test.go

Loading diff…

internal/host/systemapply.go

Loading diff…

internal/host/systemapply_test.go

Loading diff…

internal/host/units/carlos-edge.service

Loading diff…

internal/host/units_isolation_test.go

Loading diff…

internal/instancefs/dirs_linux.go

Loading diff…

internal/instancefs/dirs_linux_test.go

Loading diff…

internal/instancefs/instancefs.go

Loading diff…

internal/instancefs/instancefs_linux.go

Loading diff…

internal/instancefs/instancefs_linux_test.go

Loading diff…

internal/instancefs/instancefs_other.go

Loading diff…

internal/layout/journal.go

Loading diff…

internal/layout/journal_linux.go

Loading diff…

internal/layout/journal_linux_test.go

Loading diff…

internal/layout/journal_other.go

Loading diff…

internal/layout/journal_test.go

Loading diff…

internal/layout/links_linux.go

Loading diff…

internal/layout/links_other.go

Loading diff…

internal/layout/pass.go

Loading diff…

internal/layout/pass_linux_test.go

Loading diff…

internal/layout/plan.go

Loading diff…

internal/layout/plan_test.go

Loading diff…

internal/layout/preflight.go

Loading diff…

internal/layout/preflight_test.go

Loading diff…

internal/layout/rawdir_test.go

Loading diff…

internal/ops/litestream.go

Loading diff…

internal/ops/ops.go

Loading diff…

internal/ops/ops_test.go

Loading diff…

internal/provision/provision.go

Loading diff…

internal/provision/provision_test.go

Loading diff…

internal/provision/reconcile.go

Loading diff…

internal/provision/reconcile_test.go

Loading diff…

internal/registry/registry.go

Loading diff…

internal/registry/registry_test.go

Loading diff…

internal/release/layoutintent.go

Loading diff…

internal/release/layoutintent_test.go

Loading diff…

internal/status/contract_test.go

Loading diff…

internal/status/snapshot.go

Loading diff…

internal/status/snapshot_test.go

Loading diff…

status_instances.go

Loading diff…

status_instances_test.go

Loading diff…