On the Subject of Wire Sequences This challenge is from a game, Keep Talking And Nobody Explodes.
It's hard to say how this mechanism works. The engineering is pretty impressive, but there must have been an easier way to manage nine wires. — from the manual
Input
Exactly 9 &quot;wires&quot;, each which is labeled 'A', 'B', or 'C', and is colored red, blue, or black.
Input format and type doesn't matter, as long as they uniquely identify the wires. In particular, the alphabets can be encoded arbitrarily, so can the colors.
Objective and Output
Output the indices of the wires that needs to be cut. The output format and type doesn't matter either, as long as they uniquely identify the wires to be cut.
Which wire to cut?
If the wire has color \$X\$ and it's the \$N\$th wire of that color that you have seen so far, look at the entry of color \$X\$ on row \$N\$ of the table. If and only if the wire's label is listed on that entry, it is to be cut.
$$
\begin{array}{c|ccc}
           &amp; \text{Red} &amp; \text{Blue} &amp; \text{Black} \\ \hline
\text{1st} &amp; \text{C} &amp; \text{B} &amp; \text{A, B, or C} \\
\text{2nd} &amp; \text{B} &amp; \text{A or C} &amp; \text{A or C} \\
\text{3rd} &amp; \text{A} &amp; \text{B} &amp; \text{B} \\
\text{4th} &amp; \text{A or C} &amp; \text{A} &amp; \text{A or C} \\
\text{5th} &amp; \text{B} &amp; \text{B} &amp; \text{B} \\
\text{6th} &amp; \text{A or C} &amp; \text{B or C} &amp; \text{B or C} \\
\text{7th} &amp; \text{A, B, or C} &amp; \text{C} &amp; \text{A or B} \\
\text{8th} &amp; \text{A or B} &amp; \text{A or C} &amp; \text{C} \\
\text{9th} &amp; \text{B} &amp; \text{A} &amp; \text{C}
\end{array}
$$
Example
Assuming the wires are 1-indexed, and given the following input:
Blue  C
Blue  C
Black C
Black B
Black A
Red   C
Blue  C
Black A
Black A

The 1st wire is the 1st blue wire, which is not connected to B, so leave it.
The 2nd wire is the 2nd blue wire, which is connected to A or C,  so cut it.
The 3rd wire is the 1st black wire, so cut it.
The 4th wire is the 2nd black wire, which is not connected to A nor C, so leave it.
The 5th wire is the 3rd black wire, which is not connected to B, so leave it.
The 6th wire is the 1st red wire, which is connected to C, so cut it.
The 7th wire is the 3rd blue wire, which is not connected to B, so leave it.
The 8th wire is the 4th black wire, which is connected to A or C, so cut it.
The 9th wire is the 5th black wire, which in not connected to B, so leave it.
So the output is [2,3,6,8].
JavaScript (ES6),  75 74  67 bytes
Expects a list of [color, label] pairs, using 0-2 for both. Returns a binary array describing which wires must be cut.
a=&gt;a.map(([c,w])=&gt;(m[c]/=8)&gt;&gt;w&amp;1,m=[334844576,228136272,611931512])

Try it online!
63 bytes
We can save a few bytes by taking A=1, B=2, C=4 and returning a list of zero / non-zero values.
a=&gt;a.map(([c,w])=&gt;w&amp;=m[c]/=8,m=[334844576,228136272,611931512])

Try it online!
How?
Each color is encoded as a bit mask describing the wire labels for the 1st to the 9th appearance.
 #     |  9   8   7   6   5   4   3   2   1  (0)
 Label | CBA CBA CBA CBA CBA CBA CBA CBA CBA ---
-------+-----------------------------------------
 Red   | 010 011 111 101 010 101 001 010 100 000 -&gt; 334844576
 Blue  | 001 101 100 110 010 001 010 101 010 000 -&gt; 228136272
 Black | 100 100 011 110 010 101 010 101 111 000 -&gt; 611931512

Whenever a color appears, we right-shift the corresponding bit mask by 3 positions (by dividing it by 8) and we test the bit 0, 1 or 2 according to the label.