The local-project inspection added by #221 can publish timeout results as if Git metadata were genuinely absent.
After top-level admission, remote, branch, and head are read without another deadline check. If the budget expires at the beginning of git(), it returns null without marking the inventory incomplete. A timed-out repository can therefore appear to have no origin, a detached HEAD, or an unborn branch even though those values were never read.
Found while syncing #221 into ClickHouse/ai: https://github.com/ClickHouse/ai/pull/3849#discussion_r4033110191
Suggested direction: propagate timeout/incomplete state from each metadata read and add a test where the budget expires between admission and Git metadata collection.
The local-project inspection added by #221 can publish timeout results as if Git metadata were genuinely absent.
After top-level admission,
remote,branch, andheadare read without another deadline check. If the budget expires at the beginning ofgit(), it returnsnullwithout marking the inventory incomplete. A timed-out repository can therefore appear to have no origin, a detached HEAD, or an unborn branch even though those values were never read.Found while syncing #221 into ClickHouse/ai: https://github.com/ClickHouse/ai/pull/3849#discussion_r4033110191
Suggested direction: propagate timeout/incomplete state from each metadata read and add a test where the budget expires between admission and Git metadata collection.