Pensieve header: Just a recycling bin.

First, we implement the Kronecker $\delta$-function\footnote{Only for indices in $\mathtt{es}=\{i,j,k,m\}\cup\{i,j,k,m\}^+\cup\{i,j,k,m\}^{++}$, because later we will sometimes want to leave $\delta_{\alpha\beta}$ ``undecided’’.}, the $g$-rules for a crossing $(s,i,j)$, and the $g$-rules for a list of crossings $X$:

ijkmn=i|j|k|m|n; es=ijkmn|(SuperPlus[ijkmn])|(SuperPlus[(SuperPlus[ijkmn])]); (Subscript[δ, α:es,β:es]):=If[α===β,1,0];
gRules[{s_,i_,j_}]:={(Subscript[g, ν_,j,β_]):>(Subscript[g, ν,(SuperPlus[j]),β])+(Subscript[δ, j,β]),(Subscript[g, ν_,i,β_]):>(Subscript[T, ν]^s)(Subscript[g, ν,(SuperPlus[i]),β])+(1-(Subscript[T, ν]^s))(Subscript[g, ν,(SuperPlus[j]),β])+(Subscript[δ, i,β]),
(Subscript[g, ν_,α_,(SuperPlus[i])]):>(Subscript[T, ν]^s)(Subscript[g, ν,α,i])+(Subscript[δ, α,(SuperPlus[i])]),(Subscript[g, ν_,α_,(SuperPlus[j])]):>(Subscript[g, ν,α,j])+(1-(Subscript[T, ν]^s))(Subscript[g, ν,α,i])+(Subscript[δ, α,(SuperPlus[j])])};
gRules[X___List]:=Union@@Table[gRules[c],{c,{X}}]