git --recursive doesn't clone submodule

If you are using a recent enough git, and it still does not clone submodules, that means those empty folders are not submodules but nested git repo.

A nested repo is recorded in its parent repo as a gitlink, but there would not be any .gitmodules files associated to it.

health-check seem to be a nested git but not sure when cloning give me No submodule mapping found in .gitmodules for path for health-check .. is it necessary for nested git repos to have entry in .gitmodules ?

If you want your nested git repo to be recognized and managed as a submodule, yes.

As illustrated by your next question, it is possible that the lack of path entry in .gitmodules for health-check prevents hellospawn (which seems to be a legit submodule) to be checked out.