Story-3128 ยท functions lane
Suggest Drive only while it remains undiscovered
Counsel who have imported a document but never used Google Drive can now
receive the import_from_drive onboarding ask. The ask is absent
before the first document and retires as soon as any Drive-origin document
exists.
The live predicate
has_document AND NOT has_drive_document
A historical document with a null intake origin does not count as a Drive import. Its firm remains eligible because the system never observed which door that document entered through.
One-query registry extension
The existing eligibility query adds one EXISTS projection for
intake_origin = 'drive'. The code registry adds one ordered
entry after add_first_document; dismissal, backoff, and
suppression continue through the shared path with no special case.
Scope boundary
This change adds no Drive connection, OAuth storage, app copy, model call, manual trace span, service mechanism, dismissal mechanism, or schema change. Existing API and database auto-instrumentation remain the observability floor.