canonicalBlocks set whose highest block is below the target’s persisted
cursor. Rows above it would survive the fork rollback and corrupt the new chain, so the pipe refuses
to proceed. Any target that tracks a cursor can raise this.
Fix — none in user code; please
report it as a bug against the portal contract.E1004
Fork handling — Portal contract violation
The portal delivered a