Context opening
Ctx<P> is constructed by generated code, not by the developer. In v1 the
strategy is fixed by the phase type alone: every region P may know is
witnessed in full and its root recomputed once; regions P cannot know are
witnessed as opaque roots. There is no per-policy read analysis. The cost is
bounded (roughly 250 Poseidon2 hashes for a phase-0 policy) and is dwarfed
by the wrapper's recursion. Path openings driven by a read set are a v2
optimization gated on the benchmark in §12.