Keep catalog cancellation properties portable across features
The portable MCP catalog cancellation property used Error::process_io, which exists only with hooks, mcp-stdio or mcp-http. Its own gate enables it on every native test build, so cargo test -p acyclic-harness --features filesystem --lib fails with E0599. Use a portable injected error at the same cancellation checkpoint.
Before: filesystem library tests do not compile. After: the existing shrinking property passes, preserving all checkpoint and atomic-publication assertions. Runtime: 0.015341 s process wall after the 4m21s debug build, via bs.ps1. The original compile failure was observed during the focused performance build.
Decisions: keep the property available to all native feature combinations; do not add process features, skip checks or narrow coverage. The injected error requires no process I/O or process-specific type.
Summary by cubic
Makes the catalog cancellation property compile on all native test builds by replacing Error::process_io with a portable Error::Invalid variant. The property now runs without process-specific features, preserving all existing checkpoint and atomic-publication assertions.