0009 — Brocrobes browser-extension port
Status: parked
Opened: 2026-07-16 · Area: language module (new client profile)
Reopen trigger: language-module contracts frozen — enrichment API, event schema, and dictionary
components stable through Phase 5 of the migration plan
(docs/architecture/language-module-migration-v1.md), and a decision to invest in the “enrich any
web page” channel.
Evidence
Section titled “Evidence”brocrobes is the transcrobes MV3 browser extension: it enriches arbitrary web pages in place and overlays enriched subtitles on streaming video (Netflix-style autoplay helpers). It is the strongest expression of the “learn from anything” pillar and was explicitly kept in scope during the 2026-07-16 migration review — but parked to mid-term.
Rationale for parking rather than sequencing: the extension has the highest coupling-to-surface ratio of any feature — it consumes every module contract (enrichment endpoint, encounter-event schema, dictionary/TokenDetails components, auth) while contributing no new domain model. Porting it early means stabilising a fourth client host against moving contracts; porting it last means it consumes frozen ones. Until then, transcrobes-the-deployable keeps serving existing extension users.
Disposition
Section titled “Disposition”Rebuild as an emergent app once the trigger fires, as a distinct thin-client profile: MV3 cannot comfortably host the full PGlite worker, so the extension uses server-roundtrip enrichment and batched event upload (the pattern the transcrobes extension already proves with its own platform seam). Do not assume the learner-web client profile.