MeetScribe / sources
Sources
Every external fact the review and brief v2.0 rest on, with where it was read. All were read on 3 November 2026. Where a fact is about behaviour no document states, it is marked as a spike question rather than listed here as a fact.
| Fact | Source |
|---|---|
| Meet transcripts are available in Business Standard, Business Plus, Enterprise Starter, Standard and Plus, Teaching and Learning Upgrade, Education Plus and Workspace Individual; not Business Starter | Use transcripts with Google Meet |
| "Take notes for me" is Business Standard and Plus among Business editions | Workspace Updates, April 2026 and earlier posts |
| The Meet Media API is deprecated (28 October 2026); its endpoints are turned down on 15 January 2027; the Meet REST API and Add-ons SDK are unaffected | Meet REST API release notes |
Chrome
| Fact | Source |
|---|---|
Tab capture from a service worker from Chrome 116; stream ID passed to an offscreen document; captured audio replayed through an AudioContext so the user keeps hearing it | Audio recording and screen capture |
Offscreen documents and their reasons, including USER_MEDIA | chrome.offscreen |
| The side panel | chrome.sidePanel |
| Enabling the action by URL without host permissions | chrome.declarativeContent |
| Extension pages with host permissions are not limited by CORS for those hosts | Cross-origin network requests |
| No remotely hosted code in Manifest V3 | Manifest V3: remotely hosted code |
AudioContext.setSinkId() | MDN: AudioContext.setSinkId |
MediaRecorder timeslice chunks are pieces of one stream, not separate files | MDN: MediaRecorder.start |
OpenRouter
| Fact | Source |
|---|---|
/api/v1/audio/transcriptions: body, verbose_json, timestamp_granularities, provider.zdr, provider.options; prompt accepted and ignored; routing preferences not applied to transcription; 60-second upstream timeout; 25 MB multipart cap; usage.seconds and usage.cost; X-Generation-Id | Speech-to-Text guide, API reference |
verbose_json rejected by some models, e.g. openai/gpt-4o-transcribe, microsoft/mai-transcribe-1.5 | Speech-to-Text guide, "Verbose transcripts" |
| The model catalogue and prices | data/stt-models.json, from /api/v1/models?output_modalities=transcription |
| Zero data retention routing | ZDR |
What this family already learnt
| Lesson | Source |
|---|---|
| Undecodable audio comes back as a fluent invented transcript, not an error; detect by content, not by label | VoiceDebrief issue 025, issues/done/025-ogg-mime-hallucinated-transcript.md |
A rejected key can surface as Failed to fetch; ask GET /api/v1/key | VoiceDebrief issue 032 |
| Translate before summarising; never overwrite the transcript | VoiceDebrief issue 055 |
| The pass as a declared workflow with ceilings per step | VoiceDebrief issue 042 |
| A keyless demo that aborts the network instead of mocking it | VoiceDebrief issue 063 |
| A capped, dedicated OpenRouter key | voicedebrief.ai/openrouter-key |
Build a deliberately stupid recorder first; missing is null; the six silent failures; build provenance | chrome-extensions.sgit.ai, silent failures, checklist, rubric |
activeTab over host permissions; the side panel; release zip equal to the source; a validator as the gate | fix-the-page.chrome-extension.sgit.ai |
| Native web components, no framework, no build step | coding.sgit.ai/javascript |
| No mocks; link the measurement, date every number | nfrs.sgit.ai |