Non-low-risk InlineZig cluster from the opaque-Zig hardening pass.
Sites:
src/backends/pipeline_host.rb:3075 obs_alloc
src/backends/pipeline_host.rb:3081 obs_wg_init
src/backends/pipeline_host.rb:3085 obs_set_completion
src/backends/pipeline_host.rb:3197 obs_consumer_spawn
src/backends/pipeline_host.rb:3389 obs_reduce_publish
src/backends/pipeline_host.rb:3424 obs_distinct_publish
Risk:
- Observable lowering hides heap allocation, WaitGroup initialization, completion ownership transfer, spawned-fiber context allocation/transfer, CAS publish loops, and submit calls inside InlineZig snippets.
Acceptance:
- Replace with structural MIR nodes or dedicated observable runtime operation nodes whose fields expose allocator, ownership transfer, spawn, and publish semantics.
- Preserve observable cleanup and WaitGroup ownership invariants.
- If a site remains InlineZig, document why a structural node increases complexity and why checker metadata is sufficient.
Non-low-risk InlineZig cluster from the opaque-Zig hardening pass.
Sites:
src/backends/pipeline_host.rb:3075obs_allocsrc/backends/pipeline_host.rb:3081obs_wg_initsrc/backends/pipeline_host.rb:3085obs_set_completionsrc/backends/pipeline_host.rb:3197obs_consumer_spawnsrc/backends/pipeline_host.rb:3389obs_reduce_publishsrc/backends/pipeline_host.rb:3424obs_distinct_publishRisk:
Acceptance: