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,55 @@
|
|
|
1
|
+
# Answering a code question in a lesson
|
|
2
|
+
|
|
3
|
+
This is part of [Choosing lessons and Learning conversations](learning-mode-ui.md).
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
Some practice lessons ask you to change code, for example "make `notes.mjs`
|
|
7
|
+
refuse an empty title". To answer:
|
|
8
|
+
|
|
9
|
+
1. Choose **Dashboard**, then **Files** in the session tools. It is
|
|
10
|
+
the ordinary source editor for this lesson's practice project: the file list,
|
|
11
|
+
**New file at source root**, **Download file**, **Star file** and a file's
|
|
12
|
+
**⋮** actions menu (**Star file**, **Download file**, **New file here**,
|
|
13
|
+
**Copy path**) work as in any project. Files open as code; the **Interface**
|
|
14
|
+
view is not available in a lesson. **Explain** is shown but disabled; its
|
|
15
|
+
tooltip says to ask your lesson teacher in Learning. On a phone, use the files
|
|
16
|
+
button to show or hide the file list.
|
|
17
|
+
2. Open the file the teacher named and edit it. Your changes save automatically
|
|
18
|
+
a moment after you stop typing; the editor shows when a save has finished.
|
|
19
|
+
3. Choose the graduation-cap option beside **Preview** and **Dashboard** (on a
|
|
20
|
+
phone, the next-pane button labelled **Learning**) and press **Check my code** in the
|
|
21
|
+
code-check bar docked at the bottom of its **Courses** view (it stays in view while you scroll).
|
|
22
|
+
The button is there whenever a practice lesson is open; it checks only an open
|
|
23
|
+
code question. The lesson's declared check runs on a private copy of
|
|
24
|
+
the pinned exercise with your saved version of the named files. The result
|
|
25
|
+
appears in that bar: a green **Check passed** with "Your code passed the check…",
|
|
26
|
+
an amber **Not yet** with the check's reason (for example "Empty or blank titles are
|
|
27
|
+
still accepted", or that the check stopped after its time limit because the
|
|
28
|
+
code never finished), or a red **Could not check** saying what to do first. Fix the code and press **Check my code** again as often
|
|
29
|
+
as you like; only your latest check counts.
|
|
30
|
+
4. After a passing check, explain to your teacher in Learning, in your own
|
|
31
|
+
words, what you changed and why. The teacher submits that explanation with the
|
|
32
|
+
check for grading. A pass is saved only when the check passed **and** the
|
|
33
|
+
explanation meets the lesson's rubric.
|
|
34
|
+
|
|
35
|
+
What counts: only edits you saved yourself in the **Dashboard → Files** editor since the
|
|
36
|
+
teacher asked the question. If anything else changed a named file in the
|
|
37
|
+
meantime—the teacher or another assistant, a terminal command, Git, or another
|
|
38
|
+
editor—the check does not run and reports "needs an independent attempt: other
|
|
39
|
+
edits detected in `<file>`". That question cannot pass; ask the teacher for a new
|
|
40
|
+
question and write the change yourself. The teacher is instructed not to edit
|
|
41
|
+
those files or send solution code; it can give hints and point to lines.
|
|
42
|
+
Checking never saves progress by itself, and a check without your explanation
|
|
43
|
+
is not a pass. **Check my code** requires this lesson's Learning conversation
|
|
44
|
+
to be connected in this browser. Every press either checks your code or shows
|
|
45
|
+
why it could not in the line under the button: "This lesson's Learning
|
|
46
|
+
conversation is not open here" (open the lesson conversation, then press again),
|
|
47
|
+
"This lesson's Learning conversation is still loading its saved question" (wait
|
|
48
|
+
until the Learning chat shows its messages, then press again), "There is no open
|
|
49
|
+
lesson question yet" or a report that the question is not a code question (ask
|
|
50
|
+
the teacher for the code question first), or "Earlier presses are still being
|
|
51
|
+
handled" (wait, then press again). An asked, unanswered code question stays open
|
|
52
|
+
when the server restarts or the page reloads, including the next day: open the
|
|
53
|
+
lesson again and press **Check my code**; you do not need a new question, and
|
|
54
|
+
your earlier saves in **Dashboard → Files** still count. Colleague can explain
|
|
55
|
+
these steps but cannot type, save or check code for you.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Installing and updating Learning courses
|
|
2
|
+
|
|
3
|
+
Learning mode can install courses from the official Vibe64 course catalogue
|
|
4
|
+
straight from the **Courses** pane. Nobody needs a terminal for official
|
|
5
|
+
courses.
|
|
6
|
+
|
|
7
|
+
## Where it is
|
|
8
|
+
|
|
9
|
+
1. Turn on Learning with the **L** button at the left of the header.
|
|
10
|
+
2. The **Courses** pane shows your installed course cards first. Below them is
|
|
11
|
+
the **Course catalogue** section, headed **Install a course**.
|
|
12
|
+
3. The catalogue is grouped by **topic** (for example **Vibe64**). Under each
|
|
13
|
+
topic, every course shows its title, release (for example `0.1.10`), a
|
|
14
|
+
**Released** or **Preview** chip, its lesson count and whether it is
|
|
15
|
+
**Installed**, **Not installed**, **Disabled by the owner** or has a
|
|
16
|
+
**Conflicting copy installed**. A topic without courses says **No courses in
|
|
17
|
+
this topic yet.** Courses whose catalogue entry names no topic are listed
|
|
18
|
+
under **Other courses**.
|
|
19
|
+
|
|
20
|
+
When no course is installed yet, the installed area says **No courses are
|
|
21
|
+
installed yet. Choose a course in the catalogue below and select Install.**
|
|
22
|
+
|
|
23
|
+
On a phone the same sections stack in one column and each course's button
|
|
24
|
+
fills the row width. On desktop the button sits at the right of the course.
|
|
25
|
+
|
|
26
|
+
## Installing a course
|
|
27
|
+
|
|
28
|
+
Select **Install** on a course that is **Not installed**. While it works, the
|
|
29
|
+
button shows a spinner and the row reports each step: **Reading the official
|
|
30
|
+
catalogue…**, **Downloading and verifying topic 1 of N…**, **Enabling the
|
|
31
|
+
course…**, or **Waiting for another course installation to finish…** when
|
|
32
|
+
another install is running. You can keep reading other parts of the page; other
|
|
33
|
+
course buttons wait until it finishes.
|
|
34
|
+
|
|
35
|
+
When it succeeds the course card appears among your installed courses and the
|
|
36
|
+
catalogue row shows **Installed** with **View course**. Installing a course does
|
|
37
|
+
not start a lesson.
|
|
38
|
+
|
|
39
|
+
What the server does: it rereads the official catalogue, downloads each topic of
|
|
40
|
+
that exact course release at the exact Git commit named in the catalogue's lock,
|
|
41
|
+
verifies every file byte for byte against that lock, installs the verified copy
|
|
42
|
+
and enables the course. It runs no course code. If anything does not match, it
|
|
43
|
+
installs nothing new for that topic and enables nothing.
|
|
44
|
+
|
|
45
|
+
Any signed-in person can install official catalogue courses. The catalogue
|
|
46
|
+
location is fixed by the server, so the page can only install the courses it
|
|
47
|
+
lists. Courses from other sources remain an owner/operator task (see
|
|
48
|
+
[Author a lesson and publish its source](lesson-authoring.md)).
|
|
49
|
+
|
|
50
|
+
### Preview courses
|
|
51
|
+
|
|
52
|
+
A **Preview** course can be installed so that it is ready, and the row says
|
|
53
|
+
**Preview course: it can be installed; until it is released, only the workspace
|
|
54
|
+
owner can try its lessons from Courses.** Its installed card keeps the
|
|
55
|
+
**Preview course** chip. The workspace owner (on local Vibe64, you) sees
|
|
56
|
+
**Try preview**, which starts the lesson exactly like **Start**; everyone else
|
|
57
|
+
sees the course with the note **Preview — the workspace owner can try it; it
|
|
58
|
+
becomes startable when released** and no start button. Installing does not change
|
|
59
|
+
this; once the course is released, everyone gets **Start**.
|
|
60
|
+
|
|
61
|
+
## Updating a course
|
|
62
|
+
|
|
63
|
+
When the catalogue has a newer release of a course you already have, the
|
|
64
|
+
installed course card shows **Update available: <release>** with an **Update**
|
|
65
|
+
button, and the catalogue row says **You have <old release>. Updating keeps
|
|
66
|
+
your saved lessons and progress.** with the same **Update** button. Both run the
|
|
67
|
+
same installation as **Install**, for the newer release.
|
|
68
|
+
|
|
69
|
+
After an update:
|
|
70
|
+
|
|
71
|
+
- The new release is installed and enabled, and new lessons start from it.
|
|
72
|
+
- Older releases of that course are disabled **for new starts only**. They are
|
|
73
|
+
not deleted. Their old card is hidden from the list, except while you still
|
|
74
|
+
have a saved lesson in that release: that card stays, labelled **Disabled for
|
|
75
|
+
new lessons**, and **Resume saved lesson** or **Continue** still opens the
|
|
76
|
+
exact lesson you started. Lesson history is unchanged.
|
|
77
|
+
- Progress carries over. A lesson whose content did not change keeps its
|
|
78
|
+
**Completed** status. A lesson whose content changed shows **Not started**
|
|
79
|
+
(or **In progress**) with the note **Completed in <old release> · updated
|
|
80
|
+
since**, so you can see you finished the earlier version. Completing the new
|
|
81
|
+
version records new progress; the earlier record stays.
|
|
82
|
+
|
|
83
|
+
## Errors and recovery
|
|
84
|
+
|
|
85
|
+
The message appears on the course row, and the button becomes **Retry install**
|
|
86
|
+
or **Retry update**. Retrying repeats the same request safely; an already
|
|
87
|
+
installed course is not installed twice.
|
|
88
|
+
|
|
89
|
+
- **The official course catalogue … could not be downloaded** (shown in the
|
|
90
|
+
catalogue section, with **Retry**): the server cannot reach GitHub. Installed
|
|
91
|
+
courses keep working. Retry later or ask the operator to check the server's
|
|
92
|
+
internet access.
|
|
93
|
+
- **Topic … could not be downloaded …**: the same network problem during
|
|
94
|
+
install. Nothing was enabled; retry.
|
|
95
|
+
- **The official course catalogue is invalid …**: the published catalogue is
|
|
96
|
+
wrong. Nothing was installed; the catalogue maintainers must correct it.
|
|
97
|
+
- **The owner disabled course … on this server**: shown as **Disabled by the
|
|
98
|
+
owner**. Only the workspace owner can enable it again.
|
|
99
|
+
- **… already keeps 16 installed course releases, its limit**: every installed
|
|
100
|
+
or updated release uses one of 16 places and none is deleted automatically. Ask
|
|
101
|
+
the owner to free space; nothing was changed.
|
|
102
|
+
- **Topic source or installed snapshot conflicts with the approved owner pin** or
|
|
103
|
+
**Conflicting copy installed**: the server holds different content under the
|
|
104
|
+
same release. Nothing is replaced automatically; ask the owner to inspect it.
|
|
105
|
+
- **Installing courses from the catalogue is unavailable in this installation**:
|
|
106
|
+
this host has not enabled catalogue installation. Installed courses still work.
|
|
107
|
+
|
|
108
|
+
**Refresh courses** at the top rereads installed courses, progress and the
|
|
109
|
+
catalogue.
|
|
110
|
+
|
|
111
|
+
## What Colleague can do
|
|
112
|
+
|
|
113
|
+
Colleague can list the catalogue (`available.list`), explain each course's state,
|
|
114
|
+
and offer to install or update a course. It installs or updates only after you
|
|
115
|
+
directly ask for that course or accept its offer, using the same server action
|
|
116
|
+
as the button, and it reports the real result. It cannot install courses from
|
|
117
|
+
other sources, choose a different catalogue, delete releases or re-enable a
|
|
118
|
+
course the owner disabled.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Lesson diagrams and voice
|
|
2
|
+
|
|
3
|
+
How lesson diagrams (the **Presentation** pane) and spoken teaching behave in a
|
|
4
|
+
Learning conversation; see also
|
|
5
|
+
[Choosing lessons and Learning conversations](learning-mode-ui.md).
|
|
6
|
+
|
|
7
|
+
The original Preview host remains mounted beneath these choices. A saved practice
|
|
8
|
+
workspace is reopened through its existing exact-session check before its outputs
|
|
9
|
+
appear; a failure stays visible with **Retry workspace**. A declared diagram can
|
|
10
|
+
open from Learning; covered workspace controls do not remain interactive.
|
|
11
|
+
Switching views retains the App and diagram instances, the lesson picker, and
|
|
12
|
+
Dashboard selections within that host. Hidden diagrams pause; returning does
|
|
13
|
+
not replay their motion or count as a completed lesson. If sound is off, use the
|
|
14
|
+
presentation's **Continue** only after its explanation is ready. A supported
|
|
15
|
+
narrated diagram waits for its confirmed final explanation and actual sound and
|
|
16
|
+
motion completion. Hiding or stopping it does not count as completed teaching.
|
|
17
|
+
If its cue receipt was not confirmed, read the current status before continuing;
|
|
18
|
+
do not assume the explanation or motion succeeded.
|
|
19
|
+
When Main opens a lesson diagram, keep that same browser open until its operation
|
|
20
|
+
is confirmed. Main opens it in that lesson's **Presentation** pane; opening the
|
|
21
|
+
Colleague drawer is not required. If the browser did not acknowledge navigation,
|
|
22
|
+
keep the initiating conversation open and check its current status before
|
|
23
|
+
requesting another operation. If Main already finished with that failure, its
|
|
24
|
+
message remains saved; read its result and your saved lesson progress before
|
|
25
|
+
asking it to continue. Do not resend that completed message to recover navigation.
|
|
26
|
+
Stop or a replacement Learning conversation retires its old
|
|
27
|
+
explanation; an old confirmation cannot complete a new one.
|
|
28
|
+
When Main opens a diagram in the practice project, wait for its confirmation;
|
|
29
|
+
you do not need to request the diagram again while the view changes.
|
|
30
|
+
This also applies with read-aloud off; opening voice first is not required.
|
|
31
|
+
Wait for Main to confirm that the diagram is ready before continuing its
|
|
32
|
+
illustrated steps.
|
|
33
|
+
The whole diagram is scaled to fit its frame, centred, with its title above and
|
|
34
|
+
the current step's caption below. **Minimise presentation**, the pill at the
|
|
35
|
+
right of **Courses** | **Presentation** (below them on a phone), folds the
|
|
36
|
+
diagram away; **Restore presentation** brings it back. After a page reload,
|
|
37
|
+
**Presentation** stays unavailable until the teacher opens the diagram again,
|
|
38
|
+
unless the diagram had already run a step or been paused (see below).
|
|
39
|
+
|
|
40
|
+
Source-less Learning conversations select the graduation-cap option and disable Preview and Dashboard. A supported declared
|
|
41
|
+
diagram can use the same Presentation player only in your exact saved lesson
|
|
42
|
+
conversation; an empty picker or unavailable diagram cannot open it. This does
|
|
43
|
+
not give the lesson repository, Save or Temporary AI/workspace access. A saved
|
|
44
|
+
checkpoint does not mean a presentation is currently open. After a completed
|
|
45
|
+
command or pause, the player saves its semantic state and labels. Reopening the
|
|
46
|
+
same attempt restores its last confirmed state without replaying sound or motion.
|
|
47
|
+
**Retry diagram checkpoint** retains an unconfirmed save identity; after a
|
|
48
|
+
revision conflict, **Save current diagram** captures fresh state. Keep the player
|
|
49
|
+
open until confirmation. Practice lesson diagrams save to that same lesson and
|
|
50
|
+
Main conversation. A changed account, attempt or conversation retires its old
|
|
51
|
+
handle; an error never grants a pass.
|
|
52
|
+
|
|
53
|
+
To request teaching, open the exact saved Learning Main conversation and ask
|
|
54
|
+
“Teach me this lesson.” Starting or resuming the lesson does not itself send that
|
|
55
|
+
request. Main can use the lesson's declared diagrams in that same browser;
|
|
56
|
+
Colleague remains available for general help and workspace supervision. Text
|
|
57
|
+
teaching does not require voice, and private key entry remains your action.
|
|
58
|
+
|
|
59
|
+
Lessons speak by default where this installation has a speech service. When the
|
|
60
|
+
lesson conversation has loaded and read-aloud is on, Main's voice opens by itself and reads new replies aloud; earlier history
|
|
61
|
+
is not replayed. The microphone stays off until you press **Talk**. Use the
|
|
62
|
+
read-aloud button beside the avatar to mute replies; text continues in chat.
|
|
63
|
+
If the browser reports **Sound is blocked**, choose **Enable sound**. Ending
|
|
64
|
+
voice keeps it off for that lesson until you open it again or reload the page.
|
|
65
|
+
Working conversations still start voice only when you choose it. Without a speech
|
|
66
|
+
service, lessons stay text-only and quiet; **Continue** paces any diagram.
|
|
67
|
+
|
|
68
|
+
If sound stops early, for example because the voice service could not be
|
|
69
|
+
reached or you hid a narrated diagram, the diagram does not claim it finished.
|
|
70
|
+
Choose **Continue** to go on without sound, or ask Main to repeat the
|
|
71
|
+
explanation. Turning read-aloud off while it speaks stops the speech and leaves
|
|
72
|
+
the diagram interrupted; turning it on again does not replay it. Your next message
|
|
73
|
+
to Main is read aloud again once the voice service is available; you do not need
|
|
74
|
+
to toggle read-aloud or reload.
|
|
75
|
+
|
|
76
|
+
For a narrated diagram, keep the initiating browser and exact lesson conversation
|
|
77
|
+
open until its operation is confirmed. Its explanation waits until Main has
|
|
78
|
+
finished that turn. Stopping or interrupting an unfinished explanation prevents
|
|
79
|
+
it from playing later when you ask a new question. With sound off, use
|
|
80
|
+
**Continue** only after the explanation is ready. A visible diagram or saved
|
|
81
|
+
state does not itself mean narration, motion or an assessment succeeded.
|
|
82
|
+
|
|
83
|
+
Main confirms a diagram explanation from that turn's finished response before
|
|
84
|
+
enabling **Continue**. Keep the same lesson and conversation open while it
|
|
85
|
+
finishes. A stopped explanation or a response from a different turn cannot
|
|
86
|
+
confirm the old diagram; read Main's current result before asking it to continue.
|
|
87
|
+
The response may appear before **Continue** becomes ready; wait for its
|
|
88
|
+
confirmation instead of resending that finished reply.
|
|
89
|
+
|
|
90
|
+
If an operation is unconfirmed, read its current status before requesting a
|
|
91
|
+
repeat. A reload or changed lesson/account cannot reuse an old cue confirmation.
|
|
92
|
+
Switching the compact screen between chat and Preview retains the same active
|
|
93
|
+
lesson; selecting a different session or account retires its old presentation.
|
|
94
|
+
|
|
95
|
+
While a lesson’s narrated visual explanation awaits its final response, optional
|
|
96
|
+
thinking and interim speech stay silent too. Your speech preferences remain saved;
|
|
97
|
+
fresh confirmed replies use the same voice controls. This does not hide chat text.
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
# Lesson history and resume
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
After an interruption, choose **Resume saved lesson** (or **Continue** on its
|
|
4
|
+
course) in Learning → **Courses**, or ask Colleague to resume the exact saved
|
|
5
|
+
lesson; see [Choosing lessons and Learning conversations](learning-mode-ui.md).
|
|
6
|
+
Ending or restarting learning requires your request to Colleague; it retains earlier progress and does
|
|
5
7
|
not delete the practice project. These rules apply to desktop and phone.
|
|
6
8
|
|
|
7
9
|
Explicit lesson retirement preserves the original pinned quiz and practical
|
|
8
|
-
results.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
results. Once the end is saved, the lesson's teacher conversation stops: its
|
|
11
|
+
running assistant work and session processes are stopped the same way session
|
|
12
|
+
Stop does, because an ended lesson has no teaching instructions. The
|
|
13
|
+
conversation stays readable in history, and the practice project and session
|
|
14
|
+
are not archived or deleted. When the person requests disposal, use the existing
|
|
15
|
+
authorised project/session close, archive and deletion workflow; do not claim
|
|
16
|
+
disposal from an ended learning record. Leaving or hiding Colleague does not end
|
|
17
|
+
the lesson.
|
|
12
18
|
|
|
13
19
|
An admitted fresh start after retirement keeps the earlier evidence with its
|
|
14
20
|
original identity. A lesson that declares an exercise uses a new exercise
|
|
@@ -32,9 +38,11 @@ content requires exact owner restoration, even when no lesson is active.
|
|
|
32
38
|
|
|
33
39
|
When the installation supplies its lesson host, the shared `lesson.end` operation
|
|
34
40
|
can retire the person's exact learning attempt after a direct request or accepted
|
|
35
|
-
offer. State clearly that it
|
|
36
|
-
`discard` records a learning decision,
|
|
37
|
-
|
|
41
|
+
offer. State clearly that it stops the lesson conversation's work but retains
|
|
42
|
+
the exercise and all history; the reason `discard` records a learning decision,
|
|
43
|
+
not project disposal. Use existing separate close, archive or delete operations
|
|
44
|
+
only when requested and authorised. If the end reports that its stop was not
|
|
45
|
+
confirmed, the end itself is saved; retry the same end request to finish the stop.
|
|
38
46
|
An unavailable retirement host is not a successful end. The same tool is used on
|
|
39
47
|
desktop and mobile; this addition creates no new layout control.
|
|
40
48
|
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Watching a lesson step by step
|
|
2
|
+
|
|
3
|
+
Colleague and the lesson teacher (Main) can show you places in a lesson, and
|
|
4
|
+
Colleague can watch the steps you take; see also
|
|
5
|
+
[Choosing lessons and Learning conversations](learning-mode-ui.md).
|
|
6
|
+
|
|
7
|
+
You can ask Colleague to enter or leave Learning, show **Courses**, show the
|
|
8
|
+
active lesson, or reveal the exact lesson project's normal **Preview** or
|
|
9
|
+
**Dashboard → Database → ERD**. Main can reveal those same workspace views only
|
|
10
|
+
for its bound active lesson, and can return to that lesson's Learning pane or
|
|
11
|
+
open a visual declared by its pinned content.
|
|
12
|
+
|
|
13
|
+
Main usually points you to these places instead of opening them; see
|
|
14
|
+
**Learning teacher guide** (`learning-teacher-guide`). Both use the same initiating
|
|
15
|
+
browser and wait for its actual settled mode, pane, session and attempt before
|
|
16
|
+
reporting success. For a declared visual, confirmation follows the visual opening;
|
|
17
|
+
the earlier Courses view is not its success receipt. This also applies when a
|
|
18
|
+
saved lesson finishes loading after the chat first appears. If the lesson or
|
|
19
|
+
visual changes while opening, the request is not confirmed; return to the intended
|
|
20
|
+
saved lesson before requesting its visual again. On a phone, the request changes
|
|
21
|
+
the same stacked panes; it
|
|
22
|
+
does not open another app or conversation. Showing **Courses** does not start a
|
|
23
|
+
lesson, leaving Learning does not end one, and any agent-opened view is a
|
|
24
|
+
demonstration rather than evidence that you performed an assessed step.
|
|
25
|
+
|
|
26
|
+
Use Colleague's eye button to manage polling for the lesson task currently open
|
|
27
|
+
in this browser. If Main has delivered a lesson question, **Start polling** uses
|
|
28
|
+
that exact question and pinned lesson, including its current practice project;
|
|
29
|
+
you do not need to enter the project again. Otherwise, enter one bounded task in
|
|
30
|
+
**Task to watch**, then start it. This also works for a lesson without a practice
|
|
31
|
+
project, such as Lesson 0; its target then shows as a source-less lesson. The compact details dialog shows the task as
|
|
32
|
+
**active**, **paused**, or **unavailable**, its exact target, and its latest
|
|
33
|
+
structured observation and time, last delivered help, and any saved assessment
|
|
34
|
+
outcome. Observations include switching between the practice project's
|
|
35
|
+
**Preview**/**Dashboard** and the graduation-cap **Learning** option, and between project panes such
|
|
36
|
+
as **Preview**, **Dashboard → Database** and **Dashboard → Files**;
|
|
37
|
+
a view opened by Main or Colleague is recorded as their demonstration, not your step.
|
|
38
|
+
The watch also notices when something you do inside the practice app fails: if
|
|
39
|
+
you click or submit in the visible **Preview** (for example **Add note**) and the
|
|
40
|
+
app's data-changing request then fails, the watch records **app-request** with
|
|
41
|
+
only its method, a path the lesson declared (otherwise `other`), the HTTP status
|
|
42
|
+
and a failure code (`http-4xx`, `http-5xx` or `network`). Main may then offer one
|
|
43
|
+
hint; at most one such hint is offered every 30 seconds, and the same failure
|
|
44
|
+
gets only one. Successful app requests, requests the app makes by itself, and
|
|
45
|
+
anything while Preview is hidden (including behind the phone Colleague overlay)
|
|
46
|
+
are not reported. This is the app's own claim, so it never grades or completes. Expand **Task criteria** below the watch controls to read the full
|
|
47
|
+
criteria; long criteria stay collapsed so **Pause**, **Resume** and **Stop** remain
|
|
48
|
+
easy to reach. You can instead tell Colleague “Watch me while I do this”; that direct
|
|
49
|
+
request starts the same watch and the eye dialog shows the same state. Asking how
|
|
50
|
+
polling works only gets an explanation. Ask Colleague to list, pause, resume or
|
|
51
|
+
stop a watch when you do not want to use the buttons. **Pause** retains the cursor,
|
|
52
|
+
**Resume** rechecks the current learner, lesson and browser before continuing,
|
|
53
|
+
and **Stop** removes only the watch—it does not stop the app, Main or the lesson.
|
|
54
|
+
Returning to another project, lesson or account pauses the old watch;
|
|
55
|
+
after a server restart, return to the same Learning task and choose **Resume**.
|
|
56
|
+
If you leave the task while **Start polling**, **Resume**, or an observed step
|
|
57
|
+
is being checked, that request reports the changed task instead of activating
|
|
58
|
+
the departed watch or queuing help for it. Return to the intended task before
|
|
59
|
+
starting or resuming; repeat a step only after its watch is active.
|
|
60
|
+
Polling follows the exact saved attempt, including an authorized author trial; it does not substitute the ordinary course progress for that task.
|
|
61
|
+
If the lesson can no longer be read or access is lost, polling becomes
|
|
62
|
+
**unavailable** and discards help that has not been delivered. After resolving
|
|
63
|
+
the problem, **Resume** watches fresh steps; it does not replay that discarded help.
|
|
64
|
+
Closing the initiating tab or losing its live connection pauses that tab's watch
|
|
65
|
+
and discards pending help. Watches in other tabs keep their own state. Reconnecting
|
|
66
|
+
registers your current view but leaves the watch paused: return to the intended
|
|
67
|
+
task and choose **Resume**. Minimizing Colleague keeps the same connected task.
|
|
68
|
+
Replacing or closing the watched Main conversation also pauses its old watch,
|
|
69
|
+
even when the project and lesson remain selected. Switching only between that
|
|
70
|
+
task's project panes and its Learning tab keeps polling active.
|
|
71
|
+
After an application update, reload the page before starting or resuming polling.
|
|
72
|
+
Start and Resume require the initiating browser's live connection. If it has not
|
|
73
|
+
connected yet, wait for it to reconnect and then choose the control again; saved
|
|
74
|
+
focus alone cannot start a detached watcher.
|
|
75
|
+
The saved assessment outcome supports the watched outcome only when it is a pass
|
|
76
|
+
for that task's referenced assessment. A pass from another assessment does not
|
|
77
|
+
complete your task. A task you describe in your own words has no automatic
|
|
78
|
+
assessment match; polling and help do not grade it.
|
|
79
|
+
You do not need to keep the dialog open.
|
|
80
|
+
When a watched step reaches the lesson teacher, Main's chat shows a short status
|
|
81
|
+
line such as “Watching: you are in Preview.” followed by the teacher's
|
|
82
|
+
reply. The teacher still receives the full observation; its internal prompt is
|
|
83
|
+
not shown as a chat message. A failed step shows “Watching: that step did not
|
|
84
|
+
finish.”; choosing the graduation-cap **Learning** option shows “Watching: you are in the Learning pane.”
|
|
85
|
+
|
|
86
|
+
Polling reports only named Vibe64 controls, the settled project-or-Learning view,
|
|
87
|
+
saved lesson progress and the reduced failed app request described above. It
|
|
88
|
+
never sends typed text, form values, request or response bodies, headers, query
|
|
89
|
+
strings, arbitrary page content, screenshots, secrets or another project. Navigation performed by Colleague is
|
|
90
|
+
reported as a demonstration, not as something you did and not as assessment
|
|
91
|
+
evidence. Polling does not grade a question or mark a lesson complete.
|
|
92
|
+
Only a saved assessment outcome supports completion; a recent observation or a
|
|
93
|
+
delivered-help receipt does not. Colleague cannot observe arbitrary activity
|
|
94
|
+
inside the supervised application unless that interaction is one of the named
|
|
95
|
+
Vibe64 controls or the declared exercise-response bridge.
|