Merge remote-tracking branch 'origin/main' into design-deploy-credential
AGENTS.md+6 −1README.md+25 −2canary.go+114 −7canary_create_e2e_test.go+164 −0canary_region_e2e_test.go+2 −2canary_region_test.go+3 −3canary_test.go+139 −16cli.go+39 −2docs/site/cli.md+22 −16docs/superpowers/plans/2026-09-01-carloku-scanning-rollout.md+2 −0docs/superpowers/plans/2026-10-02-nearest-region-copy.json+1 −1docs/superpowers/plans/2026-10-05-region-ha-1a-foundations.md+6741 −0docs/superpowers/plans/2026-10-05-scanner-host-rollout.md+1507 −0docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-BRIEF-1.md+50 −0docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-BRIEF-2.md+46 −0docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-BRIEF-3.md+41 −0docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-BRIEF-4.md+29 −0docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-BRIEF-5.md+17 −0docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R1.md+41 −0docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R2.md+56 −0docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R3.md+41 −0docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R4.md+20 −0docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R5.md+9 −0docs/superpowers/specs/2026-10-04-region-ha-box-placement-design.md+926 −0docs/superpowers/specs/2026-10-04-scanner-host-rollout-design.md+489 −0docs/superpowers/specs/CODEX-FINDINGS-REGION-HA-1.md+110 −0docs/superpowers/specs/CODEX-FINDINGS-REGION-HA-2.md+75 −0docs/superpowers/specs/CODEX-FINDINGS-REGION-HA-3.md+50 −0docs/superpowers/specs/CODEX-FINDINGS-REGION-HA-4.md+39 −0docs/superpowers/specs/CODEX-FINDINGS-REGION-HA-5.md+21 −0docs/superpowers/specs/CODEX-FINDINGS-REGION-HA-6.md+14 −0docs/superpowers/specs/CODEX-FINDINGS-SCANNER-HOST-CODE.md+17 −0docs/superpowers/specs/CODEX-FINDINGS-SCANNER-HOST-R2.md+35 −0docs/superpowers/specs/CODEX-FINDINGS-SCANNER-HOST-R3.md+19 −0docs/superpowers/specs/CODEX-FINDINGS-SCANNER-HOST-R4.md+26 −0docs/superpowers/specs/CODEX-FINDINGS-SCANNER-HOST-R5.md+35 −0docs/superpowers/specs/CODEX-FINDINGS-SCANNER-HOST.md+23 −0docs/superpowers/specs/CODEX-REVIEW-BRIEF-REGION-HA-1.md+53 −0docs/superpowers/specs/CODEX-REVIEW-BRIEF-REGION-HA-2.md+63 −0docs/superpowers/specs/CODEX-REVIEW-BRIEF-REGION-HA-3.md+65 −0docs/superpowers/specs/CODEX-REVIEW-BRIEF-REGION-HA-4.md+65 −0docs/superpowers/specs/CODEX-REVIEW-BRIEF-REGION-HA-5.md+62 −0docs/superpowers/specs/CODEX-REVIEW-BRIEF-REGION-HA-6.md+61 −0docs/superpowers/specs/CODEX-REVIEW-BRIEF-SCANNER-HOST-CODE.md+59 −0docs/superpowers/specs/CODEX-REVIEW-BRIEF-SCANNER-HOST.md+58 −0go.mod+1 −0go.sum+2 −0infra/modules/README.md+21 −0infra/modules/deployment-buckets/main.tf+53 −0infra/modules/deployment-buckets/variables.tf+6 −0infra/modules/region-host/README.md+28 −0infra/modules/region-host/main.tf+126 −0infra/modules/region-host/outputs.tf+5 −0infra/modules/region-host/tests/store_scanning.tftest.hcl+70 −0infra/modules/region-host/variables.tf+6 −0infra/modules/region-remote-host/main.tf+14 −0infra/modules/scanner-host/README.md+181 −0infra/modules/scanner-host/files/scanner-selftest+146 −0infra/modules/scanner-host/files/scanner-selftest.service+23 −0infra/modules/scanner-host/files/scanner-tcp.service+15 −0infra/modules/scanner-host/files/scanner-tcp.socket+26 −0infra/modules/scanner-host/main.tf+157 −0infra/modules/scanner-host/outputs.tf+19 −0infra/modules/scanner-host/scanner-init.sh.tftpl+174 −0infra/modules/scanner-host/tests/scanner_host.tftest.hcl+247 −0infra/modules/scanner-host/variables.tf+63 −0infra/modules/scanner-host/versions.tf+9 −0internal/activator/activator.go+203 −9internal/activator/activator_test.go+14 −0internal/activator/backend_exec.go+29 −0internal/activator/backend_unit.go+9 −0internal/activator/config_gate_test.go+219 −0internal/activator/converge_adopted_test.go+246 −0internal/activator/installed.go+122 −0internal/activator/installed_test.go+106 −0internal/appconfig/canprovide.go+132 −0internal/appconfig/canprovide_test.go+280 −0internal/boxid/boxid_test.go+213 −0internal/boxid/certs.go+43 −0internal/boxid/certs/README.md+7 −0internal/boxid/certs/ap-southeast-2.pem+19 −0internal/boxid/certs/eu-west-1.pem+19 −0internal/boxid/certs/eu-west-2.pem+19 −0internal/boxid/certs/us-east-1.pem+19 −0internal/boxid/record.go+93 −0internal/boxid/verify.go+84 −0internal/clamd/clamd.go+27 −2internal/clamd/clamd_test.go+63 −0internal/console/apex.go+85 −0internal/console/apiinstances.go+38 −0internal/console/apiinstancescanary_test.go+187 −0internal/console/boxchoice.go+98 −0internal/console/boxchoice_test.go+163 −0internal/console/instancesplacement.go+14 −4internal/console/regioncandidates_test.go+27 −0internal/edge/homemap.go+84 −6internal/edge/homemap_test.go+123 −0internal/edge/static.go+301 −2internal/edge/static_cache_test.go+596 −0internal/host/agent.go+185 −3internal/host/alertsink.go+336 −0internal/host/alertsink_test.go+451 −0internal/host/configguard.go+371 −0internal/host/configguard_test.go+615 −0internal/host/converge_adopted_test.go+498 −0internal/host/edgesfile.go+77 −3internal/host/edgesfile_test.go+154 −0internal/host/headroom.go+38 −0internal/host/headroom_linux.go+23 −0internal/host/headroom_other.go+6 −0internal/host/headroom_test.go+26 −0internal/host/metrics_loop.go+11 −21internal/host/metrics_loop_test.go+13 −8internal/host/steering_loop_test.go+10 −0internal/hostfiles/deadline.go+36 −0internal/hostfiles/deadline_test.go+38 −0internal/hostfiles/dir_other.go+26 −0internal/hostfiles/dir_unix.go+183 −0internal/hostfiles/hostfiles_test.go+822 −0internal/hostfiles/manifest.go+91 −0internal/hostfiles/publish_unix_test.go+135 −0internal/hostfiles/publisher.go+226 −0internal/hostfiles/restore.go+358 −0internal/hostfiles/run.go+213 −0internal/hostfiles/run_test.go+379 −0internal/hostfiles/sync.go+125 −0internal/hostfiles/sync_test.go+190 −0internal/hostfiles/sync_unix_test.go+254 −0internal/hostfiles/wake.go+138 −0internal/hostfiles/wake_test.go+191 −0internal/hostfiles/walk_unix.go+73 −0internal/hostfiles/watch_linux.go+217 −0internal/hostfiles/watch_linux_test.go+232 −0internal/hostfiles/watch_other.go+10 −0internal/lease/export_test.go+9 −0internal/lease/leasetest/bucket.go+340 −0internal/lease/leasetest/bucket_test.go+15 −0internal/lease/leasetest/contract.go+245 −0internal/lease/leasetest/s3server.go+222 −0internal/lease/leasetest/s3server_test.go+38 −0internal/lease/versioned.go+268 −0internal/lease/versioned_test.go+97 −0internal/provision/applisting_test.go+337 −0internal/provision/config_gate_test.go+116 −0internal/provision/parallelreads_test.go+320 −0internal/provision/reconcile.go+409 −132internal/provision/sidecar_reconcile.go+103 −86internal/registry/timers.go+31 −0internal/registry/timers_test.go+77 −0internal/release/store.go+28 −0internal/status/contract_test.go+26 −15internal/status/dryrun.go+31 −0internal/status/snapshot.go+88 −1internal/status/snapshot_test.go+41 −0internal/status/status_test.go+76 −0internal/termfence/fence.go+138 −0internal/termfence/fence_test.go+127 −0statuslive_test.go+45 −0
CI passed — run details
AGENTS.mdLoading diff…
README.mdLoading diff…
canary.goLoading diff…
canary_create_e2e_test.goLoading diff…
canary_region_e2e_test.goLoading diff…
canary_region_test.goLoading diff…
canary_test.goLoading diff…
cli.goLoading diff…
docs/site/cli.mdLoading diff…
docs/superpowers/plans/2026-09-01-carloku-scanning-rollout.mdLoading diff…
docs/superpowers/plans/2026-10-02-nearest-region-copy.jsonLoading diff…
docs/superpowers/plans/2026-10-05-region-ha-1a-foundations.mdLoading diff…
docs/superpowers/plans/2026-10-05-scanner-host-rollout.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-BRIEF-1.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-BRIEF-2.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-BRIEF-3.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-BRIEF-4.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-BRIEF-5.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R1.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R2.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R3.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R4.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R5.mdLoading diff…
docs/superpowers/specs/2026-10-04-region-ha-box-placement-design.mdLoading diff…
docs/superpowers/specs/2026-10-04-scanner-host-rollout-design.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-REGION-HA-1.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-REGION-HA-2.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-REGION-HA-3.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-REGION-HA-4.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-REGION-HA-5.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-REGION-HA-6.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-SCANNER-HOST-CODE.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-SCANNER-HOST-R2.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-SCANNER-HOST-R3.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-SCANNER-HOST-R4.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-SCANNER-HOST-R5.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-SCANNER-HOST.mdLoading diff…
docs/superpowers/specs/CODEX-REVIEW-BRIEF-REGION-HA-1.mdLoading diff…
docs/superpowers/specs/CODEX-REVIEW-BRIEF-REGION-HA-2.mdLoading diff…
docs/superpowers/specs/CODEX-REVIEW-BRIEF-REGION-HA-3.mdLoading diff…
docs/superpowers/specs/CODEX-REVIEW-BRIEF-REGION-HA-4.mdLoading diff…
docs/superpowers/specs/CODEX-REVIEW-BRIEF-REGION-HA-5.mdLoading diff…
docs/superpowers/specs/CODEX-REVIEW-BRIEF-REGION-HA-6.mdLoading diff…
docs/superpowers/specs/CODEX-REVIEW-BRIEF-SCANNER-HOST-CODE.mdLoading diff…
docs/superpowers/specs/CODEX-REVIEW-BRIEF-SCANNER-HOST.mdLoading diff…
go.modLoading diff…
go.sumLoading diff…
infra/modules/README.mdLoading diff…
infra/modules/deployment-buckets/main.tfLoading diff…
infra/modules/deployment-buckets/variables.tfLoading diff…
infra/modules/region-host/README.mdLoading diff…
infra/modules/region-host/main.tfLoading diff…
infra/modules/region-host/outputs.tfLoading diff…
infra/modules/region-host/tests/store_scanning.tftest.hclLoading diff…
infra/modules/region-host/variables.tfLoading diff…
infra/modules/region-remote-host/main.tfLoading diff…
infra/modules/scanner-host/README.mdLoading diff…
infra/modules/scanner-host/files/scanner-selftestLoading diff…
infra/modules/scanner-host/files/scanner-selftest.serviceLoading diff…
infra/modules/scanner-host/files/scanner-tcp.serviceLoading diff…
infra/modules/scanner-host/files/scanner-tcp.socketLoading diff…
infra/modules/scanner-host/main.tfLoading diff…
infra/modules/scanner-host/outputs.tfLoading diff…
infra/modules/scanner-host/scanner-init.sh.tftplLoading diff…
infra/modules/scanner-host/tests/scanner_host.tftest.hclLoading diff…
infra/modules/scanner-host/variables.tfLoading diff…
infra/modules/scanner-host/versions.tfLoading diff…
internal/activator/activator.goLoading diff…
internal/activator/activator_test.goLoading diff…
internal/activator/backend_exec.goLoading diff…
internal/activator/backend_unit.goLoading diff…
internal/activator/config_gate_test.goLoading diff…
internal/activator/converge_adopted_test.goLoading diff…
internal/activator/installed.goLoading diff…
internal/activator/installed_test.goLoading diff…
internal/appconfig/canprovide.goLoading diff…
internal/appconfig/canprovide_test.goLoading diff…
internal/boxid/boxid_test.goLoading diff…
internal/boxid/certs.goLoading diff…
internal/boxid/certs/README.mdLoading diff…
internal/boxid/certs/ap-southeast-2.pemLoading diff…
internal/boxid/certs/eu-west-1.pemLoading diff…
internal/boxid/certs/eu-west-2.pemLoading diff…
internal/boxid/certs/us-east-1.pemLoading diff…
internal/boxid/record.goLoading diff…
internal/boxid/verify.goLoading diff…
internal/clamd/clamd.goLoading diff…
internal/clamd/clamd_test.goLoading diff…
internal/console/apex.goLoading diff…
internal/console/apiinstances.goLoading diff…
internal/console/apiinstancescanary_test.goLoading diff…
internal/console/boxchoice.goLoading diff…
internal/console/boxchoice_test.goLoading diff…
internal/console/instancesplacement.goLoading diff…
internal/console/regioncandidates_test.goLoading diff…
internal/edge/homemap.goLoading diff…
internal/edge/homemap_test.goLoading diff…
internal/edge/static.goLoading diff…
internal/edge/static_cache_test.goLoading diff…
internal/host/agent.goLoading diff…
internal/host/alertsink.goLoading diff…
internal/host/alertsink_test.goLoading diff…
internal/host/configguard.goLoading diff…
internal/host/configguard_test.goLoading diff…
internal/host/converge_adopted_test.goLoading diff…
internal/host/edgesfile.goLoading diff…
internal/host/edgesfile_test.goLoading diff…
internal/host/headroom.goLoading diff…
internal/host/headroom_linux.goLoading diff…
internal/host/headroom_other.goLoading diff…
internal/host/headroom_test.goLoading diff…
internal/host/metrics_loop.goLoading diff…
internal/host/metrics_loop_test.goLoading diff…
internal/host/steering_loop_test.goLoading diff…
internal/hostfiles/deadline.goLoading diff…
internal/hostfiles/deadline_test.goLoading diff…
internal/hostfiles/dir_other.goLoading diff…
internal/hostfiles/dir_unix.goLoading diff…
internal/hostfiles/hostfiles_test.goLoading diff…
internal/hostfiles/manifest.goLoading diff…
internal/hostfiles/publish_unix_test.goLoading diff…
internal/hostfiles/publisher.goLoading diff…
internal/hostfiles/restore.goLoading diff…
internal/hostfiles/run.goLoading diff…
internal/hostfiles/run_test.goLoading diff…
internal/hostfiles/sync.goLoading diff…
internal/hostfiles/sync_test.goLoading diff…
internal/hostfiles/sync_unix_test.goLoading diff…
internal/hostfiles/wake.goLoading diff…
internal/hostfiles/wake_test.goLoading diff…
internal/hostfiles/walk_unix.goLoading diff…
internal/hostfiles/watch_linux.goLoading diff…
internal/hostfiles/watch_linux_test.goLoading diff…
internal/hostfiles/watch_other.goLoading diff…
internal/lease/export_test.goLoading diff…
internal/lease/leasetest/bucket.goLoading diff…
internal/lease/leasetest/bucket_test.goLoading diff…
internal/lease/leasetest/contract.goLoading diff…
internal/lease/leasetest/s3server.goLoading diff…
internal/lease/leasetest/s3server_test.goLoading diff…
internal/lease/versioned.goLoading diff…
internal/lease/versioned_test.goLoading diff…
internal/provision/applisting_test.goLoading diff…
internal/provision/config_gate_test.goLoading diff…
internal/provision/parallelreads_test.goLoading diff…
internal/provision/reconcile.goLoading diff…
internal/provision/sidecar_reconcile.goLoading diff…
internal/registry/timers.goLoading diff…
internal/registry/timers_test.goLoading diff…
internal/release/store.goLoading diff…
internal/status/contract_test.goLoading diff…
internal/status/dryrun.goLoading diff…
internal/status/snapshot.goLoading diff…
internal/status/snapshot_test.goLoading diff…
internal/status/status_test.goLoading diff…
internal/termfence/fence.goLoading diff…
internal/termfence/fence_test.goLoading diff…
statuslive_test.goLoading diff…