pull down to refresh

A couple of things here: it sounds like managej collapses the multigraph into a simple graph, coalescing parallel edges. That'd explain why witnessing balance on one also causes the other to be used. Secondly you point out correctly that the forwarding node may chose to use another channel (the scid now is more of an alias for the remote node, rather than being used as a channel identifier), however the spec also mandates that the forwarding node must use the specified scid when returning an error, which is the confusion you are facing here. That forwarding node is not spec compliant.
Interesting. Can you point to where this is described in the spec?
reply
Hm, I can't find the spec verbiage, but here's the discussion from 6y back: https://github.com/lightning/bolts/pull/503#discussion_r232644170
The spec proposal does suggest keeping the fee schedules of parallel channels aligned, but there is no requirement of that. The discussion on what to return errors for is quite interesting and touches the points you mentioned in the OP.
reply