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.
- package/bin/run.js +1717 -1648
- package/bin/server.js +81 -68
- package/bin/upgrade-state.js +5438 -5189
- package/dist/assets/{GithubBrowserTabs-2bEGbRAs.js → GithubBrowserTabs-DO5PHon-.js} +1 -1
- package/dist/assets/GithubMarkdown-BQ6MfCDJ.js +3 -0
- package/dist/assets/GithubMarkdown-U7-j-qNI.css +1 -0
- package/dist/assets/StudioErrorNotice-sQfmeR-z.js +1 -0
- package/dist/assets/VAlert-P256xaE0.js +1 -0
- package/dist/assets/VAutocomplete-BDb95qJX.js +1 -0
- package/dist/assets/VAvatar-9ilDR2r2.css +1 -0
- package/dist/assets/VAvatar-DPzqDH4r.js +1 -0
- package/dist/assets/VBtn-B2MBK2DL.js +1 -0
- package/dist/assets/VCard-mXy0k4aS.js +1 -0
- package/dist/assets/VCheckbox-C7A1ZW4D.js +1 -0
- package/dist/assets/VChip-CcI-Oo2J.js +1 -0
- package/dist/assets/VDialog-Bu3EfKb1.js +1 -0
- package/dist/assets/VDivider-BMEqUoAB.js +1 -0
- package/dist/assets/VExpansionPanels-Dgjrop0V.js +1 -0
- package/dist/assets/VMenu-C_x18lwb.js +1 -0
- package/dist/assets/VOverlay-CeMZurIN.js +1 -0
- package/dist/assets/VRadioGroup-CUu2-KIP.js +1 -0
- package/dist/assets/VRow-Cpw7OHQV.js +1 -0
- package/dist/assets/{VSelect-DY-ZuBJJ.js → VSelect-DL3HaA5m.js} +1 -1
- package/dist/assets/VSheet-DZWsu0kL.js +1 -0
- package/dist/assets/VSkeletonLoader-CttxM1tw.js +1 -0
- package/dist/assets/VSpacer-Dhmsvk4t.js +1 -0
- package/dist/assets/{VSwitch-Bm1bwl2V.js → VSwitch-BRHeDJkH.js} +1 -1
- package/dist/assets/VTextField-BR2eZeFT.js +1 -0
- package/dist/assets/VTextarea-DbqamXJd.js +1 -0
- package/dist/assets/Vibe64AsyncModuleState-Dx7YKRPp.js +1 -0
- package/dist/assets/Vibe64DashboardBackButton-DD9UR77P.css +1 -0
- package/dist/assets/Vibe64DashboardBackButton-yE6cyYg2.js +1 -0
- package/dist/assets/Vibe64DashboardPageHeader-BXQR00HK.js +1 -0
- package/dist/assets/Vibe64DashboardPageHeader-Gm1IvlHx.css +1 -0
- package/dist/assets/Vibe64DashboardShell-CuCVMhOc.js +1 -0
- package/dist/assets/Vibe64DashboardShell-MBkUHjs-.css +1 -0
- package/dist/assets/Vibe64DatabaseWorkspace-BONJdxBS.js +18 -0
- package/dist/assets/{Vibe64DatabaseWorkspace-C39Jvver.css → Vibe64DatabaseWorkspace-CR4pzzcf.css} +1 -1
- package/dist/assets/Vibe64OutputControls-DAAmA09l.js +8 -0
- package/dist/assets/{Vibe64OutputControls-CsZFv12r.css → Vibe64OutputControls-DPBsyDZM.css} +1 -1
- package/dist/assets/{Vibe64RepositoryWorkspace-ebUaYOU4.js → Vibe64RepositoryWorkspace-ByQlZbyO.js} +2 -2
- package/dist/assets/{Vibe64RepositoryWorkspace-Cqm6TOFk.css → Vibe64RepositoryWorkspace-CVHcT93M.css} +1 -1
- package/dist/assets/Vibe64SessionFiles-B0u9HKdF.js +107 -0
- package/dist/assets/Vibe64SessionFiles-NjOMVwPR.css +1 -0
- package/dist/assets/Vibe64TemporaryAiFixAction-BGlcrq4d.js +1 -0
- package/dist/assets/Vibe64UiStoryboardView-3WXph5bz.css +1 -0
- package/dist/assets/Vibe64UiStoryboardView-Brlwdvqi.js +7 -0
- package/dist/assets/Vibe64UnavailableSessions-zwlWlcZD.js +1 -0
- package/dist/assets/_sessionId_-CvOkQbVy.js +1 -0
- package/dist/assets/{_sessionTool_-B39BIzzZ.js → _sessionTool_-Dwod5ns9.js} +1 -1
- package/dist/assets/_slug_-B31c15cc.css +1 -0
- package/dist/assets/_slug_-Dy35qLo1.js +1 -0
- package/dist/assets/access-BVu5XYm2.js +1 -0
- package/dist/assets/app-DRXCcv05.css +1 -0
- package/dist/assets/app-zt7HwQKT.js +1 -0
- package/dist/assets/assistantRouting-CwbwfkwB.js +3 -0
- package/dist/assets/{changes-ByjS7QGx.js → changes-olY8cnFK.js} +1 -1
- package/dist/assets/{client-C-tpoG6F.js → client-BrV4QPwG.js} +1 -1
- package/dist/assets/createSimpleFunctional-CZTGuNuR.js +1 -0
- package/dist/assets/dashboard-BnXD-H4R.js +1 -0
- package/dist/assets/definitions-DaOPIkyB.js +1 -0
- package/dist/assets/env-DJhnLOH7.css +1 -0
- package/dist/assets/env-DN0vW4EI.js +1 -0
- package/dist/assets/{error-DFKtZBJ8.js → error-DgrgRbJJ.js} +1 -1
- package/dist/assets/{error-DE4zo8Lk.js → error-Dug56can.js} +1 -1
- package/dist/assets/health-7oIQODer.css +1 -0
- package/dist/assets/health-Z6m96GDr.js +1 -0
- package/dist/assets/history-BOwbCRQP.css +1 -0
- package/dist/assets/history-BxlpB-YH.js +1 -0
- package/dist/assets/incoming-BOxRVlOM.js +2 -0
- package/dist/assets/incoming-DWDrmxyH.css +1 -0
- package/dist/assets/index-BUq-MczL.js +86 -0
- package/dist/assets/{index-D4MsP3dq.css → index-DtmBqE3h.css} +1 -1
- package/dist/assets/{integrations-B4txOZfY.js → integrations-BFltGDVI.js} +1 -1
- package/dist/assets/issues-1iS5zoed.js +1 -0
- package/dist/assets/issues-XnpGgdmn.css +1 -0
- package/dist/assets/layout-BkWVNT37.js +1 -0
- package/dist/assets/lazy-NHSwD9FS.js +1 -0
- package/dist/assets/mdi-C54lQ0i_.js +1 -0
- package/dist/assets/{pages-BW2l8fNe.js → pages-DuMgH61T.js} +1 -1
- package/dist/assets/{placement-JxzrmUR3.js → placement-CwTqWLQH.js} +1 -1
- package/dist/assets/placement-DLsU3pCW.js +1 -0
- package/dist/assets/pull-requests-BJOwNL4k.js +1 -0
- package/dist/assets/pull-requests-CdbhyFOv.css +1 -0
- package/dist/assets/{repository-BTC3lkrh.js → repository-JWLVST3D.js} +1 -1
- package/dist/assets/{VAvatar-CAFvgSUo.js → ripple-BVltMmyV.js} +2 -2
- package/dist/assets/ripple-DqhAt1Ze.css +1 -0
- package/dist/assets/runtime-core.esm-bundler-DGXg_mpN.js +3 -0
- package/dist/assets/{session-CG-TUCJt.css → session-5qADMzDP.css} +1 -1
- package/dist/assets/session-C5Nj8Dlq.js +1 -0
- package/dist/assets/settings-BopLnpB0.css +1 -0
- package/dist/assets/settings-c273Ikrm.js +1 -0
- package/dist/assets/ssrBoot-Rlh6kLbD.js +1 -0
- package/dist/assets/{studioGateApi-C0GvzVlt.js → studioGateApi-DhA9IJGZ.js} +1 -1
- package/dist/assets/{studioUrls-CIab-Axb.js → studioUrls-Dj8rXeXO.js} +1 -1
- package/dist/assets/{useApi-BPuI6ZR9-Dr8wK_Co.js → useApi-BPuI6ZR9-CFWU1m37.js} +1 -1
- package/dist/assets/useArchivedVibe64Sessions-CVZx2Rtm.js +1 -0
- package/dist/assets/useCommand-DWuxfAV0.js +1 -0
- package/dist/assets/useEndpointResource-MWVNfmMa.js +1 -0
- package/dist/assets/{usePaths-DVTieF_G.js → usePaths-Db88-HOm.js} +1 -1
- package/dist/assets/{useUiFeedback-Tzi-PRlX.js → useUiFeedback-0FqKuZRP.js} +1 -1
- package/dist/assets/useVibe64ConversationLog-8cKh1eDm.js +1 -0
- package/dist/assets/useVibe64DatabaseTools-BcRG1s3i.js +1 -0
- package/dist/assets/useVibe64LearningMode-Bl0dGdCh.js +28 -0
- package/dist/assets/useVibe64LearningMode-C3PcXdVg.css +1 -0
- package/dist/assets/useVibe64ProjectScope-DOEVkBqX.js +1 -0
- package/dist/assets/useVibe64SessionData-DFTyLzci.js +1 -0
- package/dist/assets/useVibe64SessionSelection-j9lsllx4.js +1 -0
- package/dist/assets/useVibe64SystemGraph-tNkIwSBQ.js +1 -0
- package/dist/assets/{useVibe64Terminal-C2XJ9Y1K.js → useVibe64Terminal-BPnN25WH.js} +1 -1
- package/dist/assets/vibe64AssistantHost-DdE_-lZF.js +1 -0
- package/dist/assets/vibe64LessonDashboard-DlKYjisq.js +1 -0
- package/dist/assets/vibe64ProjectScope.local-DqT6e5un.js +1 -0
- package/dist/assets/vibe64RepositoryRealtime-DXk0Jai3.js +1 -0
- package/dist/assets/vibe64SessionFocus-OJ2toBd9.css +1 -0
- package/dist/assets/vibe64SessionFocus-kqPOPaOH.js +1 -0
- package/dist/assets/{vibe64SessionInfo-D8l22MFm.js → vibe64SessionInfo-BHxtTrLX.js} +1 -1
- package/dist/assets/vibe64SessionToolDefinitions-NfLd1HZI.js +1 -0
- package/dist/assets/vue-flow-core-BlVEnES8.js +26 -0
- package/dist/index.html +51 -48
- package/docs/colleague-usage/account-profile-and-appearance.md +29 -0
- package/docs/colleague-usage/ai-accounts-and-routing.md +23 -4
- package/docs/colleague-usage/ai-balance-and-allowance.md +4 -0
- package/docs/colleague-usage/architecture-explanations.md +99 -0
- package/docs/colleague-usage/auto-workflow.md +49 -11
- package/docs/colleague-usage/coding-agent-failures.md +94 -0
- package/docs/colleague-usage/coding-agent-goal-pause.md +110 -0
- package/docs/colleague-usage/coding-agent-goals.md +140 -38
- package/docs/colleague-usage/coding-agent-history.md +20 -2
- package/docs/colleague-usage/coding-agent-recovery.md +136 -0
- package/docs/colleague-usage/coding-agents.md +138 -150
- package/docs/colleague-usage/colleague-recovery.md +28 -5
- package/docs/colleague-usage/colleague-upgrade-recovery.md +4 -0
- package/docs/colleague-usage/colleague-watches.md +84 -0
- package/docs/colleague-usage/colleague.md +18 -34
- package/docs/colleague-usage/connected-contributions.md +196 -0
- package/docs/colleague-usage/connected-projects.md +196 -0
- package/docs/colleague-usage/conversation-context.md +67 -1
- package/docs/colleague-usage/dashboard-navigation.md +79 -5
- package/docs/colleague-usage/database.md +11 -0
- package/docs/colleague-usage/developing-vibe64.md +137 -0
- package/docs/colleague-usage/development-copies.md +20 -0
- package/docs/colleague-usage/development-env.md +34 -0
- package/docs/colleague-usage/file-interfaces.md +156 -0
- package/docs/colleague-usage/github-work.md +88 -1
- package/docs/colleague-usage/health-checks.md +32 -0
- package/docs/colleague-usage/incoming-changes.md +94 -0
- package/docs/colleague-usage/learning-chat-retention.md +11 -2
- package/docs/colleague-usage/learning-code-questions.md +55 -0
- package/docs/colleague-usage/learning-course-catalogue.md +118 -0
- package/docs/colleague-usage/learning-diagrams-and-voice.md +97 -0
- package/docs/colleague-usage/learning-history.md +17 -9
- package/docs/colleague-usage/learning-lesson-watch.md +95 -0
- package/docs/colleague-usage/learning-mode-ui.md +187 -85
- package/docs/colleague-usage/learning-native-session.md +12 -10
- package/docs/colleague-usage/learning-practical-exercises.md +71 -0
- package/docs/colleague-usage/learning-practical-gestures.md +18 -1
- package/docs/colleague-usage/learning-practice-projects.md +55 -4
- package/docs/colleague-usage/learning-session-creation.md +7 -7
- package/docs/colleague-usage/learning-teacher-guide.md +52 -0
- package/docs/colleague-usage/learning-with-colleague.md +59 -80
- package/docs/colleague-usage/lesson-authoring.md +12 -4
- package/docs/colleague-usage/lesson-practical-assessment.md +3 -1
- package/docs/colleague-usage/managed-app-access.md +6 -0
- package/docs/colleague-usage/message-delivery-recovery.md +56 -0
- package/docs/colleague-usage/plans.md +14 -7
- package/docs/colleague-usage/preview-browser-checks.md +61 -0
- package/docs/colleague-usage/preview-lesson-presentation.md +56 -0
- package/docs/colleague-usage/preview-starting-application.md +92 -0
- package/docs/colleague-usage/preview.md +70 -96
- package/docs/colleague-usage/project-architecture.md +229 -0
- package/docs/colleague-usage/project-language-tools.md +31 -0
- package/docs/colleague-usage/project-messages.md +106 -0
- package/docs/colleague-usage/project-settings.md +22 -0
- package/docs/colleague-usage/project-setup.md +29 -2
- package/docs/colleague-usage/session-terminal.md +42 -0
- package/docs/colleague-usage/sessions.md +122 -52
- package/docs/colleague-usage/teaching-content.md +12 -6
- package/docs/colleague-usage/temporary-chat-context.md +29 -0
- package/docs/colleague-usage/temporary-chats.md +95 -2
- package/docs/colleague-usage/voice-chat.md +10 -43
- package/docs/colleague-usage/voice-face-and-speaking-voice.md +73 -0
- package/docs/colleague-usage/workspace-preparation.md +89 -0
- package/docs/training-content.md +208 -7
- package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-runtime/README.md +29 -0
- package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
- package/node_modules/@jskit-ai/connector-google-calendar/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-core/package.json +1 -1
- package/node_modules/@jskit-ai/http-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/kernel/package.json +1 -1
- package/node_modules/@jskit-ai/payments-core/package.json +1 -1
- package/node_modules/@jskit-ai/realtime/package.json +1 -1
- package/node_modules/@jskit-ai/resource-core/package.json +1 -1
- package/node_modules/@jskit-ai/resource-crud-core/package.json +1 -1
- package/node_modules/@jskit-ai/uploads-runtime/package.json +1 -1
- package/node_modules/@local/vibe64-core/package.json +1 -0
- package/node_modules/@local/vibe64-execution/src/host/execHelper.js +280 -272
- package/node_modules/@local/vibe64-genesis/README.md +15 -0
- package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +879 -1225
- package/node_modules/@local/vibe64-genesis/package.json +2 -1
- package/node_modules/@local/vibe64-genesis/src/server/index.js +496 -418
- package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +165 -146
- package/node_modules/@local/vibe64-runtime/src/server/agentSessionCommandHook.js +8 -8
- package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +128 -129
- package/node_modules/@local/vibe64-system-graph/README.md +136 -6
- package/node_modules/@local/vibe64-terminals/package.json +3 -0
- package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1527 -1326
- package/node_modules/@local/vibe64-training/package.json +6 -1
- package/node_modules/@local/vibe64-voice/package.json +1 -0
- package/package.json +16 -16
- package/server.bundle.mjs +42853 -40268
- package/dist/assets/StudioErrorNotice-Ccjvcn9C.js +0 -1
- package/dist/assets/VAlert-B7ciJKQL.js +0 -1
- package/dist/assets/VAutocomplete-QjMk5d_j.js +0 -1
- package/dist/assets/VAvatar-nHaK192T.css +0 -1
- package/dist/assets/VBtn-Kl_qcBsy.js +0 -1
- package/dist/assets/VCard-nrJPeo91.js +0 -1
- package/dist/assets/VCheckbox-DTRAWOIf.js +0 -1
- package/dist/assets/VChip-Dfs5jX0f.js +0 -1
- package/dist/assets/VDialog-Dt1VjJg1.js +0 -1
- package/dist/assets/VDivider-DFsS0OTx.js +0 -1
- package/dist/assets/VExpansionPanels-CYKU0cAr.js +0 -1
- package/dist/assets/VMenu-BLxobsuU.js +0 -1
- package/dist/assets/VOverlay-BvFVZKNS.js +0 -1
- package/dist/assets/VRadioGroup-DzQzpCfg.js +0 -1
- package/dist/assets/VRow-BR2RMCM1.js +0 -1
- package/dist/assets/VSheet-BA95RNmA.js +0 -1
- package/dist/assets/VSkeletonLoader-hpJqr0HL.js +0 -1
- package/dist/assets/VSpacer-B1l1hVvU.js +0 -1
- package/dist/assets/VTextField-CA_p3N4d.js +0 -1
- package/dist/assets/VTextarea-NyCqY4h5.js +0 -1
- package/dist/assets/Vibe64AsyncModuleState-DEFlqJ97.js +0 -1
- package/dist/assets/Vibe64DashboardShell-BNv2I-P8.js +0 -1
- package/dist/assets/Vibe64DashboardShell-w20wNTGW.css +0 -1
- package/dist/assets/Vibe64DatabaseWorkspace-CuY5lN1o.js +0 -43
- package/dist/assets/Vibe64OutputControls-D2JuYlYU.js +0 -8
- package/dist/assets/Vibe64SessionFiles-C-rWehq_.js +0 -34
- package/dist/assets/Vibe64SessionFiles-Dsr6KQNP.css +0 -1
- package/dist/assets/Vibe64SubsystemsView-BvdU_o6H.css +0 -1
- package/dist/assets/Vibe64SubsystemsView-DJCjSzQM.js +0 -1
- package/dist/assets/Vibe64SystemWorldView-B91ioQaO.js +0 -4312
- package/dist/assets/Vibe64SystemWorldView-BXiQ7_Qb.css +0 -1
- package/dist/assets/Vibe64UnavailableSessions-OvnoD3ZB.js +0 -1
- package/dist/assets/_sessionId_-JTvMh54L.js +0 -1
- package/dist/assets/_slug_-DP_heCDa.js +0 -1
- package/dist/assets/_slug_-DmBZGb0q.css +0 -1
- package/dist/assets/access-C8GQIS19.js +0 -1
- package/dist/assets/app-B83lF61Y.js +0 -1
- package/dist/assets/app-ByLIQ3SB.css +0 -1
- package/dist/assets/assistantRouting-TDtryU6o.js +0 -1
- package/dist/assets/createSimpleFunctional-DPIT6zsT.js +0 -1
- package/dist/assets/dashboard-CWGFPojJ.js +0 -1
- package/dist/assets/definitions-BeLcvOW3.js +0 -1
- package/dist/assets/display-BLmcO-5p.js +0 -1
- package/dist/assets/env-7bqFyF_E.css +0 -1
- package/dist/assets/env-BVwxNL8M.js +0 -1
- package/dist/assets/health-BzNhp7r8.js +0 -1
- package/dist/assets/health-DoHTXTGx.css +0 -1
- package/dist/assets/history-BPeZGofK.js +0 -1
- package/dist/assets/history-iMQxp5AR.css +0 -1
- package/dist/assets/httpClient-BaaZuFvF.js +0 -1
- package/dist/assets/index-5sKwLHOH.js +0 -86
- package/dist/assets/issues-DCEhGlfn.css +0 -1
- package/dist/assets/issues-wby50y9b.js +0 -3
- package/dist/assets/layout-YCn17mK1.js +0 -1
- package/dist/assets/lazy-CvQfXeLg.js +0 -1
- package/dist/assets/mdi-C31_SZp-.js +0 -1
- package/dist/assets/placement-C4R2t6rl.js +0 -1
- package/dist/assets/pull-requests-BNK6mq2u.css +0 -1
- package/dist/assets/pull-requests-lNQAigaC.js +0 -1
- package/dist/assets/runtime-core.esm-bundler-DMrccYS5.js +0 -3
- package/dist/assets/session-D38nzG41.js +0 -1
- package/dist/assets/settings-CFyUJ_kR.js +0 -1
- package/dist/assets/settings-vWsAEoE9.css +0 -1
- package/dist/assets/useArchivedVibe64Sessions-C2DSq2Z4.js +0 -1
- package/dist/assets/useCommand-BzThFLYP.js +0 -1
- package/dist/assets/useEndpointResource-C2KD4Ub_.js +0 -1
- package/dist/assets/useVibe64ConversationLog-CMUlXJtU.js +0 -1
- package/dist/assets/useVibe64DatabaseTools-DBcKhm6B.js +0 -1
- package/dist/assets/useVibe64LearningMode-BPRWM5Rp.js +0 -28
- package/dist/assets/useVibe64LearningMode-PJUv0O25.css +0 -1
- package/dist/assets/useVibe64SessionData-CdtJbAIx.js +0 -1
- package/dist/assets/useVibe64SessionSelection-aR0f6xVT.js +0 -1
- package/dist/assets/useVibe64SystemGraph-DeTPBn0e.js +0 -1
- package/dist/assets/vibe64AssistantHost-Dgyz4TrT.js +0 -1
- package/dist/assets/vibe64ProjectScope.local-GOSMVDRi.js +0 -1
- package/dist/assets/vibe64RepositoryRealtime-t5Al8BlU.js +0 -1
- package/dist/assets/vibe64SessionFocus-CcN6Grgw.js +0 -1
- package/dist/assets/vibe64SessionFocus-ChabllPA.css +0 -1
- package/dist/assets/vibe64SessionToolDefinitions-BaO1DEup.js +0 -1
- /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 **
|
|
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
|
-
|
|
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
|
-
|
|
14
|
-
|
|
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.
|
|
20
|
-
|
|
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.
|