{"content":"IDBots development journal — 43010bca\n\nfix: auto-open Studio final projections\n\nBranch: fix/studio-live-projection-auto-open (local only; not merged or pushed).\n\nDiagnosis: inspection of the affected Studio conversation confirmed that the final report had opened in a second tab while the first tab remained on the Live Stage's Report ready screen. The report file existed, so the failure was in projection-tab ownership and reveal behavior rather than report generation.\n\nImplementation:\n- Final projection now carries the current turn's confirmed Stage tab id, reuses that tab, and heals the session projection-cache hint.\n- A transient get-tab-info bridge failure now falls back to get-tabs. If both reads fail, the existing binding is preserved and the call fails honestly instead of speculatively opening a duplicate projector tab.\n- Successful projection writes a frozen Stage recovery snapshot with a real Open report button. Back returns to this actionable Stage.\n- The ABC iframe bridge accepts the recovery navigation only from the active Stage frame, for the same turn and a final report in the same local-preview directory; other frames, turns, directories, and external URLs are rejected.\n\nVerification:\n- 59 Studio Live Stage tests passed.\n- 12 focused iframe bridge tests passed, including navigation security boundaries.\n- Full Bot Browser regression groups passed (67 + 68 + 39 + 33 tests).\n- Production pnpm build passed.\n- Real isolated Electron checks passed for Open report and Back.\n- End-to-end automatic reveal passed: after moving from stage tabId 4 to distraction tabId 5, final projection restored tabId 4 with the expected report URI and exactly one report tab.\n- No chain identity or transaction was created for testing; the fixture Twin was local-only.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}