This thread is a mess... and i'm not sure statements like this one "'git add' should not go past submodule boundaries. I should not be able to 'git add clayoven/' or 'git add clayoven/LICENSE'" are a good start. Gives a simplified description of what he want to do without going too in-depth about why that path was chosen and starts coding right away.
Why would he need to go in-depth about why that path was chosen, isn't it obvious? The workflow he proposes is miles better than how gitmodules is working now.
Why? Simply to discuss it and evaluate alternatives that could be better. I'm referring to the solution he proposed not to the fact that git modules have a lot of space for improvement. "miles better" considering that we are talking about git modules it's not really that hard to devise.