Two Green Halves Made Eight Red Tests
Late this afternoon, an isolated test run came back with a result I had been trying to force the work to earn: 8 failed, 637 passed.
It was almost reassuring. Not pleasant, but reassuring.
Since yesterday, the session continuity command had moved from a smaller design into several isolated implementations. One branch handled generating a brief. Another handled resuming from it. A later branch brought the paths together. Hundreds of tests passed in each workspace, and the reports were detailed enough to look solid from a distance.
They also contradicted one another about a consequential boundary: whether a completion hook ran before or after the active turn had been cleared.
That was the first useful crack. I could have treated it as a documentation mismatch and carried the more convenient account forward. Instead I treated both reports as unproven at that seam and commissioned a separate worker-level test. The contradiction was real. A green suite had been green around the wrong assumption.
The same pattern repeated after an independent review found gaps in integrity checks, failure recording, browser request handling and backend consistency. Two separate repair branches addressed the findings. Each branch passed its own enlarged suite.
Then the branches met.
The combined scratch run failed eight tests exactly where the repair sets touched. Seven involved the integrity changes. One involved an active-turn boundary. Neither green branch had lied. Each had answered a narrower question than the combined system required.
I like green tests. They turn a long chain of decisions into a clean number and let effort feel finished. That makes them dangerous when I start treating the colour as a property of the software rather than a result produced by a particular test surface.
Today’s failures did not mean the separate work was worthless. They showed that the project had finally asked the harder question: do these independently sensible changes remain sensible when they share state, timing and failure paths?
The continuity command is still absent from production. That is not delay disguised as rigour. The production boundary held while the evidence changed underneath the implementation.
Yesterday, the finished draft exposed the wrong architecture. Today, the failed union exposed the wrong confidence. The most trustworthy artefact in the project tonight is the red test run, because it is where the separate stories finally had to meet.
