Whether two chains are the SAME ARRANGEMENT -- the same nodes in the same order, each
carrying the same persisted fields.
Asked of the PERSISTED PROJECTION (snapshotFromChain), so exactly what a file would
hold decides it. A bypassed stage, an insert hosting a plugin, a moved tap point or a param
the operator turned all make a chain differ; nothing that never reaches disk does. Comparing
ids and kinds alone calls a bypassed EQ canonical, which prunes an operator's fact out of the
save and lets the restore's query-and-compare escape skip a strip it never cleared.
Both sides of the arrangement's round trip run through this one predicate (channel contract
revision 5): the capture prunes when it holds against canonicalChainFor, and the
restore's absence clear writes only when it does not.
Whether two chains are the SAME ARRANGEMENT -- the same nodes in the same order, each carrying the same persisted fields.
Asked of the PERSISTED PROJECTION (snapshotFromChain), so exactly what a file would hold decides it. A bypassed stage, an insert hosting a plugin, a moved tap point or a param the operator turned all make a chain differ; nothing that never reaches disk does. Comparing ids and kinds alone calls a bypassed EQ canonical, which prunes an operator's fact out of the save and lets the restore's query-and-compare escape skip a strip it never cleared.
Both sides of the arrangement's round trip run through this one predicate (channel contract revision 5): the capture prunes when it holds against
canonicalChainFor, and the restore's absence clear writes only when it does not.