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
@@ -1,29 +1,168 @@
1
1
  # Choosing lessons and Learning conversations
2
2
 
3
- Use the yellow **L** plate in the app header to switch between Working and
4
- Learning. Its pressed state and highlighted header indicate Learning. On the
3
+ Use the **L** button at the left of the app header to switch between Working and
4
+ Learning. It is the same size as the other header icon buttons. While Learning
5
+ is on it is a full yellow L (pressed, tooltip **Leave Learning mode**) and the
6
+ header is tinted; in Working it is an outlined, untoggled L (tooltip **Enter
7
+ Learning mode**). It is the first keyboard stop in the header: Enter or Space
8
+ switches mode. In a lesson with saved practice projects, the **Practice
9
+ project** menu sits beside it in place of Working's project switcher; on a phone
10
+ it shrinks to its ▾ arrow. On the
5
11
  projectless app page, Working shows the original project picker; Learning shows
6
- installed lessons without asking you to invent or choose a project. In a project
12
+ installed courses without asking you to invent or choose a project; its header
13
+ reads **Courses**. In a project
7
14
  view, the same control changes the existing session panel's purpose filter.
8
15
 
9
- The **Lessons** pane shows the installed course release, lesson title and code,
10
- and the authenticated person's saved progress. Choose **Start** for an available
11
- lesson or **Resume** for the exact saved attempt. Disabled, unavailable, loading
12
- and error states are shown by the original lesson picker. Choosing a release is
13
- not permission to install or enable it. Refresh rereads catalogue and progress.
14
- A course labelled **Preview course** is not available through ordinary Start,
15
- even when its individual lessons are published. It needs an authorized author
16
- trial or a released, enabled course; changing views does not bypass that rule.
16
+ The **Courses** pane (called **Lessons** in earlier releases) opens with a
17
+ **Courses** banner (with **Refresh courses**) and a list of course cards. Each card
18
+ has decorative cover art (the same for a course every time; its dots mirror that
19
+ course's lessons, ticked when complete), a chip saying whether it is **Enabled**,
20
+ a **Preview course** or **Disabled for new lessons** (plus **Saved lesson** or
21
+ **Course complete** when true), the title, its ID and release, topic and lesson
22
+ counts, "N of M lessons complete" with a progress ring, and the next lesson. A lesson counts as complete when all of its required
23
+ assessments are passed in your saved progress; only required lessons are counted,
24
+ unless a course has none. Progress is read from what is already saved; opening a
25
+ course grades nothing. A lesson passed in one course counts in every course that
26
+ contains the same lesson.
27
+
28
+ On a card, **Continue** reopens your saved lesson when it belongs to that course;
29
+ it is the same request as **Resume saved lesson**. Otherwise **Start** starts the
30
+ course's first published lesson that is not yet complete. **View course** opens
31
+ the course page: a header with the course cover and a ring showing lessons complete,
32
+ an **Up next** card, then a path of its topics in order, each with its lessons, their title and code
33
+ and a status of **Completed** (green tick), **In progress** (yellow; an open attempt or some passes) or
34
+ **Not started** (numbered). The **Up next** card has one main action, **Continue** or **Start next
35
+ lesson** (with the next lesson named beside it), and each available lesson has a **Start lesson** button
36
+ if you want a different one. **Back to courses** returns to
37
+ the list. While you have a saved active lesson, Start buttons stay disabled:
38
+ continue it, or end it first. There is no End button; ask Colleague to end the
39
+ lesson (see [Lesson history and resume](learning-history.md)). On a phone the cards stack in one column and the
40
+ course page scrolls in the same pane.
41
+
42
+ Choose **Resume saved lesson** on the saved lesson card (above the course cards,
43
+ headed "Saved lesson · code" with the lesson title and, once reported, a ring of
44
+ required assessments passed) for the exact saved attempt. Disabled,
45
+ unavailable, loading and error states are shown on the same page. **Refresh
46
+ courses** rereads installed courses, progress and the course catalogue.
47
+
48
+ Below the course cards, **Course catalogue → Install a course** lists the
49
+ official catalogue's topics and their courses with **Install** buttons; an
50
+ installed course with a newer release shows **Update available** and **Update**.
51
+ See [Installing and updating Learning courses](learning-course-catalogue.md). A lesson without a practice project, such as local
52
+ Vibe64's Lesson 0 **Set yourself up**, opens only its Learning conversation; that
53
+ lesson uses [Dashboard → Health](health-checks.md).
54
+ Returning from Working to Learning rereads saved lessons and any admitted author trial; a newly admitted trial does not require reloading the page.
55
+ If Resume reports that the saved exercise is busy preparing or finishing a command, wait for that operation to settle and retry the same attempt. Do not create a replacement.
56
+
57
+ ### Creating a custom course
58
+
59
+ The workspace owner sees a dashed **New course** tile after the course cards (on
60
+ local Vibe64 you are the owner). Enter a **Course name**, tick whole topics under **Installed
61
+ topics**, put them in learning order with **Up** and **Down** under **Topic
62
+ order**, then choose **Create course**; **Cancel** closes the form without
63
+ changes. The new course opens straight away and stays in the list for everyone in
64
+ this installation. Only topics from enabled, released courses are offered. The
65
+ course is pinned to those exact installed topic releases, so it never changes
66
+ lesson content, and saved progress is shared with the original course.
67
+
68
+ If creation fails, the message appears at the top of the pane: a name that is
69
+ already used (choose another name), a catalogue that changed meanwhile (use
70
+ **Refresh courses**, then try again), a topic that is no longer available, or the
71
+ 16 course-release limit. Other people cannot create courses; on hosted Vibe64
72
+ only the workspace owner can. Colleague can create a custom course when the owner
73
+ asks for it with a name and topics. A custom course cannot be renamed or edited;
74
+ the owner can disable it with `vibe64 training disable-course` (see
75
+ `docs/training-content.md`) and create another one.
76
+
77
+ A **Preview course** is for the workspace owner to review before release. The
78
+ owner (on local Vibe64, you) sees **Try preview** instead of **Start**, **Start
79
+ next lesson** and **Start lesson**, on desktop and phone; it starts an ordinary
80
+ saved lesson exactly like Start. Others see **Preview — the workspace owner can
81
+ try it; it becomes startable when released** and no start button, and the server
82
+ refuses their start. Drafts and disabled courses stay unavailable to everyone.
83
+ Once released, everyone gets **Start**.
84
+
85
+ Practice commands and their Git operations stay with the saved lesson until they
86
+ finish. If a command is still finishing, wait before ending the lesson. Ending a
87
+ lesson stops its lesson conversation's running work, as **Stop** does, and keeps
88
+ the conversation, practice project and history; it does not archive or delete
89
+ anything. After cancellation or an end, an old command cannot restart work. An
90
+ ended lesson cannot be resumed; ask Colleague to continue it in a fresh exercise
91
+ (see [Lesson history and resume](learning-history.md)).
92
+
93
+ When Learning first creates its teacher session, it uses the first available AI
94
+ workflow shown by the normal session picker, then checks your current Junior
95
+ model and account access. It does not assume OpenCode is configured. You can
96
+ change the teacher's AI through the normal chat model controls afterward. If no
97
+ workflow is available, connect/configure one in **AI Accounts → Model routing**,
98
+ then resume the same saved lesson or author trial; do not start a replacement.
99
+
100
+ The Main teacher uses the saved lesson's exact instructions with Codex, Claude
101
+ or OpenCode. In a practice project those instructions accompany the project's
102
+ normal development guidance; switching AI does not turn the lesson into an
103
+ ordinary coding task. The teacher should give the declared learner task and wait
104
+ for your own answer or action. It must not ask you to reconstruct the installed
105
+ lesson, invent an observation or count its own demonstration as your pass.
17
106
 
18
107
  After a confirmed active Start or Resume, the existing Main conversation is
19
108
  opened and selected only if its loaded row matches your learner and attempt.
20
- The teacher chat stays visible throughout Learning, including after opening a
21
- lesson or reloading the page. On desktop, Lessons/App/Presentation appear beside
22
- it. On phones and tablets, chat occupies the upper part of the workspace and
23
- Lessons/App/Presentation the lower part; each keeps its own scrollable area.
24
- Use the existing **Lessons**, **App** or **Presentation** tabs in that supporting
25
- pane without hiding Main. Learning has no chat-collapse or pane-swipe control.
26
- Returning to Working restores its previous chat-collapse choice. Both modes use
109
+ Learning uses the same header as Working: the session row on the left, the
110
+ collapse-chat arrow, the **Preview** | **Dashboard** tab group and, while
111
+ Preview is shown, the same Preview toolbar (address, reload, pause, copy and
112
+ status). Learning adds exactly one thing: a graduation-cap option at the end of
113
+ that same tab group (**Preview** | **Dashboard** | 🎓, tooltip "Learning:
114
+ courses and lesson"). Selecting the graduation-cap button beside Preview and
115
+ Dashboard shows the Learning panes (**Courses**, **Check my code**, the lesson
116
+ and its history); Preview and Dashboard then appear unselected, exactly as one
117
+ option of three. Selecting **Preview** or **Dashboard** deselects the cap. The
118
+ collapse-chat arrow hides or shows the teacher chat exactly as it hides or shows
119
+ the Working chat. In a practice lesson, **Dashboard** is the ordinary Dashboard for the
120
+ lesson's practice project and lesson session, showing every section that works
121
+ inside a lesson:
122
+
123
+ - Project sections: **Git log**, **Env**, **Session History** and **Health**.
124
+ - Session tools: **Session info**, **Current changes**, **Files**, **Database**
125
+ and **Architecture**.
126
+
127
+ Each one reads and changes only this lesson's practice project and session,
128
+ never your Working project. **Database** shows the practice app's ERD, tables
129
+ and data, editable like any project's database (see
130
+ [Browse a project's Database](database.md)). An app without a database shows
131
+ "The session Stack does not declare a supported database." **Files** is the
132
+ source editor for the practice project; see
133
+ [Answering a code question in a lesson](learning-code-questions.md).
134
+ **Env** shows and edits this lesson session's user values; **Reveal** for a
135
+ secret is not offered. **Git log** and **Current changes** are read-only: their
136
+ **Check for updates**, update and **Review changes** (save) buttons are not
137
+ shown, because a lesson is never saved, updated or published. **Session
138
+ History** lists only this lesson's archived lesson sessions. **Architecture**
139
+ can analyse the practice project; its **Ask** assistant is off (ask your lesson
140
+ teacher instead). The **Database** Copilot is off too.
141
+
142
+ A lesson's Dashboard does not show **Project settings**, **Integrations**,
143
+ **App access**, **Incoming changes**, **Issues/PR** or **AI Terminal**. These
144
+ change or reach outside the practice project, and the AI Terminal would type
145
+ straight into the teacher's agent. Opening one of their addresses directly in a
146
+ lesson shows **Env** instead. Moving between Dashboard sections keeps Learning
147
+ on. Switching between Preview, Dashboard and Learning keeps Learning mode on and
148
+ retains the same selected teacher session; it does not switch to your last
149
+ Working session. The graduation-cap **Learning** option shows the **Courses** | **Presentation**
150
+ switch. Returning to it keeps the selected Courses or
151
+ Presentation content visible without requiring another click. A supervised
152
+ project opens on its Preview by default. On reopening, the practice project waits for the
153
+ assistant's initial connection check to settle before opening the saved practice
154
+ runtime. It still opens if that check reports an unavailable or failed AI;
155
+ repairing the AI connection is separate from using the practice Preview.
156
+ A source-less lesson disables **Preview** and **Dashboard** (their tooltip says
157
+ the lesson has no project workspace) and keeps the graduation cap selected,
158
+ instead of showing a remembered Working project. On phones and tablets Learning
159
+ behaves like Working: the teacher chat and the right-hand pane are shown one at
160
+ a time; the arrow button or a horizontal swipe switches between them, and the
161
+ header's next-pane button (shown while the right-hand pane is open) steps through
162
+ **Dashboard**, **Learning** and **Preview**. On the projectless **Courses** page,
163
+ which has no right-hand project pane, chat and lessons are stacked instead.
164
+
165
+ Working and Learning share one chat-collapse choice. Both modes use
27
166
  one retained session panel, so switching modes does not delete drafts or stop
28
167
  already admitted background work. A project that is still loading or failed
29
168
  keeps its original Working readiness gate while retaining the hidden panel.
@@ -33,48 +172,25 @@ original project through the usual access checks before showing it as ready.
33
172
  This does not restart stopped Working agents or outputs. Explicit project Close
34
173
  or deletion still leaves the project view; a missing runtime or revoked access
35
174
  is not treated as ordinary inactivity.
36
- The original Preview host offers **Lessons**, **App** when this session actually
37
- has a source-backed application, and **Presentation** after a declared diagram
38
- has been opened. A declared diagram can open from Lessons; hidden App controls do not remain
39
- interactive. Switching these views retains the App and diagram instances
40
- and the lesson picker within that host. Hidden diagrams pause; returning does
41
- not replay their motion or count as a completed lesson. If sound is off, use the
42
- presentation's **Continue** only after its explanation is ready. A supported
43
- narrated diagram waits for its confirmed final explanation and actual sound and
44
- motion completion. Hiding or stopping it does not count as completed teaching.
45
- If its cue receipt was not confirmed, read the current status before continuing;
46
- do not assume the explanation or motion succeeded.
47
- When Main opens a lesson diagram, keep that same browser open until its operation
48
- is confirmed. Main opens it in that lesson's **Presentation** pane; opening the
49
- Colleague drawer is not required. If the browser did not acknowledge navigation,
50
- keep the initiating conversation open and check its current status before
51
- requesting another operation. If Main already finished with that failure, its
52
- message remains saved; read its result and your saved lesson progress before
53
- asking it to continue. Do not resend that completed message to recover navigation.
54
- Stop or a replacement Learning conversation retires its old
55
- explanation; an old confirmation cannot complete a new one.
56
- Wait for Main to confirm that the diagram is ready before continuing its
57
- illustrated steps.
58
175
 
59
176
  The selected Learning conversation prepares the configured agent through the same
60
177
  Main readiness flow as Working. Preparation retains that saved conversation and
61
178
  checks your current access; it does not send your draft or begin teaching. An
62
179
  ended or inaccessible attempt cannot start agent preparation.
63
180
 
64
- Source-less Learning conversations show Lessons and omit App. A supported declared
65
- diagram can use the same Presentation player only in your exact saved lesson
66
- conversation; an empty picker or unavailable diagram cannot open it. This does
67
- not give the lesson repository, Save or Temporary AI/workspace access. A saved
68
- checkpoint does not mean a presentation is currently open. After a completed
69
- command or pause, the player saves its semantic state and labels. Reopening the
70
- same attempt restores its last confirmed state without replaying sound or motion.
71
- **Retry diagram checkpoint** retains an unconfirmed save identity; after a
72
- revision conflict, **Save current diagram** captures fresh state. Keep the player
73
- open until confirmation. Practice lesson diagrams save to that same lesson and
74
- Main conversation. A changed account, attempt or conversation retires its old
75
- handle; an error never grants a pass.
76
-
77
- If Start is unconfirmed, **Retry lesson start** keeps its original request
181
+ While a start is in progress, the Courses pane says **Starting the selected
182
+ lesson and preparing its practice project. Its teacher conversation opens when
183
+ this finishes.** Every **Start**, **Start next lesson** and **Start lesson**
184
+ button stays disabled until the request settles; the teacher conversation then
185
+ opens by itself. A practice project's Workspace setup can continue afterwards;
186
+ the lesson becomes ready by itself when setup succeeds, so you do not need
187
+ **Resume saved lesson** after a normal start (see
188
+ [Practice projects in standalone lessons](learning-practice-projects.md)). This
189
+ looks the same on desktop and phone. **Starting lessons is unavailable in this
190
+ installation** appears only when the installation cannot start lessons.
191
+
192
+ If Start is unconfirmed, the pane says **The last lesson start was not confirmed**
193
+ and a **Retry lesson start** button appears above it. It keeps its original request
78
194
  identity, lesson and revision. Do not substitute a different lesson request.
79
195
  An ended replay is history; it does not select a different current attempt. If
80
196
  opening the saved conversation is unconfirmed, the exact Start retry or Resume
@@ -90,37 +206,23 @@ Private provider key entry remains a human-only step. A diagram belongs to its
90
206
  original signed-in learner and Main conversation; changing accounts retires its
91
207
  display and pending reads rather than transferring it to the next person.
92
208
 
93
- To request teaching, open the exact saved Learning Main conversation and ask
94
- “Teach me this lesson.” Starting or resuming the lesson does not itself send that
95
- request. Main can use the lesson's declared diagrams in that same browser;
96
- Colleague remains available for general help and workspace supervision. Text
97
- teaching does not require voice, and private key entry remains your action.
98
-
99
- For a narrated diagram, keep the initiating browser and exact lesson conversation
100
- open until its operation is confirmed. Its explanation waits until Main has
101
- finished that turn. Stopping or interrupting an unfinished explanation prevents
102
- it from playing later when you ask a new question. With sound off, use
103
- **Continue** only after the explanation is ready. A visible diagram or saved
104
- state does not itself mean narration, motion or an assessment succeeded.
105
-
106
- Main confirms a diagram explanation from that turn's finished response before
107
- enabling **Continue**. Keep the same lesson and conversation open while it
108
- finishes. A stopped explanation or a response from a different turn cannot
109
- confirm the old diagram; read Main's current result before asking it to continue.
110
- The response may appear before **Continue** becomes ready; wait for its
111
- confirmation instead of resending that finished reply.
112
-
113
- If an operation is unconfirmed, read its current status before requesting a
114
- repeat. A reload or changed lesson/account cannot reuse an old cue confirmation.
115
- Switching the compact screen between chat and Preview retains the same active
116
- lesson; selecting a different session or account retires its old presentation.
117
-
118
- While a lesson’s narrated visual explanation awaits its final response, optional
119
- thinking and interim speech stay silent too. Your speech preferences remain saved;
120
- fresh confirmed replies use the same voice controls. This does not hide chat text.
121
-
122
- After Main finishes a Learning turn, **Lessons** refreshes the saved progress
209
+ An exercise's Main coding assistant can perform an explicitly requested setup
210
+ repair in that same practice session. Its commands recheck the saved lesson each
211
+ time, including after the opening request has finished. If the assistant starts a
212
+ command before **Send** finishes saving its receipt, that command waits for the
213
+ same send to finish, then checks the lesson again. **Stop** cancels a waiting
214
+ command. A failed send does not allow its waiting command to proceed. Ending the lesson prevents
215
+ new commands; retained status remains readable. If Workspace setup failed, inspect
216
+ the concrete diagnostic before **Retry**; a repair or successful setup is not a
217
+ learner answer or passed assessment. Colleague can explain and coordinate this
218
+ recovery but has no source-editing or shell access.
219
+
220
+ After Main finishes a Learning turn, **Courses** refreshes the saved progress
123
221
  for that same lesson. An owner’s author trial remains separate from ordinary
124
- lesson progress. If updates were disconnected, use **Refresh lessons** to read
222
+ lesson progress. If updates were disconnected, use **Refresh courses** to read
125
223
  the current saved results before choosing Start or Resume. The saved checkpoint
126
224
  question may already have been assessed; it is not a new unanswered question.
225
+
226
+ Related topics: [Answering a code question in a lesson](learning-code-questions.md),
227
+ [Watching a lesson step by step](learning-lesson-watch.md) and
228
+ [Lesson diagrams and voice](learning-diagrams-and-voice.md).
@@ -1,6 +1,6 @@
1
1
  # Main lesson conversations
2
2
 
3
- Use the yellow **L** plate and the existing **Lessons** pane to Start or Resume
3
+ Use the yellow **L** plate and the existing **Courses** pane to Start or Resume
4
4
  your saved lesson attempt. The same left Main conversation is the intended
5
5
  teacher; Colleague remains available for general application assistance. See
6
6
  [Choosing lessons and Learning conversations](learning-mode-ui.md) for the
@@ -123,10 +123,11 @@ for that access read; this does not retain permission for a later request. A cha
123
123
  lesson pin or installed exercise remains an error, and historical reading does
124
124
  not permit new practice work. A confirmed preparation refusal before admission keeps the
125
125
  message failed; after preparation is ready, use its **Retry** once to send the same
126
- saved request. If delivery is unconfirmed, use **Check delivery**; an unknown result
127
- is not permission to resend. If setup has finished but the lesson still shows
128
- preparing, use **Resume** for that saved lesson to confirm its preparation; do not
129
- start a replacement or change its pin.
126
+ saved request. If delivery is unconfirmed, use **Retry**; an unknown result
127
+ is not permission to resend. The lesson normally becomes ready by itself when
128
+ setup finishes. If setup has finished but the lesson still shows preparing, use
129
+ **Resume saved lesson** (or **Continue** on its course) to confirm its
130
+ preparation; do not start a replacement or change its pin.
130
131
  If preparation reports
131
132
  missing source, retain the attempt and resolve that failure before continuing;
132
133
  a conversation alone cannot replace the workspace. Existing conversations and
@@ -151,14 +152,15 @@ installation's supported connection/replacement recovery.
151
152
 
152
153
  ## A prepared practice lesson
153
154
 
154
- Start or Resume the saved lesson in **Lessons**, then select its Learning
155
- conversation in the same session list. Ask Main to teach that lesson. The
155
+ Start or resume the saved lesson in **Courses**. Its Learning conversation opens
156
+ by itself once the request is confirmed; otherwise select it in the same session
157
+ list. Ask Main to teach that lesson. The
156
158
  conversation belongs to the lesson’s prepared workspace; changing the visible
157
159
  Working project does not move it. Keep the existing attempt and history if its
158
160
  source is unavailable, and ask the owner to restore that saved workspace.
159
161
 
160
162
  Main can use a declared lesson diagram in **Presentation** when the installation
161
- supports it. **Lessons** returns to the picker; **Presentation** returns to the same
163
+ supports it. **Courses** returns to the Courses pane; **Presentation** returns to the same
162
164
  diagram. A confirmed diagram state is retained separately from an assessment pass.
163
165
  On a phone, use the existing conversation and Preview view controls to switch
164
166
  between the teacher and diagram.
@@ -174,7 +176,7 @@ console is read-only. On a phone, closing its full-screen log returns to the
174
176
  underlying view.
175
177
 
176
178
  The App remains attached to this lesson's saved workspace when you select another
177
- Working project. **Lessons** returns to the picker and **Presentation** returns
179
+ Working project. **Courses** returns to the Courses pane and **Presentation** returns
178
180
  to the lesson diagram. A visible app or successful Run does not by itself confirm
179
181
  a practical or pass an assessment; follow Main's actual practical instructions.
180
182
 
@@ -186,7 +188,7 @@ Save, manual command terminals or Workspace setup retry. Do not substitute a
186
188
  Working conversation to bypass the refusal. Colleague can explain the controls
187
189
  and help you recover; Main remains the lesson teacher.
188
190
 
189
- The App setup view retains the same lesson presentation handle and saved lesson identity. Switching between App, Lessons and Presentation does not switch to a working project. A changed account or saved lesson target retires that view; open the current Learning session again.
191
+ The App setup view retains the same lesson presentation handle and saved lesson identity. Switching between App, Courses and Presentation does not switch to a working project. A changed account or saved lesson target retires that view; open the current Learning session again.
190
192
 
191
193
  An accepted Claude teacher request keeps its own saved lesson, conversation and
192
194
  account while its answer continues, including after the Send request returns.
@@ -0,0 +1,71 @@
1
+ # Practise workspace controls and the application
2
+
3
+ For the workspace exercise, keep the same question open while you use the
4
+ controls yourself: open the project selector and choose the lesson's exercise
5
+ (the already selected project also counts), reveal its Main coding conversation
6
+ with the session tab or **Show chat**, then choose **Preview**. A different session
7
+ or temporary review conversation does not count; use its **Main chat** button
8
+ first. Wait for each view to finish opening.
9
+ Colleague can explain these steps, but its own navigation is a demonstration,
10
+ not evidence that you performed them.
11
+ For a question that asks you to change code, edit in **Dashboard → Files** and
12
+ press **Check my code** in the graduation-cap **Learning** option; see
13
+ [Answering a code question in a lesson](learning-code-questions.md).
14
+
15
+ Keep one delivered challenge and its question reference across all three steps.
16
+ The Main teacher may explain one substep at a time, but must not prepare a new question
17
+ between project selection, revealing its Main chat and Preview selection:
18
+ that replaces the challenge and resets its observation collection. On a phone,
19
+ receive the task before minimising Colleague; return after the steps and explain
20
+ what you did before assessment. The supported Main practical owner must acknowledge the actual accepted steps
21
+ and coach the next move; ordinary Colleague chat is not a grading path.
22
+ These collecting facts are not a completed observation or pass. Only the final
23
+ native step supplies `trainingPractical` for assessment.
24
+
25
+ For the return exercise, **Minimize conversation**, use the workspace, then
26
+ restore Colleague with its launcher. On phones, **Show project** / **Show chat**
27
+ toggle workspace / Main, not Colleague. Desktop drawer and phone full-screen retain
28
+ the session, speech, draft and exercise. Restore Colleague's actual body; another
29
+ assistant's voice panel does not count.
30
+
31
+ Native observation binds your clicked control and settled view to the delivered
32
+ question; it has no pass button. Unsupported observation leaves the practical
33
+ incomplete. If unconfirmed, repeat the step once ready; the workspace action was
34
+ not undone. Reload or question replacement may require repeating an unfinished
35
+ sequence. Separate verified assessment uses the pinned rubric and your explanation.
36
+
37
+ Observation retries retain the original gesture acknowledgement/step count;
38
+ conflicting details are rejected. Completion is an observation, not a pass.
39
+ After server restart repeat the sequence; workspace actions were not undone.
40
+ The question itself stays open across a restart or reload, so you repeat its
41
+ steps (or press **Check my code** again) without asking for a new question.
42
+ Demonstration/substantial help remains teacher-origin, not independent evidence.
43
+
44
+ Practical assessment requires both your native exercise receipt and accepted
45
+ explanation, never Main's substitute description. Demonstrations and failed
46
+ declared checks cannot earn a pass. Retry reads the saved result; another submission
47
+ cannot reuse the observation. Assessment is not a learner grading button or proof
48
+ of lesson completion.
49
+
50
+ ### Trying the real application
51
+
52
+ For the application practical, show **App preview**, press the application's
53
+ **Ask the server** button yourself, and read its greeting and request reference.
54
+ If the diagram is showing, switch back to App preview first. On a phone,
55
+ minimise Colleague so the real App is visible. Tell the Main teacher in ordinary words
56
+ what you pressed and what replied; a verified request alone does not replace
57
+ this explanation.
58
+
59
+ The lesson checks the visible App frame and real server response. Diagrams,
60
+ demonstrations, readiness signals and background responses are insufficient.
61
+ If App was hidden, the question changed or observation was unconfirmed, show the
62
+ same exercise and press again. After server restart, use **Reload preview** before
63
+ pressing. Original App/Preview controls remain; Colleague gets no source or screenshots.
64
+
65
+ Colleague can read the completed observation's exact identity through its normal
66
+ context query, then evaluate it with your accepted explanation. Missing or stale
67
+ observations require repeating the native task. A check reporting a verified
68
+ interaction is not itself a rubric pass, and demonstrated steps remain labelled
69
+ as demonstrated.
70
+
71
+ 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.
@@ -4,7 +4,7 @@ Main is the teacher in the selected saved lesson conversation. Colleague remains
4
4
 
5
5
  ## Choose the saved practice project and chat
6
6
 
7
- Turn on **Learning mode** with the yellow L. Start or resume the lesson through Lessons, then use **Practice project** to choose its already prepared saved workspace. This menu lists saved practice targets available to your current learner; it does not install or create another project. A source-less introductory lesson has no practice project entry.
7
+ Turn on **Learning mode** with the **L** button at the left of the header (full yellow while Learning is on). Start or resume the lesson through Courses, then use **Practice project** to choose its already prepared saved workspace. This menu lists saved practice targets available to your current learner; it does not install or create another project. A source-less introductory lesson has no practice project entry.
8
8
 
9
9
  Follow Main's current practical question. Choose the requested practice project yourself, then choose its saved Main session. Main stays visible in Learning mode. Press **App** in Preview when the question asks for the running application. These person clicks retain the selected saved lesson target. Automatic selection after Start or Resume does not count as an independent project-choice step. Answer Main after the actions; do not submit an explanation to Colleague instead. If you reload the page or return to a loaded lesson, wait for the current question and saved workspace to be ready, then carry out all its steps in that browser before sending your explanation.
10
10
 
@@ -22,6 +22,23 @@ Do not start a fresh Colleague conversation midway through this question. If Col
22
22
 
23
23
  A practical observation can fail while your workspace action remains applied. Repeat that step when the saved session and Preview are ready; do not assume the action was undone. If the learner, lesson target, frame or question changed, return to the intended saved lesson and follow Main's current question. A synthetic click, automatic navigation or an old reply is not practical evidence.
24
24
 
25
+ If you started polling from Colleague's eye button, the same trusted named click
26
+ can also update that watch after the workspace settles. The watch update and the
27
+ native practical receipt are separate: a watch notification is never practical
28
+ evidence, and a watch-delivery failure does not undo or invalidate a confirmed
29
+ native practical receipt. Colleague-performed navigation is labelled as a
30
+ demonstration. Pause or Stop polling independently of Main's current question.
31
+ When a watched step is confirmed—or its settle/response fails explicitly—the
32
+ watch may notify the same Main teacher after any current learner turn finishes.
33
+ Main can acknowledge meaningful progress or offer one bounded hint, but that
34
+ application update is not your answer or practical evidence. Repeating the same
35
+ unchanged step does not create repeated hints, and inactivity creates none.
36
+ The eye dialog and Colleague's start/read/pause/resume/stop requests control this
37
+ same watch. Its timestamps describe freshness, and its saved assessment outcome
38
+ is the only displayed result that can support lesson completion. Stop never stops
39
+ the app or Main. Actions inside the app that do not cross a declared exercise
40
+ response or named Vibe64 control cannot be observed by this polling mode.
41
+
25
42
  The teacher must genuinely finish delivering the question before practical observations can be accepted. A short preparation reply is not the question. Wait for Main’s full question even when it appears as a later reply in the same request. The original server checks the saved lesson pin, native delivery, declared check and your explanation; these controls do not mark a pass themselves. An unavailable exercise or teacher operation must be reported as unavailable instead of granting credit.
26
43
 
27
44
  Main grades your actual explanation alongside the server's description of your completed practical actions. The Helper checks both against the saved lesson rubric; it cannot perform missing steps for you. A saved **needs-review** result grants no pass. Ask Main about the missing evidence and use a fresh independent question when reassessment is appropriate; retrying a completed submission does not grade it again.
@@ -1,14 +1,18 @@
1
1
  # Practice projects in standalone lessons
2
2
 
3
- Some lessons need a practice application. Use the existing lesson **Start** or
4
- **Resume** control. If the installation reports that exercise preparation is
3
+ Some lessons need a practice application. In Learning → **Courses**, use
4
+ **Start**, **Start next lesson** or **Start lesson** for a new lesson, or
5
+ **Continue**/**Resume saved lesson** for your saved one (see
6
+ [Choosing lessons and Learning conversations](learning-mode-ui.md)). If the installation reports that exercise preparation is
5
7
  unavailable, keep the saved attempt and ask the owner to provide preparation
6
8
  support before retrying. That refusal means preparation did not start.
7
9
 
8
10
  Supported preparation uses the exercise bundled with your saved lesson and keeps
9
11
  its reserved practice project and session when you resume. Workspace setup may
10
- continue after the start request finishes. Pending or failed setup needs its
11
- existing recovery; it does not mean Preview is running or a practical has passed.
12
+ continue after the start request finishes. When that setup run succeeds, the
13
+ lesson becomes ready on its own; you do not need to press **Resume saved lesson**
14
+ first. Failed setup needs its existing recovery, then **Resume saved lesson**;
15
+ setup success does not mean Preview is running or a practical has passed.
12
16
  Standalone setup uses the installation's actual resources; it does not create a
13
17
  hosted development database by default.
14
18
 
@@ -17,10 +21,57 @@ storage intact and ask the owner to inspect the reported error. An unrelated
17
21
  Working project cannot replace this saved attempt's practice project.
18
22
 
19
23
  Colleague can explain the error and use supported lesson controls when asked.
24
+
25
+ In a practice lesson, **Preview** shows the practice app as soon as it
26
+ reports ready, including after the app starts while you are on the **Learning**
27
+ pane. **Stop preview** stops the practice app cleanly and keeps it stopped, even
28
+ after a reload, until you choose **Restart preview**. Switching between
29
+ **Preview**, **Dashboard** and the graduation-cap **Learning** option keeps the same running app without reloading it.
20
30
  Standalone exercise conversations in Learning, their Preview and practical
21
31
  assessment are still being integrated; prepared source alone does not make that
22
32
  complete flow available.
23
33
 
34
+ A local installation normally serves only the project you selected. It also
35
+ opens your own active lesson's practice project by its address (for example
36
+ when Colleague navigates there or you open **Account settings** from it): the
37
+ page, **Preview** and **Dashboard** load the same way as on a hosted workspace.
38
+ That address gives viewing and Preview control only; start new coding work from
39
+ the lesson in **Learning**. The lesson's own conversation stays in **Learning**:
40
+ the project's ordinary (Working) session list and settings do not show it. Another person's practice project, or a practice
41
+ address with no saved lesson behind it, still reports "Local editor mode only
42
+ serves the selected project."
43
+
44
+ ## Instructing your teacher-agent
45
+
46
+ In a lesson with a practice project, the teacher in the lesson's conversation is
47
+ also your Vibe64 agent for that project, as in normal Vibe64. Ask it to make a
48
+ change and it does the work in the practice project. It also teaches you to
49
+ instruct it well: say the goal, where the change belongs, and how you will check
50
+ it. Then check the result yourself in the real interface: **Preview**, and in the
51
+ lesson **Dashboard** the **Files**, **Current changes**, **Git log**,
52
+ **Architecture**, **Env** and **Database** → **ERD** views. These are the ordinary
53
+ Dashboard sections, limited to this practice project and lesson session; see
54
+ [Choosing lessons and Learning conversations](learning-mode-ui.md) for which
55
+ sections a lesson shows.
56
+
57
+ Work the teacher does for you is a demonstration. It never counts as your
58
+ practical evidence, and the teacher does not do a graded task for you before you
59
+ try it. When a lesson is about instructing the agent, your own explanation or
60
+ instruction is what is assessed.
61
+
62
+ While a code question is open, the teacher will not edit that question's files,
63
+ even if you ask; any agent edit there voids the attempt and **Check my code**
64
+ then reports that an independent attempt is needed. Make those edits yourself in
65
+ the lesson Dashboard's **Files** tool. The teacher also never deploys, publishes,
66
+ pushes to real remotes, changes Git remotes, or touches other projects or folders
67
+ outside this practice project. Lesson 0 and other lessons without a practice
68
+ project keep a conversation-only teacher that does no project work.
69
+
70
+ A lesson you started before Learning moved onto the real Vibe64 app picks up
71
+ the current teacher instructions with your next message. Its earlier replies may
72
+ still say **Workspace** or **Code tab**; those are the old names for the header's
73
+ **Preview** | **Dashboard** options and the Dashboard's **Files** section.
74
+
24
75
  Opening supported practice teaching retains the reserved initial conversation,
25
76
  source and history. An ownership or lesson-binding error needs owner inspection;
26
77
  do not create a replacement or switch it to an unrelated Working project. An
@@ -33,10 +33,10 @@ attempt. They do not change the working project or indicate that a different
33
33
  lesson has completed. If updates stop, check this same saved conversation before
34
34
  retrying a message; a refresh is not permission to send the message again.
35
35
 
36
- These action and storage prerequisites do not yet expose a complete lesson picker
37
- or Main teacher in every installation. They do not establish successful question
38
- delivery, assessment, speech or presentation. Use the installation's supported
39
- controls; an internal operation name is not a visible button.
36
+ Start and resume lessons from Learning → **Courses**; see
37
+ [Choosing lessons and Learning conversations](learning-mode-ui.md). Opening a
38
+ conversation does not establish successful question delivery, assessment, speech
39
+ or presentation. An internal operation name is not a visible button.
40
40
 
41
41
 
42
42
  ## Local editor availability
@@ -75,7 +75,7 @@ failed. The read addition alone does not establish that every installation has
75
75
  completed its visible Learning filter or teacher controls.
76
76
 
77
77
 
78
- ## Main chat transport: integration prerequisite
78
+ ## Main chat transport
79
79
 
80
80
  A supported Learning Main chat uses your actual saved attempt and authorized
81
81
  conversation, including its original Send, steering, Stop and goal behavior.
@@ -89,7 +89,7 @@ Learning chat updates belong to the exact attempt. Updates for another lesson or
89
89
  working project cannot enable its access, change activity or refresh its goal.
90
90
  If updates or access are unavailable, check the same saved attempt before
91
91
  retrying; refresh never proves failure or authorizes repeating a message. The
92
- same transport applies on desktop and mobile. Its prepared client integration
93
- does not yet prove the visible Main launcher, actual teaching, speech or visuals.
92
+ same transport applies on desktop and mobile. An open chat alone does not prove
93
+ actual teaching, speech or visuals.
94
94
  Colleague can explain the supported controls and offer the original actions; an
95
95
  offer does not authorize a new lesson or reset progress.