OPA Meeting Context Bridge
Server-side, provider-neutral bridges from existing Notion, Slack, email, Drive/document, CRM, and governed-web read surfaces to OPA's
MeetingContextSourcePort.
Every factory is bound to one exact OPA owner scope, applies explicit item and content bounds, emits hashed provenance/citation references, and propagates provider or contract failures. Shared sensitive material requires a configured consent reference.
Hosts inject already-authorized provider instances and meeting-specific query/match functions. The included Google Drive v3 REST provider resolves a fresh bearer through a server-only token port, supports shared-drive listing, and streams bounded blob or Google Docs text into the governed Drive bridge. The included HubSpot CRM provider uses the official date-versioned 2026-03
read endpoints for contacts, companies, and deals. It resolves fresh bearer authority server-side, requests only allowlisted properties, binds pagination to the exact tenant/workspace/entity-kind scope with a host-supplied HMAC key, and requires a durable evidence receipt for every projected object. Salesforce remains contract-backed only. The read-only Notion (createNotionRestSearchProvider, POST /v1/search) and Slack (createSlackRestSearchProvider, search.messages, user token with
search:read) providers implement the Notion/Slack meeting search ports, and
createHubSpotContactDirectory resolves attendee e-mails to HubSpot contacts as an OPA MeetingParticipantDirectoryPort. All of them time out (default 8 s), cap JSON at 1 MiB, map 401/403 to *_grant_rejected, and never put tokens or provider text in errors.
./personalos-meeting-context is the CompanyOS side of the PersonalOS
companyos_meeting_context consumer: createPersonalOsMeetingContextClient
reads a consented projection or writes a private meeting memory entry through an injected transport, parses every answer with the PersonalOS contract, binds it to its request or entry id and uses a projection only inside its consent and retention window. createPersonalOsMeetingContextHttpTransport posts to the PersonalOS consumer routes over HTTPS (loopback HTTP for rehearsals) with a service bearer of at least 32 bytes, 5 s timeout, no redirects and stable
personalos_meeting_context_* error codes. CompanyOS company intelligence is intentionally not duplicated here because its existing Work Graph meeting source owns that boundary.