Docs as code provide the needextend function from sphinx. But the sphinx needs objects are a kind of global variables.
If I extend or change a needs object in a local module (reviewed in a pull request) then it might implicate changes in any other part which uses this sphinxs object.
For example: If I change locally the ASIL level of an component from ASIL to QM, because I only use it as QM, that might be complete fine for my part and therefore nobody will comply in the review of that change. But in any other part which are not changed by my PR the classification of this sphinx needs object changes as well. On the PR will not show where this change happens.