A combinatorial channel specifies a set of possible channel outputs for each channel input. A ranked partially ordered set, or ranked poset, gives us a notion of up errors and down errors. This allows us to define a variety of combinatorial channels. There is a family of channels that have the rank-n elements of the poset as the input, and introduce s total errors, each performing a different mixture of up errors and down errors. If a ranked poset has the 'parallelogram property,' the family of channels all have the same confusion graph and thus the same codes. Furthermore, there is a natural metric on each rank of the poset. In the common confusion graph of the channel, vertices are adjacent if and only if their distance in this metric is at most 2s. Although all of the channels in the family have the same set of codes, each channel corresponds to a different integer linear program that characterizes the set of codes. Because each integer linear program has a different fractional relaxation, each leads to a different sphere-packing upper bound for the codes. We take advantage of this phenomenon by optimizing across the family of channels to obtain the best bound. This formulation includes many of classical error models, including erasures and substitutions in q-ary vectors, Hamming errors in constant weight binary codes, insertions and deletions in q-ary strings, the error model of subspace codes, the natural error model for compositions, and various errors models for permutations.