Part of #11255. Focused delivery slice of #11765. Begin after #11695 merges.
Problem
Native-loopback qualification exposed live E2E coverage that still exercises NemoClaw-owned lifecycle and recovery behavior we intend to remove. In the exact-head #11695 run, the supported OpenShell stop/start path passed, while gateway-guard-recovery failed only in its later legacy sleep infinity container-replacement transaction. sandbox-survival failed before gateway restart because retained NemoClaw recovery records conflicted with current Docker identities. Those paths are validating obsolete machinery rather than the basic-onboarder architecture.
The authorization target also coupled its scope contract to a hosted agent turn: the required operator.write state settled successfully, but the job failed when the unrelated OpenClaw/inference turn timed out.
Evidence: https://github.com/NVIDIA/NemoClaw/actions/runs/34902351251 on #11695 head 7993b26a5dffb7980000b27af839532a5a5c0733.
Scope
- Delete the legacy keepalive/container-replacement branch from
gateway-guard-recovery and remove production recovery helpers whose only remaining consumer is that branch.
- Refocus or retire
gateway-guard-recovery so it covers only behavior NemoClaw still owns after onboarding.
- Replace NemoClaw retained-registry/recovery orchestration in
sandbox-survival with OpenShell stop/start plus native agent readiness and state-survival assertions.
- Delete stale recovery records, immutable replacement-transaction state, rollback/handoff code, and fixtures that have no supported runtime consumer.
- Keep the scope-upgrade test focused on authorization. Do not make successful hosted inference the verdict for an already-proven scope transition unless that agent turn is itself the contract under test.
- Remove target-catalogue and workflow wiring for any live target that becomes empty.
- Do not build replacement lifecycle machinery.
Acceptance criteria
Part of #11255. Focused delivery slice of #11765. Begin after #11695 merges.
Problem
Native-loopback qualification exposed live E2E coverage that still exercises NemoClaw-owned lifecycle and recovery behavior we intend to remove. In the exact-head #11695 run, the supported OpenShell stop/start path passed, while
gateway-guard-recoveryfailed only in its later legacysleep infinitycontainer-replacement transaction.sandbox-survivalfailed before gateway restart because retained NemoClaw recovery records conflicted with current Docker identities. Those paths are validating obsolete machinery rather than the basic-onboarder architecture.The authorization target also coupled its scope contract to a hosted agent turn: the required
operator.writestate settled successfully, but the job failed when the unrelated OpenClaw/inference turn timed out.Evidence: https://github.com/NVIDIA/NemoClaw/actions/runs/34902351251 on #11695 head
7993b26a5dffb7980000b27af839532a5a5c0733.Scope
gateway-guard-recoveryand remove production recovery helpers whose only remaining consumer is that branch.gateway-guard-recoveryso it covers only behavior NemoClaw still owns after onboarding.sandbox-survivalwith OpenShell stop/start plus native agent readiness and state-survival assertions.Acceptance criteria
sleep infinityreplacement transaction and its assertions are gone.sandbox-survivalbegins from clean state without NemoClaw retained-recovery identity conflicts and verifies only supported ownership boundaries.