This is an umbrella issue, multiple sub-phases inside this phase.
- Segmentation:
docs/work/mvp/phase8/2026-09-11-phase8-segmentation-design.md — cut three ways; the three
sub-phases are independent, so their order is convenience. The phase that ships the most gems in the
roadmap: dexpace-transport-net_http, dexpace-async-thread, dexpace-transport-async_http and
dexpace-conformance, whose gemspec, version and first release phase 8 owns.
- Five phase-level tasks are owned by no sub-phase because they land outside the three sub-phases' gems; the
first is Dexpace::TransportError < ::IOError in dexpace-core with XCUT-4 branch (b)'s
always-retryable flag — landed by 8a Task 2, cited by 8c Task 4 — because Net::ReadTimeout, SocketError,
Errno::ECONNREFUSED and Async::TimeoutError are none of them ::IOError descendants.
This is an umbrella issue, multiple sub-phases inside this phase.
docs/work/mvp/phase8/2026-09-11-phase8-segmentation-design.md— cut three ways; the threesub-phases are independent, so their order is convenience. The phase that ships the most gems in the
roadmap:
dexpace-transport-net_http,dexpace-async-thread,dexpace-transport-async_httpanddexpace-conformance, whose gemspec, version and first release phase 8 owns.first is
Dexpace::TransportError < ::IOErrorindexpace-corewithXCUT-4branch (b)'salways-retryable flag — landed by 8a Task 2, cited by 8c Task 4 — because
Net::ReadTimeout,SocketError,Errno::ECONNREFUSEDandAsync::TimeoutErrorare none of them::IOErrordescendants.