vibe64 0.1.32 → 0.1.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/bin/run.js +1717 -1648
  2. package/bin/server.js +81 -68
  3. package/bin/upgrade-state.js +5438 -5189
  4. package/dist/assets/{GithubBrowserTabs-2bEGbRAs.js → GithubBrowserTabs-DO5PHon-.js} +1 -1
  5. package/dist/assets/GithubMarkdown-BQ6MfCDJ.js +3 -0
  6. package/dist/assets/GithubMarkdown-U7-j-qNI.css +1 -0
  7. package/dist/assets/StudioErrorNotice-sQfmeR-z.js +1 -0
  8. package/dist/assets/VAlert-P256xaE0.js +1 -0
  9. package/dist/assets/VAutocomplete-BDb95qJX.js +1 -0
  10. package/dist/assets/VAvatar-9ilDR2r2.css +1 -0
  11. package/dist/assets/VAvatar-DPzqDH4r.js +1 -0
  12. package/dist/assets/VBtn-B2MBK2DL.js +1 -0
  13. package/dist/assets/VCard-mXy0k4aS.js +1 -0
  14. package/dist/assets/VCheckbox-C7A1ZW4D.js +1 -0
  15. package/dist/assets/VChip-CcI-Oo2J.js +1 -0
  16. package/dist/assets/VDialog-Bu3EfKb1.js +1 -0
  17. package/dist/assets/VDivider-BMEqUoAB.js +1 -0
  18. package/dist/assets/VExpansionPanels-Dgjrop0V.js +1 -0
  19. package/dist/assets/VMenu-C_x18lwb.js +1 -0
  20. package/dist/assets/VOverlay-CeMZurIN.js +1 -0
  21. package/dist/assets/VRadioGroup-CUu2-KIP.js +1 -0
  22. package/dist/assets/VRow-Cpw7OHQV.js +1 -0
  23. package/dist/assets/{VSelect-DY-ZuBJJ.js → VSelect-DL3HaA5m.js} +1 -1
  24. package/dist/assets/VSheet-DZWsu0kL.js +1 -0
  25. package/dist/assets/VSkeletonLoader-CttxM1tw.js +1 -0
  26. package/dist/assets/VSpacer-Dhmsvk4t.js +1 -0
  27. package/dist/assets/{VSwitch-Bm1bwl2V.js → VSwitch-BRHeDJkH.js} +1 -1
  28. package/dist/assets/VTextField-BR2eZeFT.js +1 -0
  29. package/dist/assets/VTextarea-DbqamXJd.js +1 -0
  30. package/dist/assets/Vibe64AsyncModuleState-Dx7YKRPp.js +1 -0
  31. package/dist/assets/Vibe64DashboardBackButton-DD9UR77P.css +1 -0
  32. package/dist/assets/Vibe64DashboardBackButton-yE6cyYg2.js +1 -0
  33. package/dist/assets/Vibe64DashboardPageHeader-BXQR00HK.js +1 -0
  34. package/dist/assets/Vibe64DashboardPageHeader-Gm1IvlHx.css +1 -0
  35. package/dist/assets/Vibe64DashboardShell-CuCVMhOc.js +1 -0
  36. package/dist/assets/Vibe64DashboardShell-MBkUHjs-.css +1 -0
  37. package/dist/assets/Vibe64DatabaseWorkspace-BONJdxBS.js +18 -0
  38. package/dist/assets/{Vibe64DatabaseWorkspace-C39Jvver.css → Vibe64DatabaseWorkspace-CR4pzzcf.css} +1 -1
  39. package/dist/assets/Vibe64OutputControls-DAAmA09l.js +8 -0
  40. package/dist/assets/{Vibe64OutputControls-CsZFv12r.css → Vibe64OutputControls-DPBsyDZM.css} +1 -1
  41. package/dist/assets/{Vibe64RepositoryWorkspace-ebUaYOU4.js → Vibe64RepositoryWorkspace-ByQlZbyO.js} +2 -2
  42. package/dist/assets/{Vibe64RepositoryWorkspace-Cqm6TOFk.css → Vibe64RepositoryWorkspace-CVHcT93M.css} +1 -1
  43. package/dist/assets/Vibe64SessionFiles-B0u9HKdF.js +107 -0
  44. package/dist/assets/Vibe64SessionFiles-NjOMVwPR.css +1 -0
  45. package/dist/assets/Vibe64TemporaryAiFixAction-BGlcrq4d.js +1 -0
  46. package/dist/assets/Vibe64UiStoryboardView-3WXph5bz.css +1 -0
  47. package/dist/assets/Vibe64UiStoryboardView-Brlwdvqi.js +7 -0
  48. package/dist/assets/Vibe64UnavailableSessions-zwlWlcZD.js +1 -0
  49. package/dist/assets/_sessionId_-CvOkQbVy.js +1 -0
  50. package/dist/assets/{_sessionTool_-B39BIzzZ.js → _sessionTool_-Dwod5ns9.js} +1 -1
  51. package/dist/assets/_slug_-B31c15cc.css +1 -0
  52. package/dist/assets/_slug_-Dy35qLo1.js +1 -0
  53. package/dist/assets/access-BVu5XYm2.js +1 -0
  54. package/dist/assets/app-DRXCcv05.css +1 -0
  55. package/dist/assets/app-zt7HwQKT.js +1 -0
  56. package/dist/assets/assistantRouting-CwbwfkwB.js +3 -0
  57. package/dist/assets/{changes-ByjS7QGx.js → changes-olY8cnFK.js} +1 -1
  58. package/dist/assets/{client-C-tpoG6F.js → client-BrV4QPwG.js} +1 -1
  59. package/dist/assets/createSimpleFunctional-CZTGuNuR.js +1 -0
  60. package/dist/assets/dashboard-BnXD-H4R.js +1 -0
  61. package/dist/assets/definitions-DaOPIkyB.js +1 -0
  62. package/dist/assets/env-DJhnLOH7.css +1 -0
  63. package/dist/assets/env-DN0vW4EI.js +1 -0
  64. package/dist/assets/{error-DFKtZBJ8.js → error-DgrgRbJJ.js} +1 -1
  65. package/dist/assets/{error-DE4zo8Lk.js → error-Dug56can.js} +1 -1
  66. package/dist/assets/health-7oIQODer.css +1 -0
  67. package/dist/assets/health-Z6m96GDr.js +1 -0
  68. package/dist/assets/history-BOwbCRQP.css +1 -0
  69. package/dist/assets/history-BxlpB-YH.js +1 -0
  70. package/dist/assets/incoming-BOxRVlOM.js +2 -0
  71. package/dist/assets/incoming-DWDrmxyH.css +1 -0
  72. package/dist/assets/index-BUq-MczL.js +86 -0
  73. package/dist/assets/{index-D4MsP3dq.css → index-DtmBqE3h.css} +1 -1
  74. package/dist/assets/{integrations-B4txOZfY.js → integrations-BFltGDVI.js} +1 -1
  75. package/dist/assets/issues-1iS5zoed.js +1 -0
  76. package/dist/assets/issues-XnpGgdmn.css +1 -0
  77. package/dist/assets/layout-BkWVNT37.js +1 -0
  78. package/dist/assets/lazy-NHSwD9FS.js +1 -0
  79. package/dist/assets/mdi-C54lQ0i_.js +1 -0
  80. package/dist/assets/{pages-BW2l8fNe.js → pages-DuMgH61T.js} +1 -1
  81. package/dist/assets/{placement-JxzrmUR3.js → placement-CwTqWLQH.js} +1 -1
  82. package/dist/assets/placement-DLsU3pCW.js +1 -0
  83. package/dist/assets/pull-requests-BJOwNL4k.js +1 -0
  84. package/dist/assets/pull-requests-CdbhyFOv.css +1 -0
  85. package/dist/assets/{repository-BTC3lkrh.js → repository-JWLVST3D.js} +1 -1
  86. package/dist/assets/{VAvatar-CAFvgSUo.js → ripple-BVltMmyV.js} +2 -2
  87. package/dist/assets/ripple-DqhAt1Ze.css +1 -0
  88. package/dist/assets/runtime-core.esm-bundler-DGXg_mpN.js +3 -0
  89. package/dist/assets/{session-CG-TUCJt.css → session-5qADMzDP.css} +1 -1
  90. package/dist/assets/session-C5Nj8Dlq.js +1 -0
  91. package/dist/assets/settings-BopLnpB0.css +1 -0
  92. package/dist/assets/settings-c273Ikrm.js +1 -0
  93. package/dist/assets/ssrBoot-Rlh6kLbD.js +1 -0
  94. package/dist/assets/{studioGateApi-C0GvzVlt.js → studioGateApi-DhA9IJGZ.js} +1 -1
  95. package/dist/assets/{studioUrls-CIab-Axb.js → studioUrls-Dj8rXeXO.js} +1 -1
  96. package/dist/assets/{useApi-BPuI6ZR9-Dr8wK_Co.js → useApi-BPuI6ZR9-CFWU1m37.js} +1 -1
  97. package/dist/assets/useArchivedVibe64Sessions-CVZx2Rtm.js +1 -0
  98. package/dist/assets/useCommand-DWuxfAV0.js +1 -0
  99. package/dist/assets/useEndpointResource-MWVNfmMa.js +1 -0
  100. package/dist/assets/{usePaths-DVTieF_G.js → usePaths-Db88-HOm.js} +1 -1
  101. package/dist/assets/{useUiFeedback-Tzi-PRlX.js → useUiFeedback-0FqKuZRP.js} +1 -1
  102. package/dist/assets/useVibe64ConversationLog-8cKh1eDm.js +1 -0
  103. package/dist/assets/useVibe64DatabaseTools-BcRG1s3i.js +1 -0
  104. package/dist/assets/useVibe64LearningMode-Bl0dGdCh.js +28 -0
  105. package/dist/assets/useVibe64LearningMode-C3PcXdVg.css +1 -0
  106. package/dist/assets/useVibe64ProjectScope-DOEVkBqX.js +1 -0
  107. package/dist/assets/useVibe64SessionData-DFTyLzci.js +1 -0
  108. package/dist/assets/useVibe64SessionSelection-j9lsllx4.js +1 -0
  109. package/dist/assets/useVibe64SystemGraph-tNkIwSBQ.js +1 -0
  110. package/dist/assets/{useVibe64Terminal-C2XJ9Y1K.js → useVibe64Terminal-BPnN25WH.js} +1 -1
  111. package/dist/assets/vibe64AssistantHost-DdE_-lZF.js +1 -0
  112. package/dist/assets/vibe64LessonDashboard-DlKYjisq.js +1 -0
  113. package/dist/assets/vibe64ProjectScope.local-DqT6e5un.js +1 -0
  114. package/dist/assets/vibe64RepositoryRealtime-DXk0Jai3.js +1 -0
  115. package/dist/assets/vibe64SessionFocus-OJ2toBd9.css +1 -0
  116. package/dist/assets/vibe64SessionFocus-kqPOPaOH.js +1 -0
  117. package/dist/assets/{vibe64SessionInfo-D8l22MFm.js → vibe64SessionInfo-BHxtTrLX.js} +1 -1
  118. package/dist/assets/vibe64SessionToolDefinitions-NfLd1HZI.js +1 -0
  119. package/dist/assets/vue-flow-core-BlVEnES8.js +26 -0
  120. package/dist/index.html +51 -48
  121. package/docs/colleague-usage/account-profile-and-appearance.md +29 -0
  122. package/docs/colleague-usage/ai-accounts-and-routing.md +23 -4
  123. package/docs/colleague-usage/ai-balance-and-allowance.md +4 -0
  124. package/docs/colleague-usage/architecture-explanations.md +99 -0
  125. package/docs/colleague-usage/auto-workflow.md +49 -11
  126. package/docs/colleague-usage/coding-agent-failures.md +94 -0
  127. package/docs/colleague-usage/coding-agent-goal-pause.md +110 -0
  128. package/docs/colleague-usage/coding-agent-goals.md +140 -38
  129. package/docs/colleague-usage/coding-agent-history.md +20 -2
  130. package/docs/colleague-usage/coding-agent-recovery.md +136 -0
  131. package/docs/colleague-usage/coding-agents.md +138 -150
  132. package/docs/colleague-usage/colleague-recovery.md +28 -5
  133. package/docs/colleague-usage/colleague-upgrade-recovery.md +4 -0
  134. package/docs/colleague-usage/colleague-watches.md +84 -0
  135. package/docs/colleague-usage/colleague.md +18 -34
  136. package/docs/colleague-usage/connected-contributions.md +196 -0
  137. package/docs/colleague-usage/connected-projects.md +196 -0
  138. package/docs/colleague-usage/conversation-context.md +67 -1
  139. package/docs/colleague-usage/dashboard-navigation.md +79 -5
  140. package/docs/colleague-usage/database.md +11 -0
  141. package/docs/colleague-usage/developing-vibe64.md +137 -0
  142. package/docs/colleague-usage/development-copies.md +20 -0
  143. package/docs/colleague-usage/development-env.md +34 -0
  144. package/docs/colleague-usage/file-interfaces.md +156 -0
  145. package/docs/colleague-usage/github-work.md +88 -1
  146. package/docs/colleague-usage/health-checks.md +32 -0
  147. package/docs/colleague-usage/incoming-changes.md +94 -0
  148. package/docs/colleague-usage/learning-chat-retention.md +11 -2
  149. package/docs/colleague-usage/learning-code-questions.md +55 -0
  150. package/docs/colleague-usage/learning-course-catalogue.md +118 -0
  151. package/docs/colleague-usage/learning-diagrams-and-voice.md +97 -0
  152. package/docs/colleague-usage/learning-history.md +17 -9
  153. package/docs/colleague-usage/learning-lesson-watch.md +95 -0
  154. package/docs/colleague-usage/learning-mode-ui.md +187 -85
  155. package/docs/colleague-usage/learning-native-session.md +12 -10
  156. package/docs/colleague-usage/learning-practical-exercises.md +71 -0
  157. package/docs/colleague-usage/learning-practical-gestures.md +18 -1
  158. package/docs/colleague-usage/learning-practice-projects.md +55 -4
  159. package/docs/colleague-usage/learning-session-creation.md +7 -7
  160. package/docs/colleague-usage/learning-teacher-guide.md +52 -0
  161. package/docs/colleague-usage/learning-with-colleague.md +59 -80
  162. package/docs/colleague-usage/lesson-authoring.md +12 -4
  163. package/docs/colleague-usage/lesson-practical-assessment.md +3 -1
  164. package/docs/colleague-usage/managed-app-access.md +6 -0
  165. package/docs/colleague-usage/message-delivery-recovery.md +56 -0
  166. package/docs/colleague-usage/plans.md +14 -7
  167. package/docs/colleague-usage/preview-browser-checks.md +61 -0
  168. package/docs/colleague-usage/preview-lesson-presentation.md +56 -0
  169. package/docs/colleague-usage/preview-starting-application.md +92 -0
  170. package/docs/colleague-usage/preview.md +70 -96
  171. package/docs/colleague-usage/project-architecture.md +229 -0
  172. package/docs/colleague-usage/project-language-tools.md +31 -0
  173. package/docs/colleague-usage/project-messages.md +106 -0
  174. package/docs/colleague-usage/project-settings.md +22 -0
  175. package/docs/colleague-usage/project-setup.md +29 -2
  176. package/docs/colleague-usage/session-terminal.md +42 -0
  177. package/docs/colleague-usage/sessions.md +122 -52
  178. package/docs/colleague-usage/teaching-content.md +12 -6
  179. package/docs/colleague-usage/temporary-chat-context.md +29 -0
  180. package/docs/colleague-usage/temporary-chats.md +95 -2
  181. package/docs/colleague-usage/voice-chat.md +10 -43
  182. package/docs/colleague-usage/voice-face-and-speaking-voice.md +73 -0
  183. package/docs/colleague-usage/workspace-preparation.md +89 -0
  184. package/docs/training-content.md +208 -7
  185. package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
  186. package/node_modules/@jskit-ai/assistant-runtime/README.md +29 -0
  187. package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
  188. package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
  189. package/node_modules/@jskit-ai/connector-google-calendar/package.json +1 -1
  190. package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
  191. package/node_modules/@jskit-ai/connectors-core/package.json +1 -1
  192. package/node_modules/@jskit-ai/http-runtime/package.json +1 -1
  193. package/node_modules/@jskit-ai/kernel/package.json +1 -1
  194. package/node_modules/@jskit-ai/payments-core/package.json +1 -1
  195. package/node_modules/@jskit-ai/realtime/package.json +1 -1
  196. package/node_modules/@jskit-ai/resource-core/package.json +1 -1
  197. package/node_modules/@jskit-ai/resource-crud-core/package.json +1 -1
  198. package/node_modules/@jskit-ai/uploads-runtime/package.json +1 -1
  199. package/node_modules/@local/vibe64-core/package.json +1 -0
  200. package/node_modules/@local/vibe64-execution/src/host/execHelper.js +280 -272
  201. package/node_modules/@local/vibe64-genesis/README.md +15 -0
  202. package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +879 -1225
  203. package/node_modules/@local/vibe64-genesis/package.json +2 -1
  204. package/node_modules/@local/vibe64-genesis/src/server/index.js +496 -418
  205. package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +165 -146
  206. package/node_modules/@local/vibe64-runtime/src/server/agentSessionCommandHook.js +8 -8
  207. package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +128 -129
  208. package/node_modules/@local/vibe64-system-graph/README.md +136 -6
  209. package/node_modules/@local/vibe64-terminals/package.json +3 -0
  210. package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1527 -1326
  211. package/node_modules/@local/vibe64-training/package.json +6 -1
  212. package/node_modules/@local/vibe64-voice/package.json +1 -0
  213. package/package.json +16 -16
  214. package/server.bundle.mjs +42853 -40268
  215. package/dist/assets/StudioErrorNotice-Ccjvcn9C.js +0 -1
  216. package/dist/assets/VAlert-B7ciJKQL.js +0 -1
  217. package/dist/assets/VAutocomplete-QjMk5d_j.js +0 -1
  218. package/dist/assets/VAvatar-nHaK192T.css +0 -1
  219. package/dist/assets/VBtn-Kl_qcBsy.js +0 -1
  220. package/dist/assets/VCard-nrJPeo91.js +0 -1
  221. package/dist/assets/VCheckbox-DTRAWOIf.js +0 -1
  222. package/dist/assets/VChip-Dfs5jX0f.js +0 -1
  223. package/dist/assets/VDialog-Dt1VjJg1.js +0 -1
  224. package/dist/assets/VDivider-DFsS0OTx.js +0 -1
  225. package/dist/assets/VExpansionPanels-CYKU0cAr.js +0 -1
  226. package/dist/assets/VMenu-BLxobsuU.js +0 -1
  227. package/dist/assets/VOverlay-BvFVZKNS.js +0 -1
  228. package/dist/assets/VRadioGroup-DzQzpCfg.js +0 -1
  229. package/dist/assets/VRow-BR2RMCM1.js +0 -1
  230. package/dist/assets/VSheet-BA95RNmA.js +0 -1
  231. package/dist/assets/VSkeletonLoader-hpJqr0HL.js +0 -1
  232. package/dist/assets/VSpacer-B1l1hVvU.js +0 -1
  233. package/dist/assets/VTextField-CA_p3N4d.js +0 -1
  234. package/dist/assets/VTextarea-NyCqY4h5.js +0 -1
  235. package/dist/assets/Vibe64AsyncModuleState-DEFlqJ97.js +0 -1
  236. package/dist/assets/Vibe64DashboardShell-BNv2I-P8.js +0 -1
  237. package/dist/assets/Vibe64DashboardShell-w20wNTGW.css +0 -1
  238. package/dist/assets/Vibe64DatabaseWorkspace-CuY5lN1o.js +0 -43
  239. package/dist/assets/Vibe64OutputControls-D2JuYlYU.js +0 -8
  240. package/dist/assets/Vibe64SessionFiles-C-rWehq_.js +0 -34
  241. package/dist/assets/Vibe64SessionFiles-Dsr6KQNP.css +0 -1
  242. package/dist/assets/Vibe64SubsystemsView-BvdU_o6H.css +0 -1
  243. package/dist/assets/Vibe64SubsystemsView-DJCjSzQM.js +0 -1
  244. package/dist/assets/Vibe64SystemWorldView-B91ioQaO.js +0 -4312
  245. package/dist/assets/Vibe64SystemWorldView-BXiQ7_Qb.css +0 -1
  246. package/dist/assets/Vibe64UnavailableSessions-OvnoD3ZB.js +0 -1
  247. package/dist/assets/_sessionId_-JTvMh54L.js +0 -1
  248. package/dist/assets/_slug_-DP_heCDa.js +0 -1
  249. package/dist/assets/_slug_-DmBZGb0q.css +0 -1
  250. package/dist/assets/access-C8GQIS19.js +0 -1
  251. package/dist/assets/app-B83lF61Y.js +0 -1
  252. package/dist/assets/app-ByLIQ3SB.css +0 -1
  253. package/dist/assets/assistantRouting-TDtryU6o.js +0 -1
  254. package/dist/assets/createSimpleFunctional-DPIT6zsT.js +0 -1
  255. package/dist/assets/dashboard-CWGFPojJ.js +0 -1
  256. package/dist/assets/definitions-BeLcvOW3.js +0 -1
  257. package/dist/assets/display-BLmcO-5p.js +0 -1
  258. package/dist/assets/env-7bqFyF_E.css +0 -1
  259. package/dist/assets/env-BVwxNL8M.js +0 -1
  260. package/dist/assets/health-BzNhp7r8.js +0 -1
  261. package/dist/assets/health-DoHTXTGx.css +0 -1
  262. package/dist/assets/history-BPeZGofK.js +0 -1
  263. package/dist/assets/history-iMQxp5AR.css +0 -1
  264. package/dist/assets/httpClient-BaaZuFvF.js +0 -1
  265. package/dist/assets/index-5sKwLHOH.js +0 -86
  266. package/dist/assets/issues-DCEhGlfn.css +0 -1
  267. package/dist/assets/issues-wby50y9b.js +0 -3
  268. package/dist/assets/layout-YCn17mK1.js +0 -1
  269. package/dist/assets/lazy-CvQfXeLg.js +0 -1
  270. package/dist/assets/mdi-C31_SZp-.js +0 -1
  271. package/dist/assets/placement-C4R2t6rl.js +0 -1
  272. package/dist/assets/pull-requests-BNK6mq2u.css +0 -1
  273. package/dist/assets/pull-requests-lNQAigaC.js +0 -1
  274. package/dist/assets/runtime-core.esm-bundler-DMrccYS5.js +0 -3
  275. package/dist/assets/session-D38nzG41.js +0 -1
  276. package/dist/assets/settings-CFyUJ_kR.js +0 -1
  277. package/dist/assets/settings-vWsAEoE9.css +0 -1
  278. package/dist/assets/useArchivedVibe64Sessions-C2DSq2Z4.js +0 -1
  279. package/dist/assets/useCommand-BzThFLYP.js +0 -1
  280. package/dist/assets/useEndpointResource-C2KD4Ub_.js +0 -1
  281. package/dist/assets/useVibe64ConversationLog-CMUlXJtU.js +0 -1
  282. package/dist/assets/useVibe64DatabaseTools-DBcKhm6B.js +0 -1
  283. package/dist/assets/useVibe64LearningMode-BPRWM5Rp.js +0 -28
  284. package/dist/assets/useVibe64LearningMode-PJUv0O25.css +0 -1
  285. package/dist/assets/useVibe64SessionData-CdtJbAIx.js +0 -1
  286. package/dist/assets/useVibe64SessionSelection-aR0f6xVT.js +0 -1
  287. package/dist/assets/useVibe64SystemGraph-DeTPBn0e.js +0 -1
  288. package/dist/assets/vibe64AssistantHost-Dgyz4TrT.js +0 -1
  289. package/dist/assets/vibe64ProjectScope.local-GOSMVDRi.js +0 -1
  290. package/dist/assets/vibe64RepositoryRealtime-t5Al8BlU.js +0 -1
  291. package/dist/assets/vibe64SessionFocus-CcN6Grgw.js +0 -1
  292. package/dist/assets/vibe64SessionFocus-ChabllPA.css +0 -1
  293. package/dist/assets/vibe64SessionToolDefinitions-BaO1DEup.js +0 -1
  294. /package/dist/assets/{vibe64RepositoryRealtime-D_mq1dFE.css → Vibe64TemporaryAiFixAction-D_mq1dFE.css} +0 -0
