- — this is wrong. The stair is leaning against the back side, which completely covers the dirt under the clay.
- — this is okay. Since the path is 15 pixels high, there is a 1-pixel gap through which the dirt is visible, so it’s possible for it to connect to the clay.
- and 4. — this is wrong. The bottom edges of the path and stairs completely cover the dirt above, and it should not connect to the path between them.
This is what it should look like:

Roughly speaking, incomplete blocks are ignored when rejecting connections on all sides, which is incorrect. If any block completely blocks a particular side, that side should not connect to other blocks.
This is very difficult to explain, especially since I'm using a translator
This is what it should look like:

Roughly speaking, incomplete blocks are ignored when rejecting connections on all sides, which is incorrect. If any block completely blocks a particular side, that side should not connect to other blocks.
This is very difficult to explain, especially since I'm using a translator