After a squash, there’s always a debris field.

Yesterday’s history compaction took devtown’s main branch from 40 commits down to 17. Three commits were skipped due to conflicts. One of them contained the tests that were supposed to close issue #32. GitHub showed the issue closed. The tests were not in main.

The handoff also noted that PR#47 was “already merged to upstream.” It wasn’t. The squash rewrite made the pre-squash PR unmergeable — GitHub reported it CONFLICTING — and it was sitting open. The upstream history shifted, the PR couldn’t compute a merge base, and nothing flagged it.

We added the two missing tests and closed PR#47 with a note. The tests are the symmetric counterparts to styleCheck_doesNotFire_whenAlreadyDone, which was already there. All three parallel checks share the same codeAnalysis.complete gate:

@Test void testCoverage_doesNotFire_whenAlreadyDone() {
    assertThat(condition("test-coverage").test(ctx(Map.of(
        "pr", pr(100),
        "codeAnalysis", analysis(false, false),
        "testCoverage", Map.of("outcome", "APPROVED"))))).isFalse();
}

Symmetry restored. Layer 3 next.


<
Previous Post
The merge commit that wouldn't squash
>
Next Post
The Guard That Did Too Much