@@ -0,0 +1,52 @@
1
+ # Learning teacher guide
2
+
3
+ During a practice lesson, the lesson teacher (Main) shows you where things are in
4
+ the real Vibe64 workspace. By default it *points*: it rings the real control you
5
+ should click next, with a short caption such as **Dashboard → Database → ERD**.
6
+ You then click it yourself.
7
+
8
+ ## What you see
9
+
10
+ - The rest of the screen dims slightly, and a ring with a gentle ripple sits on
11
+ one real tab, Dashboard section or button. A caption with the whole path points
12
+ at it; a thin bar on the caption shows the time left.
13
+ - The ring is on the next step from where you are. On **Preview**, a path to the
14
+ ERD rings the **Dashboard** tab; once you are in **Dashboard → Database**, it
15
+ rings the **ERD** button.
16
+ - The ring lasts about 8 seconds, or until you click or press a key. It never
17
+ blocks your click, and it holds still when your device asks for reduced motion.
18
+
19
+ ## Places the teacher can point at
20
+
21
+ **Preview**, **Dashboard**, **Dashboard → Database → ERD** or **Data**,
22
+ **Dashboard → Files** (and one file in it), **Current changes**, **Git log**,
23
+ **Session info**, **Architecture**, and the graduation-cap (Learning) option beside Preview and Dashboard. A Dashboard section
24
+ the lesson does not show cannot be ringed.
25
+
26
+ ## On a phone
27
+
28
+ A phone shows the chat or one pane at a time, so the next tab is often hidden.
29
+ The ring then sits on the header's pane switch: the arrow button that shows the
30
+ project panes from the chat, or the next-pane button (for example **Dashboard ›**)
31
+ that steps **Preview → Dashboard → Learning**. The caption still shows the whole
32
+ path. Tap the switch; when the next step becomes visible, the teacher can ring it
33
+ directly.
34
+
35
+ ## When nothing is ringed
36
+
37
+ If neither a step on the path nor the pane switch is visible, nothing is drawn.
38
+ The teacher is told so and gives you the path in words instead; follow it with the
39
+ visible controls.
40
+
41
+ ## "Show me"
42
+
43
+ Ask the teacher to "show me" and it opens the place itself (for a file, in the
44
+ lesson's **Dashboard → Files** editor) and rings it there. A view the teacher opens is
45
+ a demonstration, not your step; when a lesson asks you to find a place, click it
46
+ yourself so **Watch me** observes your own navigation.
47
+
48
+ ## What Colleague can do
49
+
50
+ Colleague can explain these steps. It cannot draw the teacher's ring; it can open
51
+ the lesson project's **Preview** or **Dashboard → Database → ERD** for you when you
52
+ ask, which is also a demonstration.
@@ -25,6 +25,34 @@ explain native observation facts/accepted steps from its context query; those fa
25
25
  are not a pass. Missing facts do not prove lost steps: ask Main to check the current
26
26
  question before repeating the practical.
27
27
 
28
+ Colleague can start and control a watcher for the current learner task through its
29
+ eye-button dialog while you continue using Main. Starting from a delivered question
30
+ captures that exact question, attempt, content pin, project/session and initiating
31
+ browser. For a task without a delivered question, name one bounded criterion. The
32
+ separate Learning watcher is event-first and performs bounded code-only
33
+ reconciliation; Colleague and Main do not check your activity, keep an AI turn
34
+ open or repeatedly call a model. **Pause**, **Resume** and **Stop** remain explicit.
35
+ Leaving the target or losing current authority pauses it, and Resume performs a
36
+ fresh access check. Its allowlisted control/view/progress facts are status context
37
+ only and cannot pass an assessment.
38
+
39
+ A direct “Watch me while I do this” request lets Colleague start that same watch
40
+ from the currently connected Learning task. A how-to question only explains the
41
+ controls. Ask Colleague to read, pause, resume or stop it, or use the eye dialog;
42
+ both paths update the same watch ID. Status includes the exact goal and target,
43
+ latest observation time, last delivered-help receipt and any saved assessment
44
+ outcome. Stop ends observation only, not Main, the lesson or the application.
45
+ Polling grants no source, Git, publication, provider, account or other mutation
46
+ permission. Unsupported in-app behavior must be reported as unobservable.
47
+
48
+ After a confirmed relevant step or an explicit observed failure, polling can give
49
+ the same saved Main teacher one bounded application update. Main waits if your
50
+ current turn is still running, then may connect confirmed progress to the current
51
+ criterion or offer one useful hint for the reported failure. The update is not
52
+ shown as words authored by you, cannot answer a pending question, and cannot award
53
+ a pass. Repeated identical evidence is coalesced, and merely being quiet or away
54
+ does not trigger another teacher turn. Pause or Stop discards undelivered help.
55
+
28
56
  A no-exercise lesson stays reserved without a practice project or Workspace setup.
29
57
  Its Learning Main is a private teacher conversation; the fresh brief reports
30
58
  `lesson.exerciseRequired: false`. Supported Main quizzes assess accepted answers
@@ -142,97 +170,48 @@ configured before retrying. Unrelated history cannot be assessed; host support i
142
170
 
143
171
  ### Practising the native workspace controls
144
172
 
145
- For the workspace exercise, keep the same question open while you use the
146
- controls yourself: open the project selector and choose the lesson's exercise
147
- (the already selected project also counts), reveal its Main coding conversation
148
- with the session tab or **Show chat**, then choose **Preview**. A different session
149
- or temporary review conversation does not count; use its **Main chat** button
150
- first. Wait for each view to finish opening.
151
- Colleague can explain these steps, but its own navigation is a demonstration,
152
- not evidence that you performed them.
153
-
154
- Keep one delivered challenge and its question reference across all three steps.
155
- The Main teacher may explain one substep at a time, but must not prepare a new question
156
- between project selection, revealing its Main chat and Preview selection:
157
- that replaces the challenge and resets its observation collection. On a phone,
158
- receive the task before minimising Colleague; return after the steps and explain
159
- what you did before assessment. The supported Main practical owner must acknowledge the actual accepted steps
160
- and coach the next move; ordinary Colleague chat is not a grading path.
161
- These collecting facts are not a completed observation or pass. Only the final
162
- native step supplies `trainingPractical` for assessment.
163
-
164
- For the return exercise, **Minimize conversation**, use the workspace, then
165
- restore Colleague with its launcher. On phones, **Show project** / **Show chat**
166
- toggle workspace / Main, not Colleague. Desktop drawer and phone full-screen retain
167
- the session, speech, draft and exercise. Restore Colleague's actual body; another
168
- assistant's voice panel does not count.
169
-
170
- Native observation binds your clicked control and settled view to the delivered
171
- question; it has no pass button. Unsupported observation leaves the practical
172
- incomplete. If unconfirmed, repeat the step once ready; the workspace action was
173
- not undone. Reload or question replacement may require repeating an unfinished
174
- sequence. Separate verified assessment uses the pinned rubric and your explanation.
175
-
176
- Observation retries retain the original gesture acknowledgement/step count;
177
- conflicting details are rejected. Completion is an observation, not a pass.
178
- After server restart repeat the sequence; workspace actions were not undone.
179
- Demonstration/substantial help remains teacher-origin, not independent evidence.
180
-
181
- Practical assessment requires both your native exercise receipt and accepted
182
- explanation, never Main's substitute description. Demonstrations and failed
183
- declared checks cannot earn a pass. Retry reads the saved result; another submission
184
- cannot reuse the observation. Assessment is not a learner grading button or proof
185
- of lesson completion.
186
-
187
- ### Trying the real application
188
-
189
- For the application practical, show **App preview**, press the application's
190
- **Ask the server** button yourself, and read its greeting and request reference.
191
- If the diagram is showing, switch back to App preview first. On a phone,
192
- minimise Colleague so the real App is visible. Tell the Main teacher in ordinary words
193
- what you pressed and what replied; a verified request alone does not replace
194
- this explanation.
195
-
196
- The lesson checks the visible App frame and real server response. Diagrams,
197
- demonstrations, readiness signals and background responses are insufficient.
198
- If App was hidden, the question changed or observation was unconfirmed, show the
199
- same exercise and press again. After server restart, use **Reload preview** before
200
- pressing. Original App/Preview controls remain; Colleague gets no source or screenshots.
201
-
202
- Colleague can read the completed observation's exact identity through its normal
203
- context query, then evaluate it with your accepted explanation. Missing or stale
204
- observations require repeating the native task. A check reporting a verified
205
- interaction is not itself a rubric pass, and demonstrated steps remain labelled
206
- as demonstrated.
207
-
208
- An assessment error does not prove a Helper setup problem. Keep the attempt and question; inspect the actual cause. After admission recovery, give a fresh answer to the current question; old messages stay unchanged.
209
-
210
-
211
- ## Preview lesson choices: integration prerequisite
212
-
213
- The prepared **Lessons** picker displays the host's installed courses in their
214
- original order, with readable lesson titles beside the exact lesson codes,
215
- course/topic releases and lesson hashes. It does
216
- not install or enable content. Disabled courses, preview courses and draft
217
- lessons stay labelled and unavailable for a new start. Choose a published lesson
218
- from an enabled release, then use **Start selected lesson** to request that exact
219
- lesson. Selection alone never starts anything. A missing title reports **Lesson titles
220
- are unavailable**; use **Refresh lessons**. This preserves the saved attempt and
221
- history and does not substitute an invented title or another lesson. The host's original lesson action
173
+ For workspace observations, application checks and practical assessment, read
174
+ [Practical Learning exercises](learning-practical-exercises.md).
175
+
176
+ ## Course and lesson choices
177
+
178
+ The prepared **Courses** pane displays the host's installed courses in their
179
+ original order as cards with "N of M lessons complete" and a progress ring.
180
+ **View course** shows each topic and its lessons in order, with readable lesson
181
+ titles beside the exact lesson codes, course/topic releases and lesson hashes,
182
+ and a **Completed**, **In progress** or **Not started** status read from saved
183
+ progress. Opening a course does not install or enable content; the separate
184
+ **Install a course** catalogue below the cards does, and Colleague may install or
185
+ update an official catalogue course only on the person's direct request or
186
+ accepted offer (see [Installing and updating Learning courses](learning-course-catalogue.md)).
187
+ Disabled courses and draft lessons stay labelled and unavailable for a new start.
188
+ A preview course can be started only by the workspace owner: `courses.list`
189
+ reports `canTryPreviews`, the owner sees **Try preview**, and the server refuses
190
+ anyone else's start (Colleague included, acting for that person) with **This
191
+ preview course can be tried only by the workspace owner until it is released.**
192
+ **Start** or **Try preview** on a card, **Start next lesson** or **Start lesson**
193
+ on the course page requests that exact published lesson from an enabled release; opening a course alone never
194
+ starts anything. A missing title reports **Lesson titles are unavailable**; use
195
+ **Refresh courses**. This preserves the saved attempt and history and does not
196
+ substitute an invented title or another lesson. The host's original lesson action
222
197
  must still authorize and admit it; unavailable support or a failed read is not a
223
- successful start.
198
+ successful start. The owner's **New course** form is described in
199
+ [Choosing lessons and Learning conversations](learning-mode-ui.md).
224
200
 
225
201
  **Resume saved lesson** requests only the displayed saved attempt. Its retained
226
202
  pin can be older than the currently enabled catalogue. This button is available
227
203
  only when the host actually supports resume, not merely because progress exists.
228
204
  Starting a different lesson requires explicitly ending the active saved attempt
229
- through the existing lesson operation first; the picker never does that for you.
205
+ first: ask Colleague, which uses `lesson.end` and stops that lesson
206
+ conversation's work while keeping its history (see
207
+ [Lesson history and resume](learning-history.md)). The Courses pane has no End
208
+ button and never ends a lesson for you.
230
209
  **Saved lesson history** remains read-only and visible independently of new-start
