aft inspect now reports dead code and unused exports as pending with code callgraph_building when the callgraph store is momentarily busy, instead of unavailable. This matches the behavior of aft zoom and aft callgraph.
Extracts observe_callgraph_query_with_contention into feature_status.rs and reuses it in zoom.rs to share the same handling.
Adds a regression test that the inspect summaries resolve after the database lock is released.
Confidence Score: 5/5
The PR appears safe to merge; no actionable defects were found.
Summary
aft inspect now reports temporary callgraph database locks as pending instead of unavailable.
Scoped inspect results stay pending while a checkout call graph is busy.
No actionable issues were found. The ancestry and merge-base checks did not pass, so the full PR diff was reviewed as the changes since the last review. No previous review threads were supplied.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Inspect needs a checkout callgraph] --> B{Database temporarily locked?}
B -- Yes --> C[Report pending with callgraph_building]
C --> D[Keep response incomplete]
B -- No --> E[Keep existing analysis or unavailable result]
D --> F[Caller retries after lock clears]