@f0x The way I do it in my generator script (https://git.sr.ht/~jbauer/paritybit.ca/tree/master/compile) is to treat both as unique pages.
So projects.md will become /projects.html and projects/index.md becomes /projects/index.html.
If doing that isn't possible, I feel like projects/index.md should have priority because it feels like it more naturally flows/makes sense given the input.
@f0x Since they conflict, I would expect the generator to output an error and exit.
@f0x They shouldn't result in the same thing.
project.md should result in project.html while project/index.html should result in project/index.html
At least when your static site generator is working properly.