You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-up from PR #54 (Ask in the lane D container). Copilot's final review summary on validated head 6f047ac says "unresolved moderate issues remain in … shared Docker-resource isolation" but gives no finding or location. This issue records the known limit behind it, which is already documented in docs/implementation/agent-isolation.md.
Current behavior
Ask fails closed on leftovers it cannot identify:
The first question of each process scans for containers, volumes and networks labelled io.codeboost.allocation, io.codeboost.invocation or io.codeboost.egress.
While an unidentified-leftover marker is recorded, any such resource keeps Ask off.
Lane D's labels carry an allocation, invocation or egress ID but no runner identity. So a second codeboost process working on a different review against the same Docker daemon can make this review's Ask refuse to start. The per-review OS lock (<database>.ask-leftovers.json.lock, keyed by file identity) prevents overlap only within one review database.
This is a false refusal (fail closed), not a leak: nothing belonging to another review is deleted.
Depends on
#51 item 3: runnerOwner plus attempt and allocation labels on every lane D resource. Item 4 (recoverLeftovers(runnerOwner) with authenticated recovery handles) would also let Ask remove its own leftovers instead of only detecting them.
Follow-up from PR #54 (Ask in the lane D container). Copilot's final review summary on validated head
6f047acsays "unresolved moderate issues remain in … shared Docker-resource isolation" but gives no finding or location. This issue records the known limit behind it, which is already documented indocs/implementation/agent-isolation.md.Current behavior
Ask fails closed on leftovers it cannot identify:
io.codeboost.allocation,io.codeboost.invocationorio.codeboost.egress.Lane D's labels carry an allocation, invocation or egress ID but no runner identity. So a second codeboost process working on a different review against the same Docker daemon can make this review's Ask refuse to start. The per-review OS lock (
<database>.ask-leftovers.json.lock, keyed by file identity) prevents overlap only within one review database.This is a false refusal (fail closed), not a leak: nothing belonging to another review is deleted.
Depends on
#51 item 3:
runnerOwnerplus attempt and allocation labels on every lane D resource. Item 4 (recoverLeftovers(runnerOwner)with authenticated recovery handles) would also let Ask remove its own leftovers instead of only detecting them.To close this issue
runnerOwnerlabel, and reclaim through D's recovery API.runner/question-leftovers.tsthat only exist because resources lack an owner.