Merge remote-tracking branch 'origin/main' into design-region-ha
# Conflicts: # infra/modules/region-host/main.tf
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-scanner-host-rollout.md+1507 −0docs/superpowers/specs/2026-10-04-scanner-host-rollout-design.md+489 −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-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/region-host/README.md+4 −0infra/modules/region-host/main.tf+49 −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/appconfig/canprovide.go+132 −0internal/appconfig/canprovide_test.go+280 −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/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/metrics_loop.go+11 −21internal/host/metrics_loop_test.go+13 −8internal/host/steering_loop_test.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/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 −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-scanner-host-rollout.mdLoading diff…
docs/superpowers/specs/2026-10-04-scanner-host-rollout-design.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-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/region-host/README.mdLoading diff…
infra/modules/region-host/main.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/appconfig/canprovide.goLoading diff…
internal/appconfig/canprovide_test.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/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/metrics_loop.goLoading diff…
internal/host/metrics_loop_test.goLoading diff…
internal/host/steering_loop_test.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/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…
statuslive_test.goLoading diff…