fix(windows): require fresh isolation proofs before pool work - #315
Conversation
|
Reviewed and merging. Taking this over because the authoring session stopped. Why it's safe to merge despite the Activation section. That section says each worker still needs its identity bindings, image digest, baseline manifest, and egress policy before the gate can run. That's a provisioning prerequisite, not a hold on the merge, and the body says outright that no live runner changes. No The thing I actually checked. A gate that exists but never gets called is the failure mode worth worrying about in a diff this size, so I traced the call sites rather than trusting the tests:
What the tests stub, and what they don't. The negative cases carry their weight too: proof expiry, identity drift, run reuse, a responsive legacy worker, start-proof reuse across a task batch, and unknown tunnel ports. CI: #313 stays closed. This PR keeps its baseline inventory checks and binds them to the one-use reset marker, so there's nothing left to recover there. |
The old egress policy accepted every established connection before it checked the destination. A connection from an earlier run could survive a block-all transition. Pool dispatch also trusted any responsive guest, even when that guest had no fresh reset or egress proof.
Changes
pool-autorun the same gates for every worker and save canonical reset, egress, and start proof files before it sends work.This PR supersedes #313. It preserves that PR’s useful reset and host-egress work and replaces its remaining bypasses.
Tests
45 passedin the Windows isolation and evaluate-server suites.2475 passed, 65 skippedin the local test suite after excluding four known environment or fixture groups.git diff --checkpass.Activation
This PR doesn’t change a live runner. Each worker still needs its root-owned identity bindings, admitted image digest, exact baseline manifest, and reviewed egress policy before the new gate can run.