Problem
packages/loopover-miner/docs/global-singleton-tenant-audit.md (for the now-closed #5218) flags LOOPOVER_MINER_KILL_SWITCH (packages/loopover-engine/src/governor/kill-switch.ts) as a single process-env boolean with no per-tenant key — one tenant's flag would halt every tenant sharing a process. That finding assumed a shared-process hosting model.
Under the now-decided per-tenant-container model, this may already be structurally resolved a different way: since each tenant is a separate container, "pause tenant X" could simply mean the control-plane stops waking/routing to that container — no in-app flag needed at all. But that's not obviously equivalent to today's kill-switch, which can halt a cycle already in progress, not just prevent a future wake. This issue exists to make that call explicitly rather than assume either answer.
Area
packages/loopover-engine/src/governor/kill-switch.ts, and whatever the shared control-plane's (#7173) provisioning/orchestration layer ends up being.
Proposal
Decide: does orchestration-layer pause (stop scheduling/routing to a container) fully replace the in-app kill-switch for the hosted path, or is there a real gap (e.g. stopping a cycle already mid-flight, or an operator-facing "pause my own instance" self-service action that shouldn't require going through the central control-plane)? If a gap exists, design the per-tenant version of the in-app switch; if not, document why orchestration-layer pause is sufficient and this doesn't need new in-app code.
Deliverables
Boundaries
Links & Resources
Problem
packages/loopover-miner/docs/global-singleton-tenant-audit.md(for the now-closed #5218) flagsLOOPOVER_MINER_KILL_SWITCH(packages/loopover-engine/src/governor/kill-switch.ts) as a single process-env boolean with no per-tenant key — one tenant's flag would halt every tenant sharing a process. That finding assumed a shared-process hosting model.Under the now-decided per-tenant-container model, this may already be structurally resolved a different way: since each tenant is a separate container, "pause tenant X" could simply mean the control-plane stops waking/routing to that container — no in-app flag needed at all. But that's not obviously equivalent to today's kill-switch, which can halt a cycle already in progress, not just prevent a future wake. This issue exists to make that call explicitly rather than assume either answer.
Area
packages/loopover-engine/src/governor/kill-switch.ts, and whatever the shared control-plane's (#7173) provisioning/orchestration layer ends up being.Proposal
Decide: does orchestration-layer pause (stop scheduling/routing to a container) fully replace the in-app kill-switch for the hosted path, or is there a real gap (e.g. stopping a cycle already mid-flight, or an operator-facing "pause my own instance" self-service action that shouldn't require going through the central control-plane)? If a gap exists, design the per-tenant version of the in-app switch; if not, document why orchestration-layer pause is sufficient and this doesn't need new in-app code.
Deliverables
Boundaries
Links & Resources
packages/loopover-miner/docs/global-singleton-tenant-audit.mdpackages/loopover-engine/src/governor/kill-switch.ts