231
210
  or resume support. Ended history is not marked completed without an actual
232
211
  completion result.
233
212
 
234
213
  Assessment counts come from saved results, never chat, motion or selection.
235
- **Saved lesson identity** shows the saved commit/hash. **Refresh lessons** rereads;
214
+ **Saved lesson identity** shows the saved commit/hash. **Refresh courses** rereads;
236
215
  loading/errors create or repair no state. Desktop/phone share wrapping, scrollable
237
216
  controls. Colleague can explain/offer supported start/resume; only a direct request
238
217
  or accepted offer authorizes it. Main teaches with supported Preview controls;
@@ -161,9 +161,15 @@ immutable. Check both the exact local lock and actual requested Git publication;
161
161
 
162
162
  ## Operator installation is separate
163
163
 
164
+ Courses published in the official Vibe64 course catalogue are installed and
165
+ updated from Learning's **Courses** pane by any signed-in person (see
166
+ [Installing and updating Learning courses](learning-course-catalogue.md)). The
167
+ operator steps below remain for content outside that catalogue, for an author's
168
+ own snapshots, and for disabling a release.
169
+
164
170
  In supported hosted installations, ask Colleague to admit your exact clean
165
171
  committed snapshot from the authorized authoring session. Then turn on Learning
166
- mode in that project view and use **Resume author trial** under **Lessons** to
172
+ mode in that project view and use **Resume author trial** under **Courses** to
167
173
  open its same Main teacher. This saved trial has isolated progress; it is not an
