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