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,196 @@
1
+ # Connected contributions and saving
2
+
3
+ This continues [Configure connected projects](connected-projects.md): how prepared sources become contributions, how they are saved, revised and integrated.
4
+
5
+ Preparing a connected source records the creating user's Git identity for that
6
+ receiving session. You can inspect and save its contribution without first
7
+ opening an AI conversation there. GitHub access is still checked when used.
8
+
9
+ A connected session takes the name of the session it was prepared for: that
10
+ session's name, or its date when it has none yet. When the originating session
11
+ is renamed, its connected sessions follow at the next workspace preparation. If
12
+ you rename a connected session yourself, it keeps your name.
13
+
14
+ Allocating a connected contribution creates its receiving checkout without
15
+ automatically preparing that receiving project's own connections. The originating
16
+ project's Stack recipe prepares its directly connected sources. This prevents
17
+ automatic chains and cycles of extra contribution checkouts. A receiving session
18
+ can still be prepared separately when you deliberately work in that project.
19
+ If project A connects to B and B connects to A, preparing B's contribution creates
20
+ a new A contribution; it does not attach the original A session. Each preparation
21
+ owns its child contributions, and retry reuses those children. You cannot use
22
+ these controls to make two existing contributions wait for each other. Split a
23
+ shared library change from its consumer adaptation when they need separate
24
+ acceptance steps.
25
+
26
+ A connected contribution session saves to its own receiving-repository branch,
27
+ shown in the normal Save destination review. Its first Save creates that branch;
28
+ later Saves update the same contribution. The receiving project's main branch
29
+ is unchanged. Contribution submission does not require creating a pull request,
30
+ but the receiving repository's branch permissions still apply.
31
+
32
+ If the contribution was discarded, further work needs a new contribution. If both
33
+ active and discarded branches exist, resolve the interrupted discard first. A
34
+ missing branch after a publication attempt needs its retained exact revision and
35
+ receiving history checked; its absence alone proves nothing. An integrated
36
+ revision remains accepted after its branch is discarded or deleted. Explicit
37
+ Update can consume the proven accepted source, but further contribution pushes
38
+ cannot recreate that removed branch. Keep the checkout and ask the coding agent
39
+ to inspect uncertain saved work. After a lost acknowledgement, existing Save recovery can reconcile a
40
+ publication when the remote confirms its exact prepared commit.
41
+
42
+ To revise a discarded, unmerged contribution, return to the originating session
43
+ and press Save. Its refusal offers **Review replacement contribution**. Review
44
+ the repository, integration target and exact discarded commit, then choose
45
+ **Create replacement contribution**. The same controls are available on phones.
46
+ This creates a new receiving session and contribution ID, selects it for this
47
+ originating task and updates the development source map. It does not push anything.
48
+ Use **Open replacement session** to revise that source.
49
+
50
+ The replacement starts at the discarded commit. The old checkout, including
51
+ unsaved edits, remains intact; copy any wanted unsaved edits into the replacement
52
+ explicitly. The discarded branch remains available in Incoming changes. Old
53
+ submitted revisions remain integration requirements, and the replacement retains
54
+ their ancestry. Removing a connection or creating a replacement does not unblock
55
+ Main Save by itself.
56
+
57
+ After editing, run **Prepare workspace** in the originating project and restart
58
+ Preview so it uses the replacement. Use **Save connected first** to submit the
59
+ revision, merge it through the receiving project's Incoming changes, and Update
60
+ the replacement session to the accepted target before Main Save. If creation's
61
+ response is lost, retry the same confirmation: it reuses the reserved replacement.
62
+ After reloading or closing that dialog, **Prepare workspace** also resumes the
63
+ saved reservation. A changed review, revoked access or unavailable source stops
64
+ preparation with an error and preserves both sources. Colleague can review and
65
+ create a replacement through the same actions after an explicit request; it
66
+ cannot silently discard or move unsaved edits.
67
+
68
+ ## Keeping connected repositories current
69
+
70
+ Each workspace preparation of the consuming session also brings every connected
71
+ checkout up to the latest commit of its integration branch. That happens when
72
+ the session is created, after **Update this session (rebase)** and on **Prepare
73
+ workspace**. A session with connected repositories also shows **Update connected
74
+ repositories** in its session actions menu (**⋮** on a phone or narrow window).
75
+ It runs the same preparation.
76
+
77
+ The update uses the receiving session's normal **Update this session (rebase)**,
78
+ which carries that checkout's own changes, including unsaved edits, onto the
79
+ branch's latest commit. A checkout is left as it is while its agent is working,
80
+ while a Save or Update runs in it, while its published contribution still awaits
81
+ acceptance, or when the update would conflict with its changes. The preparation
82
+ output shows one line per repository: `[Connected] jskit updated to abc1234.`,
83
+ `[Connected] genesis is up to date.`, or `[Connected] vibe64 was not updated:`
84
+ followed by the reason. A conflict is recorded in the receiving session for review;
85
+ open that session in the receiving project to resolve it. Preparation continues
86
+ either way, and an updated checkout is prepared again before the consuming
87
+ session links it. Choose **Update connected repositories** again once the cause
88
+ is resolved. Colleague can run this preparation for the session on request and
89
+ report each line; it does not resolve a skipped checkout's work.
90
+
91
+ Main Save and pull-request creation check each connected repository's branch
92
+ live. If a connected checkout is behind, they stop with `<repository> is behind
93
+ <branch> by N commits. Choose Update connected repositories, check your work,
94
+ then Save.` This keeps saved and deployed work tested against the current
95
+ connected sources.
96
+
97
+ When a session has recorded submitted contributions, its normal Save checks those
98
+ exact revisions before publishing, including when the main repository has no new
99
+ file changes. If one is still pending, the error names the receiving repository,
100
+ contribution, revision and integration branch. Once all are accepted and the
101
+ selected sources are reconciled, a clean main repository reports no work to save. Open that
102
+ receiving project's **Incoming changes**, review and merge the contribution, then
103
+ open its connected contribution session and use **Update this session (rebase)**
104
+ to incorporate the accepted receiving source before retrying Main Save. This
105
+ matters when merge conflict repairs changed the accepted code. Save never performs
106
+ that update automatically. Discarding it or removing its connection does not satisfy the check.
107
+ An access or incomplete-history error requires fixing that cause and retrying;
108
+ Vibe64 does not infer a merge from a missing branch or a similar diff.
109
+
110
+ After a receiving contribution session completes normal renewal, connected
111
+ preparation and Save use its confirmed successor while retaining the same
112
+ contribution branch and integration requirements. An unfinished, missing or
113
+ mismatched handover blocks access instead of falling back to archived source.
114
+ Complete or recover the renewal in the receiving project, then run **Prepare
115
+ workspace** and restart the originating Preview to consume the new source path.
116
+
117
+ Archiving the originating session does not archive its connected sessions or
118
+ delete their incoming branches. Each receiving session has its own lifecycle.
119
+ Use **Stop preview** when you only want to stop a dependency's running app; this
120
+ keeps its source available to the originating project.
121
+
122
+ Avoid archiving a receiving contribution while another session still needs its
123
+ checkout. Archive preserves its commits, changed files, untracked files and
124
+ connection metadata through the existing recovery archive, then removes the live
125
+ checkout. The originating project reports unavailable source; it does not select
126
+ a different session or silently use an npm package. Use normal renewal when you
127
+ want a fresh conversation that continues the same contribution. If already
128
+ archived, retain the archive and ask the administrator to recover its source
129
+ through the existing archive facilities before preparing the originating project
130
+ again. Colleague can explain the error; it cannot substitute another checkout or
131
+ clear the integration requirement to make Save succeed.
132
+
133
+ After integration, the contribution session's existing update check follows the
134
+ receiving integration branch. Its Save destination remains the reserved incoming
135
+ branch; later edits become another contribution there. Main Save requires the
136
+ accepted target in the connected source's history, so a newer receiving target
137
+ can require another explicit Update. Rerun the originating project's workspace
138
+ preparation when its connected outputs need rebuilding, then verify the app.
139
+
140
+ A newer submitted revision needs its own integration. Later unrelated work on
141
+ the contribution branch does not block a revision already merged. Colleague can
142
+ explain a Save refusal and offer the supported receiving action, but must obtain
143
+ an instruction to merge or discard.
144
+
145
+ For prepared sources, the chat Save button changes to a branch icon labelled **Save connected
146
+ first** when connected work needs submission. It remains available when the main
147
+ checkout has no changes. Its confirmation lists receiving repositories and
148
+ contribution branches. Choose **Push connected contributions** to publish those
149
+ changes; the main project's changes stay local. The same controls work on phones.
150
+ The result lists confirmed pushes, including those completed before a later
151
+ failure. Review them in each receiving project's **Incoming changes**.
152
+
153
+ Once connected work is submitted, the button returns to its ordinary Save
154
+ appearance. Pending integration does not disable it: clicking reports the
155
+ receiving contribution that must be merged. New connected edits restore **Save
156
+ connected first**. A main-project PR policy does not require a PR for submitting
157
+ these contribution branches.
158
+
159
+ Colleague and API clients use the existing
160
+ work inspection and Save actions. When inspection returns
161
+ `connectedSaveRequired: true`, review every `connectedReview` destination and
162
+ pass that list unchanged with the main `destinationReview` to Save.
163
+
164
+ This saves one connected repository at a time: commit, push, record its commit,
165
+ then continue. It never pushes the main project in that action. A failure reports
166
+ the completed repositories and the repository that failed. Inspect and retry:
167
+ completed repositories without new changes are skipped. If publication succeeded
168
+ but recording failed, retry records the confirmed receiving commit without
169
+ republishing it. These commit records identify required integration, not a
170
+ separate retry ledger. Files and existing receiving Save recovery remain available.
171
+ Each receiver is checked again when its turn arrives, so new edits made while
172
+ an earlier repository was saving are included in the next receiver's Save.
173
+ If a push loses its acknowledgement, the exact remote commit can confirm it.
174
+ If the remote is unavailable too, publication stays unknown: restore repository
175
+ access and inspect work again. Recovery checks the original prepared commit
176
+ without another push, including after restarting the editor. Main Save remains
177
+ blocked while that outcome is unknown.
178
+ The same recovery checks a failed local update after a push. When Git proves
179
+ the attempt did not publish, its original rejection remains visible. A receiving
180
+ project with its own connected work must satisfy its own Save checks; this action
181
+ does not recursively publish further repositories.
182
+ If preparation fails before any push is attempted, fix the reported cause and
183
+ retry; the contribution's files and recovery checkpoint remain. A missing branch
184
+ after an uncertain push is still unknown, so Vibe64 does not recreate it merely
185
+ because it is absent.
186
+
187
+ After connected work is saved, omit `connectedReview` for ordinary Main Save.
188
+ Pending integration is reported by the existing exact-revision gate. New connected
189
+ work or unreconciled publication blocks Main Save; inspect and save/recover the
190
+ receiving session first. Colleague must review these destinations and have an
191
+ explicit Save instruction before publishing.
192
+ Main Save checks those sources again after preparing its commit, immediately
193
+ before pushing. If a receiving worktree, HEAD, or recorded saved commit changed,
194
+ inspect connected work and save it before retrying. This is a final snapshot
195
+ check, not a lock across projects; avoid editing connected sources while Main
196
+ Save is publishing, because changes after the final read belong to later work.
@@ -0,0 +1,196 @@
1
+ # Configure connected projects
2
+
3
+ If a receiving repository's status cannot be checked, the ordinary Main Save
4
+ control remains available. Save checks access and state again and reports the
5
+ blocker without pushing the main project. An unavailable status does not count
6
+ as a merged contribution.
7
+
8
+ Checking connected Save status can take longer on a busy development workspace
9
+ because it checks each receiving repository. Allow up to two minutes for the
10
+ check. If status remains unavailable, use Save to check again and read its
11
+ reported blocker; an incomplete check never publishes the main project.
12
+
13
+ The session badge shows **Unsaved changes** when a connected repository needs
14
+ publication, even if the main repository is clean. After connected Save succeeds,
15
+ the result lists the pushed commits. An empty progress card closes when the action
16
+ finishes; opened details with real output remain available until dismissed.
17
+
18
+ Open the intended project and session, then **Dashboard → Project settings →
19
+ Connected projects**. On phones, use **Show project** and **Dashboard section**
20
+ to reach Project settings. The list belongs to the displayed source checkout.
21
+
22
+ `vibe64.connections.json` is the only repository connection list. If it does not
23
+ exist, use **Add project**, then **Save connected projects** to create it. You can
24
+ also edit this tracked source file directly. Stack contains technology and generic
25
+ placement/treatment instructions, never repository identities or initial lists.
26
+ Opening Settings and preparing a workspace do not create or import this file.
27
+
28
+ For concurrent hosted tasks, configure each receiving project's **Project settings
29
+ → Development database → A separate database for each session** before opening
30
+ its sessions. **One database shared by this project** permits only one open
31
+ session unless **Allow multiple sessions with this shared database** is enabled,
32
+ including connected contributions and libraries with no database. With project
33
+ scope already selected, enable the override and choose **Save database choice**
34
+ without closing work; all sessions share data and the ordinary three-session cap
35
+ still applies. Then use workspace preparation **Retry**. Disabling the override
36
+ preserves existing sessions but blocks additional creation. Preparation never
37
+ archives existing work or changes this preference for you.
38
+
39
+ For each entry, provide a **Name**, a **GitHub repository URL**, and a
40
+ **Relationship**: Dependency for a library or tool; Composition for source
41
+ assembled into this project. Use an HTTPS URL without credentials. The same
42
+ repository cannot appear twice under different names. More projects can be
43
+ added later, up to 64 entries within a 64 KiB file. Oversized saves preserve the
44
+ current list; shorten the entries before retrying.
45
+
46
+ **Package type** is separate from Relationship. Choose **Stack default** to
47
+ inherit the consuming project's `Default package type`, or override it for this
48
+ connection with **npm (Node.js)**, **Composer (PHP)**, **pip (Python)**,
49
+ **Bundler (Ruby)**, **Go modules**, **Cargo (Rust)**, **Maven**, **Gradle**,
50
+ **NuGet (.NET)** or **custom**. The file stores `npm`, `composer`, `pip`,
51
+ `bundler`, `gomod`, `cargo`, `maven`, `gradle`, `nuget` or `custom`. Stack
52
+ default leaves `type` out of the file, so a later Stack default change still
53
+ applies.
54
+
55
+ Each language's Stack proposes its default: Node `npm`, PHP/Laravel
56
+ `composer`, Python `pip`, Ruby `bundler`, Go `gomod`, Rust `cargo`, Java
57
+ `maven`, Kotlin `gradle` and C# `nuget`; C/C++ and shell projects use `custom`.
58
+ A multi-language project's own `Connected development` section chooses one
59
+ default; override other connections individually. A type other than custom is a
60
+ declared label, not an installer: Vibe64 never runs Composer, pip or any other
61
+ package manager because of it. The consuming project's declared Prepare and
62
+ Verify commands read the type from the prepared source map and give the source
63
+ that ecosystem's treatment. Every such type requires at least one Verify command.
64
+
65
+ For **custom**, provide **Preparation script (project-relative)**, for example
66
+ `tooling/prepare-native-worker.mjs`. The script lives in the consuming project;
67
+ use a relative path outside `.git`, without `..`, absolute paths or backslashes.
68
+ Stack declares the script runtime and runner, for example:
69
+
70
+ ```markdown
71
+ - Custom runner with `nodejs` `cpp`: `node`
72
+ ```
73
+
74
+ The existing preparer appends the absolute script path, then `--phase`
75
+ (`prepare` or `verify`), `--source-root`, `--project-root`, `--sources-file` and
76
+ `--repository` with their values. The script must remain inside the consuming
77
+ project; preparation rejects missing files and symlinks that escape that root.
78
+ Only custom connections have a script. Choosing any other type disables
79
+ **Preparation script (project-relative)** and removes the script from the draft. Stack default may retain a script for a custom default, and workspace
80
+ preparation checks the effective type before running anything. The script must
81
+ handle both phases: prepare makes the development artifact available; verify
82
+ checks that the consuming app uses the selected source and exits nonzero on
83
+ failure. Keep generated development artifacts ignored by Git and preserve
84
+ release manifests and lockfiles. Vibe64 provides execution and failure reporting;
85
+ it cannot infer what a custom artifact means or prove it from a zero-exit no-op.
86
+
87
+ Use **Save connected projects** to write the complete list to
88
+ `vibe64.connections.json` in the selected source. You must be the project owner
89
+ and have write access to each receiving repository through your connected GitHub
90
+ account. The file is ordinary project source and follows normal project Save.
91
+ Saving this configuration does not commit, push, merge or deploy source.
92
+
93
+ In the standalone editor, the local project owner can use these controls without
94
+ a hosted account. A connected GitHub account still supplies repository access.
95
+
96
+ **Remove** removes an entry from the draft. Saving that removal does not delete
97
+ existing contribution source, branches or pending work. An empty saved list
98
+ remains authoritative.
99
+
100
+ If another edit changed the file, saving refuses to overwrite it. Review your
101
+ draft, use **Reload saved list**, and reapply the intended edits. A malformed
102
+ file needs repair by a coding agent or through Files; it is never silently
103
+ replaced. Missing GitHub write access requires the correct
104
+ connected account or repository permission. After an uncertain save, refresh and
105
+ inspect the current list before retrying.
106
+
107
+ Colleague can read this list or save explicitly requested changes
108
+ through the same actions. It preserves unrelated entries and uses the read
109
+ source session and revision. A how-to question does not authorize changes.
110
+ Account login and repository permission grants remain human-controlled steps.
111
+
112
+ The current configuration controls declare the connections. Source preparation,
113
+ connected-first Save and Incoming changes are separate facilities; configuration
114
+ success alone does not establish that those sources are ready or used by Preview.
115
+ GitHub receiving projects expose [Incoming changes](incoming-changes.md) in
116
+ Dashboard. This view reconstructs contributions from Git, independently of the
117
+ originating project's connection list.
118
+
119
+ For preparing sources, contribution sessions, Save connected work and integration, see [Connected contributions and saving](connected-contributions.md).
120
+
121
+ Development consumption belongs to the project's Stack declarations. Those
122
+ declarations must identify the connected source, where the task exposes it, how
123
+ the selected toolchain builds/uses it, and how to verify that selection. This
124
+ applies to mixed-language connections too: a Node application can use a connected
125
+ C executable or library. Choose **custom** for that connection's **Package type**. Package type is
126
+ independent of the consuming project's language and of relationship. **Stack
127
+ default** omits `type` in the repository file. The prepared source map records
128
+ the effective type of every entry. A project's commands decide how to treat each
129
+ type; for example, Node treatment requires a package manifest and excludes
130
+ custom entries even if they contain one.
131
+ Custom sources remain available to the project's build and execution commands. For a C program those commands must build it, expose its development
132
+ executable or library to the app, and verify the app uses that build. It need
133
+ not appear in `node_modules`. A cloned repository alone does not establish that
134
+ Preview or tests use its changes.
135
+ Use the existing **Prepare workspace** action (or its **Retry** action after a
136
+ failure). When Stack declares `Connected development`, preparation creates or
137
+ reuses the task's authorized contribution sources, writes the declared source
138
+ map, runs ordinary Workspace setup, then runs the connected Prepare and Verify
139
+ commands in order. Success requires those commands to succeed. If a non-custom
140
+ connection exists without a Verify command, preparation is blocked with
141
+ `vibe64_connected_verification_required` ("Declare a Verify command for the
142
+ connected pip packages."); add a Verify entry to Stack and use **Retry**. The preparation
143
+ identity includes both recipes and the exact task source selection; changing
144
+ that selection requires preparation again. Access is rechecked before each
145
+ command and when checking whether preparation remains current.
146
+
147
+ If a command reports that it requires an undeclared runtime, add that runtime
148
+ to the affected command in Stack and prepare again. Vibe64 and Online's own
149
+ Node composition checks declare both `nodejs` and `git`: Genesis inspects the
150
+ Git worktree while verifying the composed application. Do not bypass the managed
151
+ runtime restriction by adding host executables to PATH.
152
+
153
+ The initial consumption proof covers Node.js packages through `node_modules`:
154
+ two tasks use distinct sources, source edits reach only the intended task, and
155
+ an ordinary release installation retains its published dependency. PHP, Python,
156
+ Ruby, C/C++, C#, Go, Java, Kotlin, Rust and framework-specific consumption still
157
+ need their own declared commands and end-to-end proof; choosing their package
158
+ type only records intent. Installed language runtimes alone
159
+ do not establish connected-source support. A declaration alone does not prove
160
+ that Preview or tests consume the dependency.
161
+
162
+ For API clients, the explicit **Prepare connected sources** operation is
163
+ `POST /api/app/:slug/vibe64/sessions/:sessionId/connected/prepare`. It uses the
164
+ session's configured list and requires access to each registered receiving
165
+ project plus GitHub write access. The returned `prepared` entries identify the
166
+ receiving project/session and report source readiness and workspace setup.
167
+ Once every receiving source is ready, the operation writes the Stack's
168
+ `Sources file` and returns `development.status: "inputs-prepared"`. The JSON
169
+ file uses contract `vibe64.connected-sources.v1` and identifies the originating
170
+ session and each connected repository's exact source path and contribution ID.
171
+ Vibe64 excludes this generated file from Git locally; the portable connection
172
+ list remains unchanged. The consuming project's commands can read this map,
173
+ and **Prepare workspace** executes and verifies the complete recipe. This explicit
174
+ API operation only prepares inputs; `inputs-prepared` does not mean its commands
175
+ have run.
176
+
177
+ The source-map location must be a development-only, project-relative file.
178
+ Vibe64 refuses to overwrite tracked files, symbolic links, unrelated content or
179
+ another session's map. If this check fails, preserve the file, choose another
180
+ `Sources file` location in Stack and retry. A missing or invalid Connected
181
+ development declaration also requires correcting Stack before retrying; the
182
+ already-created receiving sources remain available.
183
+ An internal readiness check can recheck receiving access and compare the map
184
+ with the task's saved bindings without changing files. The workspace runner uses that check before running
185
+ commands and before accepting cached preparation. `inputs-prepared` still does
186
+ not mean the Stack's development commands have run.
187
+ After failure or a lost response, retry the same originating session: its saved
188
+ reservation prevents duplicate source creation. A failure retains the earlier
189
+ `prepared` entries and identifies the receiving repository that failed. If an
190
+ entry reports `sourceReady: false`, open that receiving session and use its
191
+ source recovery controls before retrying; preparation does not replace the
192
+ failed checkout with a fresh one. Missing registration requires
193
+ setting up the receiving project first; mismatched saved authority requires
194
+ inspection and reconciliation. Use the existing workspace preparation controls for the full recipe. Colleague
195
+ can explain the process and offer supported preparation actions; it must not
196
+ claim successful preparation from a declaration or an input-map response alone.
@@ -16,7 +16,7 @@ After recovery is confirmed:
16
16
  1. Reload the page and reopen the same project, session and Main chat.
17
17
  2. Read the saved reply and status. Reopening does not send another request.
18
18
  3. Select **Send** with a new continuation when ready. If an earlier request has
19
- unknown delivery, use its existing **Check delivery** before deciding to resend.
19
+ unknown delivery, use its existing **Retry** before deciding to resend.
20
20
 
21
21
  These steps are the same on desktop and phone. Changing accounts or models is
22
22
  not a substitute for checking an uncertain request. Keep the intended account and
@@ -24,9 +24,75 @@ model unless you deliberately want to change them. If the context error returns,
24
24
  report the session and exact error to the operator rather than deleting history
25
25
  or repeatedly submitting more work. Never paste API keys into chat.
26
26
 
27
+ Claude may show **Pending** while starting its native process after a restart.
28
+ Keep the same conversation open and let that submission settle; a long saved
29
+ history is not a reason to create a replacement chat. If startup fails, use the
30
+ failed message's **Retry** after the reported problem is resolved. Colleague can
31
+ explain the status and recovery controls on desktop and phone.
32
+ For a recurring startup delay, give the operator the session and approximate
33
+ send time. Startup diagnostics separate process launch, initialization request,
34
+ completed input write and response arrival without recording the message body.
35
+ Colleague can explain this recovery path; inspecting server diagnostics requires
36
+ the operator's access.
37
+ Managed Claude conversations use Vibe64's Git workflow without Claude's automatic
38
+ startup Git snapshot or built-in commit/PR instructions. Agents can still inspect
39
+ current changes through the ordinary managed Git tools when the task needs them;
40
+ Save and publication keep their existing controls and permissions.
41
+
27
42
  Project guidance can change while Codex is working. The current turn keeps its
28
43
  installed instructions; the next idle admission reads the latest guidance without
29
44
  interrupting healthy work. Preparing that guidance does not consume the separate
30
45
  native-control timeout. If a connection error still appears, read the saved reply
31
46
  and check any uncertain delivery before sending new work; do not assume the model
32
47
  failed or repeat a request whose outcome is unknown.
48
+
49
+ ## Attach files
50
+
51
+ Use **Add to message** or drop/paste files into the conversation. Each file may
52
+ be up to 500 MiB. Wait for its upload to finish before sending; an oversized
53
+ file remains marked as failed so you can remove it and choose a smaller file.
54
+ For a directory, upload an archive through Files → Session Dropzone. Uploading
55
+ does not itself send a message. Colleague can explain these steps; choosing a
56
+ file from the person's computer requires their interaction.
57
+
58
+
59
+ ## Change AI while keeping the discussion
60
+
61
+ In Main chat, select the intended AI with the existing assistant controls, then
62
+ send your next message. Ordinary Claude and Codex conversations receive the
63
+ visible discussion up to the selected destination's available normal context.
64
+ Reasoning is excluded. This transfer keeps original message text and attribution;
65
+ it does not create a summary or change the saved chat.
66
+
67
+ If the history is too large, the oldest complete transferred messages are omitted
68
+ first. Returning to an existing AI sends missed or corrected messages within the
69
+ remaining allowance. The transfer reserves a small working space (5% of the
70
+ usable window, at least 32,768 tokens) and does not enable an
71
+ extended context window or change model settings. Carrying more history can still
72
+ increase input usage and cost.
73
+
74
+ When Claude's own memory is nearly full, Vibe64 first summarises it
75
+ automatically — the same compaction Claude performs on its own — and then sends
76
+ the missed messages that fit. The chat shows **Summarising the assistant's
77
+ memory before sending…** while this happens, which can take a minute or two;
78
+ keep the page open. Nothing in the saved chat changes.
79
+
80
+ If summarising fails, or even after it there is no room left, a **Not enough
81
+ room** dialog explains the problem and the message is not sent. Select
82
+ **Summarise and continue** to try again, or **Close** and choose another
83
+ assistant with the existing assistant controls. An unavailable usage reading also
84
+ stops delivery before sending; retry after reconnecting the assistant. If a
85
+ message instead reports uncertain delivery, use its existing **Retry**, which
86
+ checks the original receipt without rebuilding or duplicating the request.
87
+ These steps are the same on desktop and phone. Colleague can explain this dialog;
88
+ selecting its buttons requires the person's interaction.
89
+
90
+ This policy concerns ordinary Main chat. Learning's tool-bound context, temporary
91
+ chat context copying and Colleague's own history policy are separate.
92
+
93
+ While Claude is working, you can send a follow-up to steer the same conversation.
94
+ Updated project guidance is applied when a later turn starts idle; it must not
95
+ block an ordinary follow-up or restart active work. Account changes and explicit
96
+ model settings still use their existing checks. If a message shows an error,
97
+ keep its text and use **Retry** after the reported problem is resolved; a failed
98
+ message does not mean Claude has stopped its previous task.
@@ -2,29 +2,103 @@
2
2
 
3
3
  Open a project and select **Dashboard** beside **Preview**. The Dashboard provides
4
4
  the available session and project tools, including Files, Changes, Database,
5
- Subsystems, AI Terminal, Project settings, Env, App access, Integrations, Issues
5
+ Architecture, AI Terminal, Project settings, Git log, Env, App access, Integrations, Issues
6
6
  and Pull requests. Availability depends on the selected session, host and permissions.
7
+ On desktop the section list is grouped: tools under the **Project** label come first,
8
+ then a **Session** label with the selected session's name and its tools. The
9
+ highlighted pill marks the open section, and each page's header repeats that
10
+ section's icon and title with a one-line description and its actions.
7
11
 
8
12
  On mobile, **Show project** reveals the project from chat. Use **Dashboard section**
9
13
  to choose a tool and **Back to dashboard** to return from its detail. **Show chat**
10
14
  returns to the coding conversation. Preview and Dashboard retain their own selected
11
15
  state when hidden; leaving the preview does not stop its application.
12
16
 
13
- Files provides **Repo** for source and **Drop Zone** for exchanging files with the
14
- selected session. Choose an area to browse its folders and files; searching is
17
+ The left-arrow **Back to dashboard** control has the same appearance in
18
+ Architecture, Current changes, Files, Database, Issues and Pull requests, including
19
+ the same readable text size on phones. Issue actions wrap below it when space is
20
+ limited. Use
21
+ Tab to focus it and Enter to activate it. Files and Database opened from
22
+ Architecture instead show **Back to Architecture**, returning to that view.
23
+ Inside an individual issue or pull request, the same control says **All issues**
24
+ or **All pull requests** and returns to its list.
25
+
26
+ **Git log** is in the project section above the active session's tools. Open it
27
+ to review saved commits and their file differences. **Current changes** remains
28
+ with the selected session. If Git log offers a session update or reconciliation,
29
+ that action applies to the selected session; opening the log does not change files.
30
+ The same **Git log** label appears in the mobile **Dashboard section** chooser.
31
+
32
+ Files provides **Repo** for source and **Session Dropzone** for exchanging files with the
33
+ selected session, plus **Project Backups (2w retention)** shared by all sessions
34
+ of the project. Choose an area to browse its folders and files; searching is
15
35
  optional. The workspace owner also sees the read-only **Session** area.
16
36
  Access follows the signed-in account; changing a link cannot select another role.
17
37
  Changes shows the session's source changes. AI Terminal shows the coding agent's
18
38
  native terminal; an enlarged terminal has **Exit full screen**. This leaves it
19
- running, while **Close terminal** stops that terminal. Subsystems presents the
20
- project's declared structure; asking the coding agent to investigate or update it
39
+ running, while **Close terminal** stops that terminal. Architecture presents the UI storyboard and Engine dependency layers on one
40
+ pannable, zoomable sheet, with registered routes on web cards; asking the coding
41
+ agent to investigate or update it
21
42
  is separate from opening the view. Do not mistake an unavailable/loading tool for
22
43
  an empty successful result.
23
44
 
45
+ In a practice lesson (Learning mode), **Dashboard** is this same Dashboard for the
46
+ lesson's practice project and lesson session. It shows **Git log**, **Env**,
47
+ **Session History** and **Health**, and the session tools **Session info**,
48
+ **Current changes**, **Files**, **Database** and **Architecture**; all of them
49
+ read and change only the lesson's practice project. Git log and Current changes
50
+ are read-only there (no update, check or save buttons), Env offers no secret
51
+ **Reveal**, and the Database Copilot and Architecture **Ask** are off. **Project
52
+ settings**, **Integrations**, **App access**, **Incoming changes**, **Issues/PR**
53
+ and **AI Terminal** are not shown in a lesson; opening one of their addresses
54
+ shows **Env** instead. Moving between Dashboard sections keeps Learning mode on.
55
+ See [Choosing lessons and Learning conversations](learning-mode-ui.md).
56
+
24
57
  Colleague can open supported views in your initiating browser and wait for the
25
58
  actual selection before reporting success. Ask “Show me Database for this session”
26
59
  or “Open Project settings”. It can explain visible controls using its guides.
60
+ During an active lesson, ask it to show that lesson project's normal **Preview**
61
+ or **Database → ERD** without leaving Learning; that project tab becomes selected and
62
+ Main remains the teacher. The bound Main teacher can reveal the same Preview or
63
+ ERD for its exact attempt, or—by default—point at the real tab or Dashboard section
64
+ (Database, Files, Current changes, Git log, Session info, Architecture) with a
65
+ short ring and caption so you click it yourself. A changed project, session, attempt or browser is
66
+ refused instead of being silently retargeted. Agent navigation is a demonstration,
67
+ not proof that the learner used the control.
68
+ If you directly ask Colleague to “Watch me while I do this,” it starts the same
69
+ Learning poller shown by the eye button. The poller can report only named Vibe64
70
+ navigation controls, declared exercise responses and saved lesson state—not SQL
71
+ contents, arbitrary app-internal activity, screenshots or typed text. Ask how it
72
+ works for an explanation without starting it. Pause, Resume and Stop act on the
73
+ same watch ID; Stop does not stop Preview, Main or the lesson.
27
74
  Code, file, terminal and visual investigation belongs to a coding conversation;
28
75
  Colleague can ask that agent and relay its result, but cannot itself read source,
29
76
  execute a shell command or inspect the screen. A navigation request does not
30
77
  authorize editing source, stopping work or changing settings.
78
+
79
+
80
+ In **Files → Project Backups (2w retention)**, use **Upload**, drag files into the
81
+ folder, or choose **New folder**. Open a text file to edit it and choose **Save**;
82
+ use its menu for **Rename** or **Delete**, and **Download** to keep a permanent
83
+ copy. The same controls are available in Session Dropzone. On phones, file
84
+ browsing and editing share the pane and secondary actions are in the file menu.
85
+ Confirm **Delete** to remove the selected item; **New folder** creates an empty
86
+ folder in the currently displayed directory.
87
+ Uploads accept individual files up to 500 MiB; use a zip to exchange a directory.
88
+
89
+ Project Backups is an ordinary directory outside Git. The coding agent can put
90
+ files there using its supplied path; **Copy AI path** lets you refer to that same
91
+ directory. Switching, renewing or archiving a session does not remove the
92
+ project's backups. Every file displays an expiry date. Hosted daily maintenance
93
+ deletes files after 14 days without a write or filesystem change; a newly copied
94
+ file gets a fresh window even if it preserves an older modification date. Download
95
+ anything you want to retain permanently. This folder does not automatically
96
+ snapshot your project. Session Dropzone is temporary and disappears when its
97
+ session is successfully archived.
98
+
99
+ Colleague can explain these controls and open Files. Ask the coding agent to
100
+ create or inspect backup files; Colleague itself has no filesystem or shell
101
+ access. If a backup operation reports busy, wait for the current upload or
102
+ maintenance to finish and retry. Symbolic links are not browsable or cleaned
103
+ automatically. Workspace upgrade recovery copies remain private operator data
104
+ and are not exposed in the project's backup folder.
@@ -69,6 +69,17 @@ Colleague can explain these views, inspect authorized status, refresh schema
69
69
  metadata, open a specific view or exact table, and request cancellation of the
70
70
  identified active query when asked. It acknowledges actual view/table selection;
71
71
  that is not proof a query succeeded. It does not receive rows or write SQL itself.
72
+ In a practice lesson, **Dashboard → Database** (a session tool of the lesson's
73
+ ordinary Dashboard) shows the practice app's ERD, tables and data. It is
74
+ editable like any project's database: cell edits, **Add row**, row deletion,
75
+ confirmed data-changing SQL, snippets and ERD arrangement work as described
76
+ above and change only that lesson's practice database. The database
77
+ **Copilot** is not available there; ask your lesson teacher instead. See
78
+ [Choosing lessons and Learning conversations](learning-mode-ui.md).
79
+ For an active supervised lesson, Colleague or its bound Main teacher can reveal
80
+ the exact exercise session's **ERD** in **Workspace** while Learning stays on.
81
+ The initiating browser must confirm the same project, session and attempt; this
82
+ teacher demonstration never counts as the learner's own ERD task or a pass.
72
83
  Ask it to send database investigation or a requested change to a coding conversation
73
84
  and report the evidence. Data-changing work retains its existing confirmation
74
85
  requirements; a how-to question alone authorizes no query or mutation.