168
174
  enabled learner course. Ordinary **Start** still requires a published lesson in
169
175
  an enabled release. Local validation/bundling alone admits no trial. Do not change
@@ -181,9 +187,9 @@ terminal commands documented in [Local operator provisioning](../training-conten
181
187
  fresh catalogue revision; `enable-course` and `disable-course` change only the
182
188
  exact selected release against that revision. Creating a course lock does not
183
189
  install or enable it, and installation does not make it available to learners.
184
- Disabling blocks new starts while retaining existing attempts' pins. This is an
185
- OS-operator task on the selected installation, with no learner/mobile control or
186
- Colleague source/shell access. Colleague can explain the steps and offer to help
190
+ Disabling blocks new starts while retaining existing attempts' pins. For content outside
191
+ the official catalogue this is an OS-operator task on the selected installation,
192
+ with no learner/mobile control or Colleague source/shell access. Colleague can explain the steps and offer to help
187
193
  formulate the operator request; it cannot run operator installation, enablement or deployment on
188
194
  that person's behalf. Requested Git source publication uses the native workflow above. Invalid content or an unconfirmed save requires owner
189
195
  inspection, not automatic replacement or blind retry.
@@ -202,3 +208,5 @@ move an answer or a diagram checkpoint into another lesson's progress. The
202
208
  saved trial control uses the original snapshot admission and explicit refresh
203
209
  operations described above. Edited source requires a deliberately ended old trial
204
210
  and a newly admitted committed snapshot; Resume keeps the existing pin.
211
+
212
+ Pinned source admission verifies committed file bytes in bounded Git batches, including binary assets and filenames containing line breaks. It retains the clean-source and repeated commit checks; a source change still requires committing and retrying the same authorized operation. This does not publish or change a course pin.
@@ -41,7 +41,9 @@ another inference or repeat an unknown App effect to manufacture success.
41
41
 
42
42
  A server restart or retired connection can lose unfinished native-step collection;
43
43
  it does not undo your workspace action. Explain that clearly and repeat the
44
- practical only when collection is genuinely unavailable. Previously confirmed
44
+ practical only when collection is genuinely unavailable. The delivered question
45
+ itself is saved and stays open: missing collected facts after a restart mean
46
+ "press or repeat again", never "issue the question again". Previously confirmed
45
47
  passes remain in the original saved progress. A new question needs its own real
46
48
  steps; an older observation cannot be reused for it. Closing a view or minimizing
47
49
  a drawer is not permission to replace the saved lesson or silently send a message.
@@ -14,6 +14,12 @@ Adding a name here does not create an application account.
14
14
  4. Use Preview's available identity controls for the browser exchange. Merely
15
15
  saving identity configuration does not sign that browser in.
16
16
 
17
+ After switching identity, open the intended application page in Preview and check
18
+ the rendered account and access. An application can leave its login page visible
19
+ after the exchange succeeds; the selected identity name alone is not proof of
20
+ access. If a protected page still returns to login, ask the coding agent to inspect
21
+ the exchange and subsequent application requests without exposing cookie values.
22
+
17
23
  The configuration is part of the selected session's source. Use the ordinary
18
24
  Save workflow when it should become saved project work. Source Save, application
19
25
  account creation and browser sign-in have distinct effects. If the application
@@ -0,0 +1,56 @@
1
+ # Recovering an unconfirmed message
2
+
3
+ When a message says **Delivery is uncertain**, choose **Retry** to check its
4
+ original receipt. Do not copy and send the same message again: it may already
5
+ have reached the assistant. Keep the original text and attachments while its
6
+ receipt is checked.
7
+
8
+ A historical Claude pre-write rejection can leave that receipt uncertain even
9
+ though the native send was refused. An operator can apply the numbered stopped
10
+ workspace repair after proving the original rejection and checking native history.
11
+ The repair sends nothing and preserves the conversation. Once it is applied,
12
+ the failed message's **Retry** action can submit the retained request normally.
13
+ The same controls apply on desktop and mobile.
14
+ When **Retry** starts another attempt, its bubble immediately shows **Pending**
15
+ and hides the previous failure controls while it is sending. If that attempt
16
+ fails or its receipt becomes uncertain, the corresponding recovery controls
17
+ return with its current delivery state.
18
+
19
+ A message that fails before it reaches the assistant shows its error at once
20
+ and is marked **failed**, not uncertain, for example when the assistant's memory
21
+ is too full. Fix the cause and choose **Retry**; nothing was sent.
22
+
23
+ The assistant is shown as working (the animated indicator and the **Assistant
24
+ working** dot on a temporary chat tab) only while its turn is actually
25
+ running. Sending, choosing a recipient, connecting and an unconfirmed delivery
26
+ have their own labels and never show the assistant as working. **Stop** stays
27
+ available while a request is being routed or sent.
28
+
29
+ Accepted messages appear in timestamp order with the conversation, even while
30
+ their saved history is loading. Pending, failed and uncertain messages retain
31
+ their queue position and recovery controls. Loading older history replaces the
32
+ matching local copy rather than showing the same message twice.
33
+
34
+ Colleague can explain these steps and offer supported message actions. Server
35
+ maintenance requires an operator; Colleague must not invent a receipt, clear
36
+ unknown delivery or claim a failed request was delivered.
37
+
38
+ ## When a turn finishes while you send
39
+
40
+ Sending a new instruction while Claude works uses its targeted **Send now**
41
+ control when supported by the installed Claude version. Background agents and
42
+ background tasks continue; foreground work may be interrupted to read your
43
+ instruction. This also applies to **Set goal** and **Resume goal** during active
44
+ work. **Stop** keeps its cancellation behavior. Older Claude versions retain
45
+ their previous interruption behavior. These controls work on desktop and mobile.
46
+
47
+ If you send a steering message just as Claude or Codex finishes, the queue can
48
+ submit those same words and attachments as the next ordinary request. This happens
49
+ only when the server confirms the steer was rejected before admission. It retains
50
+ the same message identity and tries ordinary Send once. A timeout or uncertain
51
+ receipt is still checked rather than resent. If ordinary Send fails, **Retry**
52
+ keeps the request as Send instead of targeting the finished turn again.
53
+
54
+ This recovery applies to project chats and temporary conversations such as
55
+ **Fix it with AI**. A completed turn allows the one ordinary-send retry; stopped,
56
+ failed or unverified turns do not silently restart through this recovery.
@@ -22,7 +22,8 @@ Senior confirms creation or updates after the plan helper has saved the result.
22
22
  Both direct Senior and Junior receive the plan format and command instructions.
23
23
  Both roles must read the full Plan, including its technical details, and Progress
24
24
  before implementing or reviewing. Collapsing details in the viewer does not hide
25
- them from the agent. Junior can update Progress; Senior owns agreed Plan scope changes. Creating,
25
+ them from the agent. Junior updates Progress and ticks existing checklist items
26
+ as each is implemented and verified; Senior owns agreed Plan scope changes. Creating,
26
27
  reopening, archiving and completing a plan still require Senior. An unsuccessful
27
28
  save must be reported, and a chat outline alone is not a saved plan.
28
29
 
@@ -50,10 +51,11 @@ The icon remains available after completion and when only archived plans remain.
50
51
  When there is no current plan, the icon opens **History** directly.
51
52
  There is no icon when the session has neither a current plan nor history.
52
53
 
53
- The scope checklist remains stable during execution; it is not a live progress gauge.
54
- Recorded marks in historical plans remain visible. Junior records implementation
55
- and verification in Progress. Senior reads both documents, verifies every agreed
56
- acceptance requirement against the work and evidence, and explicitly completes the artifact.
54
+ Checklist wording stays stable while completion ticks update during development.
55
+ Partial or unverified items stay unchecked; an item is unticked if review finds
56
+ missing evidence or a regression. Junior records supporting evidence and blockers
57
+ in Progress. Senior checks the ticks against that evidence and explicitly completes
58
+ the artifact only after verifying every agreed acceptance requirement.
57
59
  A finished turn or a fully ticked checklist alone does not complete a plan.
58
60
  Updates appear while the viewer is open.
59
61
 
@@ -66,6 +68,10 @@ that exact Plan and Progress pair into History. Chat shows **Completed plan
66
68
  archived** with **View plan history**, which opens this session's existing viewer.
67
69
  The plan icon remains available and opens History when there is no current plan.
68
70
 
71
+ Senior can update checklist ticks and Progress during review without preventing
72
+ completion. The agreed plan wording must still match the reviewed scope, and
73
+ completion uses the latest saved Plan and Progress together.
74
+
69
75
  A finished implementation or an agent's handoff explanation is not completion.
70
76
  Interrupted reviews, unfinished plans and unrelated requests do not archive a
71
77
  plan. A different plan created while reviewing is not archived by the old review.
@@ -113,7 +119,8 @@ in Main chat to reopen the desired archive, identifying its title and date.
113
119
  Creating a new plan starts fresh Progress; it does not inherit the previous artifact's evidence. Reopening an archive retains that archive's exact Progress, including when it replaces another current plan.
114
120
  If this replaces a current plan, Senior identifies which paired artifact will be archived
115
121
  and confirms your choice unless you already authorized replacement. To implement
116
- an active plan, explicitly request it in chat; the viewer has no Implement button.
122
+ an active plan, explicitly request it in chat or select **Implement plan** in the
123
+ waiting Auto Planning notice. The viewer itself has no Implement button.
117
124
 
118
125
  ## Loading, errors and Colleague assistance
119
126
 
@@ -146,7 +153,7 @@ sent through an already-authorized chat operation when available.
146
153
  ## Auto roles and workflow
147
154
 
148
155
  For Senior/Junior routing, implementation, review, Deslop, scope deferral and
149
- Stop or Resume workflow recovery, read [Choose Auto roles and follow the
156
+ Stop or stage-specific Continue recovery, read [Choose Auto roles and follow the
150
157
  workflow](auto-workflow.md). Plan and Progress remain one paired artifact.
151
158
 
152
159
 
@@ -0,0 +1,61 @@
1
+ # Browser checks from chat
2
+
3
+ Ask the coding agent in chat to test the running application in a browser and
4
+ specify the flow to check. The agent uses the session's managed browser tools;
5
+ you do not need to provide an execution ID or change application code to enable
6
+ them. Application login may still require your credentials or interaction.
7
+ The managed browser keeps its page and login between the coding agent’s tool
8
+ commands. Stopping Preview, closing the session, resetting the managed browser
9
+ or losing its editor connection can require login again. If it repeatedly loses
10
+ login during ordinary checks, ask the coding agent to inspect browser lifecycle
11
+ errors; shortening waits is not a recovery for a stopped browser.
12
+ If a check reports **Launch preview token is missing or invalid**, use the
13
+ current Preview link and the session's managed browser, not a copied link from
14
+ an earlier launch. Managed browser code can navigate to `preview.url` using
15
+ its existing authenticated context; that URL does not expose the access token.
16
+ A persistent token error needs browser-access investigation, not a pool restart.
17
+
18
+ The coding agent runs managed test suites and live Preview browser checks one
19
+ after the other. A suite owns Preview until its cleanup and restoration finish;
20
+ the agent can read status and logs while waiting, then confirms there is no
21
+ active test run and the restored Preview is ready before live inspection. This
22
+ also applies after cancelling a suite. If restoration fails, ask the coding
23
+ agent to recover that existing run before another check. **Test Preview**
24
+ identifies the test environment while it is selected. Colleague can explain the
25
+ sequence and offer coding-agent assistance through the existing chat controls.
26
+ While a suite runs in the background, the coding agent waits on its existing
27
+ execution and checks logs when output or state changes, rather than repeatedly
28
+ reading unchanged logs between short waits.
29
+ Where its command tool supports `yield_time_ms`, an empty progress wait uses
30
+ `30000`; shorter waits are for interactive input or a specific immediate check.
31
+
32
+ Ask the coding agent to run browser-owning Node integration tests through
33
+ `vibe64-helper playwright npm-run` as well. The project can declare these as
34
+ `test:playwright:<name>` npm scripts. They use the host's browser task budget,
35
+ which counts all Node and Chromium threads. Colleague can explain this route
36
+ and offer coding-agent assistance; it cannot change host resource limits.
37
+ Managed suites and their setup include the Git runtime for repository fixtures.
38
+ Other tool dependencies still need their own declared runtime support. A fixture
39
+ setup failure does not count as a failed application assertion or a passing check.
40
+
41
+ The coding agent can read `vibe64-helper playwright --help` before a project has
42
+ browser tests or a matching test runtime. Help starts neither Preview nor a browser.
43
+ An actual suite still requires the project's installed Playwright version and a
44
+ matching managed runtime. A version error is a test-runtime blocker; interactive
45
+ checks can use the existing managed Preview browser. Report the exact required
46
+ version to the platform operator instead of installing a separate browser.
47
+
48
+ Before a suite, the coding agent can run `vibe64-helper playwright readiness`.
49
+ It distinguishes absent tests, uninstalled dependencies, an unsupported exact
50
+ runtime and a supported installed dependency without starting Preview or a
51
+ browser. `ready` confirms dependency/runtime availability, not passing tests or
52
+ application readiness. `status` separately reports an active test run. Colleague
53
+ can explain these outcomes and delegate investigation to the coding chat; it
54
+ does not receive shell access through this guide.
55
+
56
+ If the agent reports “Browser testing requires a live assistant execution owner,”
57
+ the browser test did not start. This is an assistant runtime problem. After the
58
+ host runtime has been fixed and restarted, send a new chat message asking the
59
+ agent to retry the check. Colleague can explain this recovery and inspect Preview
60
+ state through its existing actions; it does not receive shell or browser-test
61
+ access from this guide.
@@ -0,0 +1,56 @@
1
+ # Lesson presentation in Preview
2
+
3
+ This continues [Previewing a web application](preview.md); for diagrams and voice in lessons see also [Lesson diagrams and voice](learning-diagrams-and-voice.md).
4
+
5
+ When a host opens a declared lesson diagram, Preview offers **App preview** and
6
+ **Colleague presentation**. App preview returns to the running application;
7
+ Colleague presentation shows the same retained diagram. Switching changes neither
8
+ the application process nor its frame. **Minimise presentation** returns to the
9
+ application while retaining the diagram; **Restore presentation** brings it back.
10
+ On phones, return to the workspace from Colleague to use these same Preview choices.
11
+
12
+ The host reads your pinned diagram for your signed-in lesson attempt even while
13
+ its exercise project is selected. You need not leave the project to load it. If
14
+ loading fails, use **Reload presentation** for the same attempt; do not start a
15
+ new lesson or treat the failure as an assessment result.
16
+
17
+ Hiding a diagram pauses its motion when its declared controller supports pause.
18
+ Showing it does not replay a transition automatically. A diagram failure offers
19
+ **Reload diagram**; a failed resource read offers **Reload presentation**, which
20
+ reads the same attempt and declared visual again. Neither recovery grades an
21
+ assessment or changes the lesson version. Missing or changed pinned content needs
22
+ the owner's normal recovery. Colleague's visual commands become available only
23
+ when the host supplies authenticated resource delivery and browser acknowledgement;
24
+ this Preview composition alone does not activate those tools or synchronise speech.
25
+
26
+ With the authenticated host connected, you can ask Colleague to show a declared
27
+ lesson visual or demonstrate its next step. It uses your saved prepared exercise
28
+ and waits for the diagram to be ready or the transition to finish. Ask it to read
29
+ the displayed diagram state if you are unsure. If the browser disconnects or the
30
+ exercise view changes, reopen the same lesson and retry deliberately; a missing
31
+ acknowledgement is not proof the transition failed, so keep the original command
32
+ identity on a retry. These commands do not mark learner work correct or prove
33
+ spoken narration finished.
34
+
35
+ ## Diagram explanations and sound
36
+
37
+ A host-enabled teaching cue first shows the declared diagram, then uses one final
38
+ Colleague explanation. Its motion starts when that explanation actually becomes
39
+ audible. Tool progress is not narration. With spoken replies off, read the final
40
+ explanation and press **Continue** to watch. If sound has not started, **Play diagram
41
+ without sound** is an explicit alternative; sound failure also offers Continue.
42
+ Neither option pretends that audio played.
43
+
44
+ Hiding Preview, changing the exercise, reloading its diagram or stopping the
45
+ explanation retires the current cue. Supported motion pauses and its semantic
46
+ state remains readable; showing Preview alone does not replay it. Deliberately
47
+ hiding the diagram interrupts sound only while this cue's exact explanation is
48
+ still audible. The normal voice stop also clears queued speech for that same
49
+ voice binding; it does not pause audio for later resumption. Minimising Colleague
50
+ alone keeps voice playing, and a newer answer or another conversation is never
51
+ stopped by this diagram control. Ask Colleague to repeat the explanation explicitly
52
+ when needed. Colleague waits for the actual
53
+ diagram and required audio completion receipt before another teaching cue or
54
+ question. An unconfirmed receipt needs its current status checked, not an inferred
55
+ pass or automatic replay. On phones, opening a teaching presentation minimises
56
+ Colleague's frame while retaining the conversation, microphone and typed draft.
@@ -0,0 +1,92 @@
1
+ # Choose a starting application
2
+
3
+ This continues [Previewing a web application](preview.md).
4
+
5
+ In an empty project's **Preview**, choose **Use this starter** on the desired
6
+ Basic, Database, or Accounts app. On mobile, open **Show project** first. Import
7
+ adds source to this session; review it and use **Save** to keep it in the project.
8
+ Setup and running the app are separate operations.
9
+
10
+ A missing Stack contract reported during import can belong to the downloaded
11
+ starter even when your project's Stack is empty. Validation rejects that starter
12
+ before copying it. Migrating the empty destination does not fix the starter.
13
+ After the starter or importer is repaired, retry **Use this starter**. If the
14
+ result is uncertain, recheck the project before retrying; existing application
15
+ source must not be overwritten.
16
+
17
+ Colleague can inspect onboarding, explain the available choices and offer to
18
+ apply one. After you choose a starter and accept its offer or directly request
19
+ it, Colleague can use the existing onboarding action and recheck the result.
20
+ A successful import does not mean dependencies are prepared or Preview is running.
21
+
22
+ For recurring **Preview could not load an application resource** errors, enable
23
+ Preview diagnostics in the affected Studio browser before reproducing: add
24
+ `vibe64_preview_debug=1` to the page URL, or set
25
+ `localStorage.setItem("vibe64:preview-debug", "1")` in that browser's developer
26
+ console. The option applies to that browser, on desktop or mobile; Colleague can
27
+ explain it but cannot change browser developer settings for the person.
28
+
29
+ While enabled, failed script/style/module URLs, frame readiness and automatic
30
+ retry events are sent through the session's authenticated Preview action to the
31
+ workspace's private operational log (`vibe64.preview.browser_diagnostic`). An
32
+ operator can inspect that log after the page reloads or the person leaves. Each
33
+ record identifies the project, session, frame attempt, retry count and browser
34
+ observation time. The authenticated route selects the project and session; the
35
+ browser sends only diagnostic fields in the request body. URLs keep only origin/path: credentials, query values and
36
+ fragments are removed. Console text, request/response bodies and headers are not
37
+ uploaded. Each iframe reports at most 50 failed resources; the daemon accepts
38
+ at most 120 records per minute. Excess diagnostics
39
+ are omitted without changing Preview. These records can identify a failing
40
+ module, but browser resource errors do not themselves provide its HTTP status.
41
+ A log outage does not trigger another Preview retry.
42
+
43
+ Remove the URL option and run
44
+ `localStorage.removeItem("vibe64:preview-debug")` to stop recording. Existing
45
+ private log retention remains the operator's responsibility. The ordinary
46
+ Preview diagnostics attachment remains a separate, explicitly requested snapshot
47
+ of the current iframe's console/network history.
48
+
49
+ For a **Chat updates could not reconnect** investigation, the operator can enable
50
+ existing `JSKIT_REALTIME_DEBUG=1` on the workspace daemon (or `realtime.debug` in
51
+ its runtime configuration), then restart the daemon at a safe maintenance boundary
52
+ to apply it. Vibe64 passes this flag to the shared chat runtime; setting it in a
53
+ project's Preview environment does not enable chat diagnostics. Subscription
54
+ diagnostics then record the pending
55
+ server stage at the 10-second acknowledgement budget and the stage/reason when
56
+ that observer is released. With this option enabled, each preceding stage and
57
+ its elapsed time are also retained in warning-level logs, so an operator can
58
+ distinguish slow admission from slow snapshot reading. With the environment flag
59
+ enabled, `vibe64.conversation.browser_timing` also separates Main's session loading,
60
+ native conversation opening and fresh authorization, including failed boundaries.
61
+ Repeated subscription authorization is recorded only when denied or taking at
62
+ least 100 milliseconds, to avoid a diagnostic log entry for every healthy token.
63
+ The same diagnostic record family separates slow conversation access checks into
64
+ fresh user lookup, saved learning-attempt validation, practice scope, project
65
+ access and project-context resolution. It records the elapsed phases even when
66
+ access fails; repeated checks keep their existing authorization behavior.
67
+ These access timings also apply to standalone Learning conversations.
68
+ Concurrent Learning readers share verification of the same pinned course files
69
+ while that verification is running. Completed results are not cached: later
70
+ reads still reject missing or changed installed files, with the same reinstall
71
+ guidance. Each reader retains its own result and fresh access checks.
72
+ These records identify the session and operation, without chat text, request
73
+ details, account credentials or error contents. This does
74
+ not change the deadline, start a model, resend a message or retry a subscription;
75
+ use **Reload chat** after correcting the cause.
76
+
77
+ Leaving a chat or releasing its failed connection stops further subscription
78
+ setup once the current step finishes. A released connection does not start a
79
+ new history read; an existing read may finish without updating the replacement
80
+ view. This only releases browser observation: agent work continues. **Reload
81
+ chat** still checks current access before restoring history and live updates.
82
+
83
+ With the same option, saved learning-attempt timings separately report normal or
84
+ preview scope selection, saved exercise validation and practice-context capture.
85
+ These are nested durations within saved-attempt time; do not add them to that
86
+ parent duration. Failed stages retain their timing without exposing their error
87
+ contents, and no completed authorization result is cached.
88
+
89
+ Opening a saved Learning practice conversation still checks its pinned teaching
90
+ content on each admission. That check does not load a second exercise-file payload
91
+ for workspace preparation. Missing or changed teaching content still requires the
92
+ owner to restore the exact verified snapshot; reloading chat does not bypass it.