Merge the scanning branch's own main-merge into the stack
No conflict: the two commits this branch carries of its own touch `internal/objstore/queue.go` and `internal/console/scanhook.go`, neither of which main went near. The parent's `closedDoors` resolution comes through as-is, and the count stays 21 — the enqueue door about to land here is a `Service` door, not a shut one, so it will move a different assertion.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ExnZtUYmt2h8QFcymjPaSL
AGENTS.md+17 −0apimode.go+95 −0apps.go+13 −1apps_buildprobe.go+97 −0cli.go+208 −12deploy.go+31 −2deploy_e2e_test.go+16 −2docs/site/cli.md+133 −8docs/superpowers/specs/2026-09-02-path-based-routing-design.md+29 −16infra/modules/region-host/variables.tf+15 −1internal/activator/activator.go+8 −3internal/awsinv/ec2.go+19 −0internal/console/apibuildprobe.go+77 −0internal/console/apibuildprobe_test.go+88 −0internal/console/apicli.go+9 −6internal/console/apiregions.go+3 −1internal/console/apirestartscope.go+390 −0internal/console/apirestartscope_test.go+422 −0internal/console/apiroutes.go+7 −0internal/console/apiroutes_test.go+36 −1internal/console/apistatusinstances.go+162 −0internal/console/apistatusinstances_test.go+198 −0internal/console/archestate.go+248 −0internal/console/archestate_test.go+285 −0internal/console/archfits_test.go+31 −15internal/console/archgraph.go+264 −49internal/console/archgraph_test.go+125 −42internal/console/archlayout.go+122 −84internal/console/archlayout_test.go+118 −56internal/console/archlegibility_test.go+77 −54internal/console/archpage.go+6 −1internal/console/archpage_test.go+48 −0internal/console/archregion.go+179 −0internal/console/archregion_test.go+343 −0internal/console/authcli.go+54 −1internal/console/economicspass.go+16 −3internal/console/instancesplacement.go+67 −16internal/console/instancesplacement_test.go+75 −0internal/console/server.go+7 −4internal/console/svcroutes_test.go+19 −3internal/console/templates/architecture.html+67 −25internal/console/templates/layout.html+17 −15internal/edge/edge.go+47 −16internal/edge/noactivator_test.go+95 −0internal/edge/purge_header.go+55 −2internal/edge/purge_path_test.go+156 −0internal/host/agent.go+22 −8internal/host/bootstrap.go+39 −0internal/host/fileowner_other.go+10 −0internal/host/fileowner_unix.go+20 −0internal/host/registryowner.go+237 −0internal/host/registryowner_test.go+368 −0internal/host/restart.go+167 −21internal/host/restart_test.go+34 −13internal/host/restartscope.go+289 −0internal/host/restartscope_test.go+577 −0internal/provision/reconcile.go+45 −2internal/provision/reconcile_test.go+47 −0internal/registry/registry.go+167 −14internal/registry/replication_test.go+219 −0internal/release/adopt.go+11 −4internal/release/restartscope.go+314 −0internal/release/restartscope_test.go+301 −0internal/release/stage_blocked_test.go+72 −0main.go+2 −1restart.go+152 −6restart_test.go+182 −0route_replication_test.go+333 −0routes_cli.go+30 −8status_instances.go+161 −0status_instances_test.go+43 −0
AGENTS.mdLoading diff…
apimode.goLoading diff…
apps.goLoading diff…
apps_buildprobe.goLoading diff…
cli.goLoading diff…
deploy.goLoading diff…
deploy_e2e_test.goLoading diff…
docs/site/cli.mdLoading diff…
docs/superpowers/specs/2026-09-02-path-based-routing-design.mdLoading diff…
infra/modules/region-host/variables.tfLoading diff…
internal/activator/activator.goLoading diff…
internal/awsinv/ec2.goLoading diff…
internal/console/apibuildprobe.goLoading diff…
internal/console/apibuildprobe_test.goLoading diff…
internal/console/apicli.goLoading diff…
internal/console/apiregions.goLoading diff…
internal/console/apirestartscope.goLoading diff…
internal/console/apirestartscope_test.goLoading diff…
internal/console/apiroutes.goLoading diff…
internal/console/apiroutes_test.goLoading diff…
internal/console/apistatusinstances.goLoading diff…
internal/console/apistatusinstances_test.goLoading diff…
internal/console/archestate.goLoading diff…
internal/console/archestate_test.goLoading diff…
internal/console/archfits_test.goLoading diff…
internal/console/archgraph.goLoading diff…
internal/console/archgraph_test.goLoading diff…
internal/console/archlayout.goLoading diff…
internal/console/archlayout_test.goLoading diff…
internal/console/archlegibility_test.goLoading diff…
internal/console/archpage.goLoading diff…
internal/console/archpage_test.goLoading diff…
internal/console/archregion.goLoading diff…
internal/console/archregion_test.goLoading diff…
internal/console/authcli.goLoading diff…
internal/console/economicspass.goLoading diff…
internal/console/instancesplacement.goLoading diff…
internal/console/instancesplacement_test.goLoading diff…
internal/console/server.goLoading diff…
internal/console/svcroutes_test.goLoading diff…
internal/console/templates/architecture.htmlLoading diff…
internal/console/templates/layout.htmlLoading diff…
internal/edge/edge.goLoading diff…
internal/edge/noactivator_test.goLoading diff…
internal/edge/purge_header.goLoading diff…
internal/edge/purge_path_test.goLoading diff…
internal/host/agent.goLoading diff…
internal/host/bootstrap.goLoading diff…
internal/host/fileowner_other.goLoading diff…
internal/host/fileowner_unix.goLoading diff…
internal/host/registryowner.goLoading diff…
internal/host/registryowner_test.goLoading diff…
internal/host/restart.goLoading diff…
internal/host/restart_test.goLoading diff…
internal/host/restartscope.goLoading diff…
internal/host/restartscope_test.goLoading diff…
internal/provision/reconcile.goLoading diff…
internal/provision/reconcile_test.goLoading diff…
internal/registry/registry.goLoading diff…
internal/registry/replication_test.goLoading diff…
internal/release/adopt.goLoading diff…
internal/release/restartscope.goLoading diff…
internal/release/restartscope_test.goLoading diff…
internal/release/stage_blocked_test.goLoading diff…
main.goLoading diff…
restart.goLoading diff…
restart_test.goLoading diff…
route_replication_test.goLoading diff…
routes_cli.goLoading diff…
status_instances.goLoading diff…
status_instances_test.goLoading diff…