Story-3103 ยท functions lane
Remember which door a document entered through
The upload drawer already knows whether counsel selected a file locally, through Google Drive, or through Dropbox. The finalize request can now carry that fact onto the document record instead of discarding it.
The persisted shape
Locallocal
Google Drivedrive
Dropboxdropbox
Historical rows stay null. The migration does not relabel them
as local because the system never observed how those files were selected.
Boundary and rollout
The API accepts only the three named values and returns the stored value on document views. No OAuth token, Drive connection, picker state, nudge, model call, or custom tracing span is added.
Staging must run alembic upgrade head before pramaan-app starts
sending intakeOrigin. The main-branch staging workflow performs
that migration before deploying the App API Lambda.