vibe64 0.1.35 → 0.1.36
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 +1919 -1660
- package/bin/server.js +158 -111
- package/bin/upgrade-state.js +5783 -5605
- package/dist/assets/GithubBrowserTabs-BzJF4k9Y.js +1 -0
- package/dist/assets/{StudioErrorNotice-sQfmeR-z.js → StudioErrorNotice-BdllGqRy.js} +1 -1
- package/dist/assets/{Vibe64AsyncModuleState-Dx7YKRPp.js → Vibe64AsyncModuleState-Bi0TqlIu.js} +1 -1
- package/dist/assets/Vibe64AuthSettingsButton-BuvmwGiT.js +5 -0
- package/dist/assets/Vibe64AuthSettingsButton-M44SSmZ9.css +1 -0
- package/dist/assets/{Vibe64DashboardBackButton-yE6cyYg2.js → Vibe64DashboardBackButton-Ccd4hpD6.js} +1 -1
- package/dist/assets/Vibe64DashboardShell-D67m4aWz.js +1 -0
- package/dist/assets/{Vibe64DashboardShell-MBkUHjs-.css → Vibe64DashboardShell-De2mbdpI.css} +1 -1
- package/dist/assets/{Vibe64DatabaseWorkspace-BONJdxBS.js → Vibe64DatabaseWorkspace-D3uK1gDm.js} +3 -3
- package/dist/assets/{Vibe64DatabaseWorkspace-CR4pzzcf.css → Vibe64DatabaseWorkspace-DPDMxhAW.css} +1 -1
- package/dist/assets/Vibe64OutputControls-BfESn5kJ.js +8 -0
- package/dist/assets/Vibe64OutputControls-D2CCECo5.css +1 -0
- package/dist/assets/{Vibe64RepositoryWorkspace-ByQlZbyO.js → Vibe64RepositoryWorkspace-0jAxvdA8.js} +2 -2
- package/dist/assets/{Vibe64RepositoryWorkspace-CVHcT93M.css → Vibe64RepositoryWorkspace-Agyt4O-V.css} +1 -1
- package/dist/assets/Vibe64SessionFiles-B3ONZrBL.css +1 -0
- package/dist/assets/Vibe64SessionFiles-BCOJ4QmR.js +41 -0
- package/dist/assets/{Vibe64TemporaryAiFixAction-BGlcrq4d.js → Vibe64TemporaryAiFixAction-DM2jpPbQ.js} +1 -1
- package/dist/assets/{Vibe64UiStoryboardView-Brlwdvqi.js → Vibe64UiStoryboardView-DP5af46a.js} +1 -1
- package/dist/assets/{Vibe64UnavailableSessions-zwlWlcZD.js → Vibe64UnavailableSessions-C7XwH1SS.js} +1 -1
- package/dist/assets/{_sessionId_-CvOkQbVy.js → _sessionId_-B1Ymr7c_.js} +1 -1
- package/dist/assets/{_sessionTool_-Dwod5ns9.js → _sessionTool_-DVYdREoI.js} +1 -1
- package/dist/assets/_slug_-CQseA9pt.css +1 -0
- package/dist/assets/_slug_-CYO2vjCd.js +24 -0
- package/dist/assets/{access-BVu5XYm2.js → access-Cb7dkN53.js} +1 -1
- package/dist/assets/app-BvgY7oVf.js +1 -0
- package/dist/assets/app-CZu7oxUO.css +1 -0
- package/dist/assets/{assistantRouting-CwbwfkwB.js → assistantRouting-B38ujQ7x.js} +1 -1
- package/dist/assets/{changes-olY8cnFK.js → changes-lsBcuikn.js} +1 -1
- package/dist/assets/client-CRI5CNKl.js +2 -0
- package/dist/assets/client-TGaWwOhc.css +1 -0
- package/dist/assets/conversation-CDEt9jBx.js +17 -0
- package/dist/assets/conversation-vxJGwmtW.css +1 -0
- package/dist/assets/{dashboard-BnXD-H4R.js → dashboard-D8HOAw46.js} +1 -1
- package/dist/assets/definitions-DLTX17nI.js +1 -0
- package/dist/assets/{env-DJhnLOH7.css → env-BzRtyO0w.css} +1 -1
- package/dist/assets/env-DJezQixO.js +1 -0
- package/dist/assets/health-BJvooRnJ.css +1 -0
- package/dist/assets/health-CtKdN_Nf.js +1 -0
- package/dist/assets/{history-BxlpB-YH.js → history-BdZFOtz4.js} +1 -1
- package/dist/assets/{incoming-BOxRVlOM.js → incoming-VsQNnL9m.js} +1 -1
- package/dist/assets/index-C-osVUKw.css +1 -0
- package/dist/assets/index-C4K3ntms.js +138 -0
- package/dist/assets/{integrations-BFltGDVI.js → integrations-CMQ9EDmt.js} +2 -2
- package/dist/assets/issues-DHpY5hSr.js +1 -0
- package/dist/assets/learning-DXlMuwzh.js +1 -0
- package/dist/assets/mdi-yXT-CQ6u.js +1 -0
- package/dist/assets/placement-NpX2s7u8.js +1 -0
- package/dist/assets/pull-requests-BcKNEUYH.js +1 -0
- package/dist/assets/{repository-JWLVST3D.js → repository-ClEgntHW.js} +1 -1
- package/dist/assets/roboto-latin-wght-normal-ccAYIvAh.woff2 +0 -0
- package/dist/assets/{session-C5Nj8Dlq.js → session-BlD46q-d.js} +1 -1
- package/dist/assets/settings-BwukeIKe.js +1 -0
- package/dist/assets/shared-BM2SV6fi.js +2 -0
- package/dist/assets/studioGateApi-DcCqiD9V.js +1 -0
- package/dist/assets/studioUrls-DmMMIScP.js +1 -0
- package/dist/assets/useArchivedVibe64Sessions-D5zUA-BC.js +1 -0
- package/dist/assets/useCommand-Bqxb-naz.js +1 -0
- package/dist/assets/useEndpointResource-DWoQ2keu.js +1 -0
- package/dist/assets/useRealtimeEvent-Bwapstla.js +1 -0
- package/dist/assets/{useUiFeedback-0FqKuZRP.js → useUiFeedback-BPBF_0bp.js} +1 -1
- package/dist/assets/useVibe64ConversationLog-Dy6YTPQn.js +1 -0
- package/dist/assets/useVibe64DatabaseTools-d6L09ugW.js +1 -0
- package/dist/assets/useVibe64Learning-cNKTv64W.js +1 -0
- package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +1 -0
- package/dist/assets/useVibe64SessionData-C_jqncih.js +1 -0
- package/dist/assets/useVibe64SessionSelection-uCEIWd3b.js +1 -0
- package/dist/assets/useVibe64SystemGraph-B4RmsC9Y.js +1 -0
- package/dist/assets/{useVibe64Terminal-BPnN25WH.js → useVibe64Terminal-BbghGR4x.js} +1 -1
- package/dist/assets/vibe64AssistantHost-BL1bnKm8.js +1 -0
- package/dist/assets/{vibe64SessionFocus-kqPOPaOH.js → vibe64SessionFocus-DSJKVuRN.js} +1 -1
- package/dist/assets/{vibe64SessionInfo-BHxtTrLX.js → vibe64SessionInfo-B_r1OMN0.js} +1 -1
- package/dist/assets/{vibe64SessionPanelModel-BMf64fv7.js → vibe64SessionPanelModel-DDorOuiL.js} +1 -1
- package/dist/assets/{vibe64SessionToolDefinitions-NfLd1HZI.js → vibe64SessionToolDefinitions-BualCK_5.js} +1 -1
- package/dist/index.html +21 -20
- package/docs/colleague-usage/account-profile-and-appearance.md +8 -2
- package/docs/colleague-usage/ai-accounts-and-routing.md +123 -15
- package/docs/colleague-usage/ai-onboarding.md +230 -0
- package/docs/colleague-usage/coding-agent-goal-pause.md +5 -5
- package/docs/colleague-usage/coding-agents.md +17 -0
- package/docs/colleague-usage/colleague-watches.md +4 -23
- package/docs/colleague-usage/colleague.md +10 -2
- package/docs/colleague-usage/connected-projects.md +2 -2
- package/docs/colleague-usage/conversation-context.md +2 -0
- package/docs/colleague-usage/dashboard-navigation.md +19 -27
- package/docs/colleague-usage/database.md +6 -11
- package/docs/colleague-usage/development-copies.md +2 -1
- package/docs/colleague-usage/development-env.md +6 -0
- package/docs/colleague-usage/github-work.md +9 -0
- package/docs/colleague-usage/health-checks.md +11 -5
- package/docs/colleague-usage/integrations.md +3 -1
- package/docs/colleague-usage/learning-code-questions.md +23 -51
- package/docs/colleague-usage/learning-course-catalogue.md +8 -6
- package/docs/colleague-usage/learning-environment.md +345 -0
- package/docs/colleague-usage/learning-history.md +70 -101
- package/docs/colleague-usage/learning-mode-ui.md +122 -214
- package/docs/colleague-usage/learning-practice-projects.md +168 -78
- package/docs/colleague-usage/learning-teacher-guide.md +48 -26
- package/docs/colleague-usage/learning-with-colleague.md +171 -216
- package/docs/colleague-usage/lesson-authoring.md +32 -24
- package/docs/colleague-usage/managed-app-access.md +7 -0
- package/docs/colleague-usage/message-delivery-recovery.md +7 -6
- package/docs/colleague-usage/preview-browser-checks.md +9 -1
- package/docs/colleague-usage/preview-starting-application.md +0 -1
- package/docs/colleague-usage/preview.md +9 -1
- package/docs/colleague-usage/project-messages.md +2 -2
- package/docs/colleague-usage/project-setup.md +9 -2
- package/docs/colleague-usage/running-vibe64-on-your-computer.md +61 -0
- package/docs/colleague-usage/sessions.md +25 -33
- package/docs/colleague-usage/teaching-content.md +11 -40
- package/docs/colleague-usage/temporary-chats.md +23 -2
- package/docs/colleague-usage/voice-chat.md +5 -10
- package/docs/colleague-usage/voice-face-and-speaking-voice.md +6 -8
- package/docs/colleague-usage/voice-recovery.md +3 -2
- package/docs/templates/learn-topic/README.md +6 -6
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.json +28 -7
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/notes.md +19 -0
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/steps/check-understanding.md +3 -0
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/steps/explain-idea.md +3 -0
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/steps/try-it.md +3 -0
- package/docs/templates/learn-topic/training/outline.md +1 -1
- package/docs/training-content.md +179 -65
- package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-runtime/patterns/assistant-surface/PATTERN.md +3 -2
- package/node_modules/@jskit-ai/assistant-runtime/patterns/assistant-surface/example/integrations.json +3 -2
- package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/patterns/ai-connections/PATTERN.md +4 -3
- package/node_modules/@jskit-ai/connectors-catalog/src/shared/ai-models.json +0 -1
- package/node_modules/@local/vibe64-accounts/package.json +1 -0
- package/node_modules/@local/vibe64-colleague/package.json +2 -1
- package/node_modules/@local/vibe64-core/package.json +3 -0
- package/node_modules/@local/vibe64-execution/package.json +1 -0
- package/node_modules/@local/vibe64-execution/src/host/execHelper.js +171 -174
- package/node_modules/@local/vibe64-execution/src/server/engines/stdioBridge.js +9 -9
- package/node_modules/@local/vibe64-genesis/README.md +10 -37
- package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +790 -779
- package/node_modules/@local/vibe64-genesis/package.json +1 -0
- package/node_modules/@local/vibe64-genesis/src/server/agentSpecs.js +255 -0
- package/node_modules/@local/vibe64-genesis/src/server/index.js +473 -450
- package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +148 -148
- package/node_modules/@local/vibe64-project/package.json +2 -1
- package/node_modules/@local/vibe64-runtime/package.json +1 -2
- package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +526 -512
- package/node_modules/@local/vibe64-runtime/src/shared/assistantRoutingScores.json +0 -1
- package/node_modules/@local/vibe64-source-editor/package.json +1 -0
- package/node_modules/@local/vibe64-terminals/package.json +1 -0
- package/node_modules/@local/vibe64-terminals/src/server/opencodeSessionEnvironmentPlugin.js +129 -131
- package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1508 -1456
- package/node_modules/@local/vibe64-training/package.json +13 -27
- package/package.json +7 -7
- package/server.bundle.mjs +40946 -41456
- package/dist/assets/GithubBrowserTabs-DO5PHon-.js +0 -1
- package/dist/assets/GithubMarkdown-BQ6MfCDJ.js +0 -3
- package/dist/assets/GithubMarkdown-U7-j-qNI.css +0 -1
- package/dist/assets/Vibe64DashboardShell-CuCVMhOc.js +0 -1
- package/dist/assets/Vibe64OutputControls-DAAmA09l.js +0 -8
- package/dist/assets/Vibe64OutputControls-DPBsyDZM.css +0 -1
- package/dist/assets/Vibe64SessionFiles-B0u9HKdF.js +0 -107
- package/dist/assets/Vibe64SessionFiles-NjOMVwPR.css +0 -1
- package/dist/assets/_slug_-B31c15cc.css +0 -1
- package/dist/assets/_slug_-Dy35qLo1.js +0 -1
- package/dist/assets/app-DRXCcv05.css +0 -1
- package/dist/assets/app-zt7HwQKT.js +0 -1
- package/dist/assets/client-BrV4QPwG.js +0 -2
- package/dist/assets/client-C1bwIlu6.css +0 -1
- package/dist/assets/definitions-DaOPIkyB.js +0 -1
- package/dist/assets/env-DN0vW4EI.js +0 -1
- package/dist/assets/health-7oIQODer.css +0 -1
- package/dist/assets/health-Z6m96GDr.js +0 -1
- package/dist/assets/index-BUq-MczL.js +0 -86
- package/dist/assets/index-DtmBqE3h.css +0 -1
- package/dist/assets/issues-1iS5zoed.js +0 -1
- package/dist/assets/layout-BkWVNT37.js +0 -1
- package/dist/assets/mdi-C54lQ0i_.js +0 -1
- package/dist/assets/placement-DLsU3pCW.js +0 -1
- package/dist/assets/pull-requests-BJOwNL4k.js +0 -1
- package/dist/assets/settings-c273Ikrm.js +0 -1
- package/dist/assets/shared-YZb7ocaK.js +0 -2
- package/dist/assets/studioGateApi-DhA9IJGZ.js +0 -1
- package/dist/assets/studioUrls-Dj8rXeXO.js +0 -1
- package/dist/assets/useArchivedVibe64Sessions-CVZx2Rtm.js +0 -1
- package/dist/assets/useCommand-DWuxfAV0.js +0 -1
- package/dist/assets/useEndpointResource-MWVNfmMa.js +0 -1
- package/dist/assets/useVibe64ConversationLog-8cKh1eDm.js +0 -1
- package/dist/assets/useVibe64DatabaseTools-BcRG1s3i.js +0 -1
- package/dist/assets/useVibe64LearningMode-Bl0dGdCh.js +0 -28
- package/dist/assets/useVibe64LearningMode-C3PcXdVg.css +0 -1
- package/dist/assets/useVibe64ProjectScope-DOEVkBqX.js +0 -1
- package/dist/assets/useVibe64SessionData-DFTyLzci.js +0 -1
- package/dist/assets/useVibe64SessionSelection-j9lsllx4.js +0 -1
- package/dist/assets/useVibe64SystemGraph-tNkIwSBQ.js +0 -1
- package/dist/assets/vibe64AssistantHost-DdE_-lZF.js +0 -1
- package/dist/assets/vibe64LessonDashboard-DlKYjisq.js +0 -1
- package/dist/assets/vibe64ProjectScope.local-DqT6e5un.js +0 -1
- package/docs/colleague-usage/learning-chat-retention.md +0 -74
- package/docs/colleague-usage/learning-diagrams-and-voice.md +0 -97
- package/docs/colleague-usage/learning-lesson-watch.md +0 -95
- package/docs/colleague-usage/learning-native-session.md +0 -206
- package/docs/colleague-usage/learning-practical-exercises.md +0 -71
- package/docs/colleague-usage/learning-practical-gestures.md +0 -48
- package/docs/colleague-usage/learning-session-creation.md +0 -95
- package/docs/colleague-usage/lesson-practical-assessment.md +0 -54
- package/docs/colleague-usage/preview-lesson-presentation.md +0 -56
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.md +0 -44
|
@@ -1,52 +1,74 @@
|
|
|
1
1
|
# Learning teacher guide
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
You then click it yourself.
|
|
3
|
+
Colleague teaches your lessons and shows you where things are in the real
|
|
4
|
+
Vibe64 app. By default it *points*: it rings the real control you should click
|
|
5
|
+
next, with a short caption such as **Dashboard → Database → ERD** or the
|
|
6
|
+
lesson's own caption. You then click it yourself.
|
|
7
7
|
|
|
8
8
|
## What you see
|
|
9
9
|
|
|
10
10
|
- The rest of the screen dims slightly, and a ring with a gentle ripple sits on
|
|
11
|
-
one real tab, Dashboard section or button. A caption
|
|
12
|
-
|
|
11
|
+
one real tab, Dashboard section or button. A caption points at it; a thin bar
|
|
12
|
+
on the caption shows the time left.
|
|
13
13
|
- The ring is on the next step from where you are. On **Preview**, a path to the
|
|
14
14
|
ERD rings the **Dashboard** tab; once you are in **Dashboard → Database**, it
|
|
15
|
-
rings the **ERD** button.
|
|
15
|
+
rings the **ERD** button. When you are already at the place (for example
|
|
16
|
+
Preview or **Dashboard → Files** is open), the ring goes around that open
|
|
17
|
+
pane, with the caption inside its top edge when the pane fills the screen.
|
|
16
18
|
- The ring lasts about 8 seconds, or until you click or press a key. It never
|
|
17
19
|
blocks your click, and it holds still when your device asks for reduced motion.
|
|
20
|
+
- If Learning is open above the app when Colleague points at an app place,
|
|
21
|
+
Learning is minimised first (your lesson and step are kept) so you can see it.
|
|
18
22
|
|
|
19
|
-
## Places
|
|
23
|
+
## Places Colleague can point at
|
|
20
24
|
|
|
21
25
|
**Preview**, **Dashboard**, **Dashboard → Database → ERD** or **Data**,
|
|
22
26
|
**Dashboard → Files** (and one file in it), **Current changes**, **Git log**,
|
|
23
|
-
**Session info**, **Architecture**, and the
|
|
24
|
-
the
|
|
27
|
+
**Session info**, **Architecture**, and the **L** (Learning) button. A Dashboard
|
|
28
|
+
section the project does not show cannot be ringed.
|
|
25
29
|
|
|
26
30
|
## On a phone
|
|
27
31
|
|
|
28
|
-
A phone shows the chat or one pane at a time, so the
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
A phone shows the chat or one pane at a time, so the Preview/Dashboard tabs and
|
|
33
|
+
the Dashboard menu are hidden. Colleague's full-screen chat minimises itself
|
|
34
|
+
first so the ring is visible. Then:
|
|
35
|
+
|
|
36
|
+
- If the place's pane is already showing (for example Preview, or Files in the
|
|
37
|
+
Dashboard), the ring goes around that pane.
|
|
38
|
+
- In the Dashboard, a Dashboard section that is not open rings the
|
|
39
|
+
**Dashboard section** select at the top; choose the section there.
|
|
40
|
+
- When Files, Database, Architecture or Current changes fills the Dashboard
|
|
41
|
+
and the place is another Dashboard section, the ring goes around that pane's
|
|
42
|
+
**Back to dashboard** button (in Files or Database it may read **Back to
|
|
43
|
+
Architecture**). Tap it, then follow the next ring.
|
|
44
|
+
- Only when the place is in the other pane (Preview instead of Dashboard, or
|
|
45
|
+
the reverse), or the chat is showing, does the ring sit on the header's pane
|
|
46
|
+
switch: the arrow button that shows the project
|
|
47
|
+
panes from the chat, or the next-pane button (for example **Dashboard ›**;
|
|
48
|
+
on phones narrower than about 480px it shows only the Dashboard or Preview
|
|
49
|
+
icon).
|
|
50
|
+
Tap it; when the next step becomes visible, Colleague can ring it directly.
|
|
51
|
+
|
|
52
|
+
The caption always shows the whole path. Reopen Colleague with its avatar
|
|
53
|
+
button.
|
|
34
54
|
|
|
35
55
|
## When nothing is ringed
|
|
36
56
|
|
|
37
57
|
If neither a step on the path nor the pane switch is visible, nothing is drawn.
|
|
38
|
-
|
|
39
|
-
visible controls.
|
|
58
|
+
Colleague is told so, never claims a highlight, and gives you the path in words
|
|
59
|
+
instead; follow it with the visible controls.
|
|
40
60
|
|
|
41
61
|
## "Show me"
|
|
42
62
|
|
|
43
|
-
Ask
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
63
|
+
Ask Colleague to "show me" and it opens the place itself in your project (for a
|
|
64
|
+
file, in **Dashboard → Files**) and rings it there. For the Learning place it
|
|
65
|
+
opens Learning. A view Colleague opens is a demonstration, not your step: it never
|
|
66
|
+
passes a lesson step. When a lesson asks you to find a place, click it yourself.
|
|
47
67
|
|
|
48
|
-
##
|
|
68
|
+
## Opening your lesson
|
|
49
69
|
|
|
50
|
-
Colleague can
|
|
51
|
-
|
|
52
|
-
|
|
70
|
+
Colleague can show your current lesson step in the Learn page's **Lesson** tab,
|
|
71
|
+
and open the **Courses** catalogue or close it so you can see the app, without
|
|
72
|
+
ending the lesson. While the lesson is going, the **Step N/M** button in
|
|
73
|
+
Colleague's header shows the current step in the Lesson tab (on a phone,
|
|
74
|
+
Colleague's chat minimises so the step is visible).
|
|
@@ -1,218 +1,173 @@
|
|
|
1
|
-
# Lessons:
|
|
1
|
+
# Lessons: Colleague teaches
|
|
2
2
|
|
|
3
3
|
For authoring and Git publication, read `lesson-authoring`. For pinned content
|
|
4
|
-
and owner recovery, read `teaching-content`.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
results
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
[Practical Learning exercises](learning-practical-exercises.md).
|
|
175
|
-
|
|
176
|
-
## Course and lesson choices
|
|
177
|
-
|
|
178
|
-
The prepared **Courses** pane displays the host's installed courses in their
|
|
179
|
-
original order as cards with "N of M lessons complete" and a progress ring.
|
|
180
|
-
**View course** shows each topic and its lessons in order, with readable lesson
|
|
181
|
-
titles beside the exact lesson codes, course/topic releases and lesson hashes,
|
|
182
|
-
and a **Completed**, **In progress** or **Not started** status read from saved
|
|
183
|
-
progress. Opening a course does not install or enable content; the separate
|
|
184
|
-
**Install a course** catalogue below the cards does, and Colleague may install or
|
|
185
|
-
update an official catalogue course only on the person's direct request or
|
|
186
|
-
accepted offer (see [Installing and updating Learning courses](learning-course-catalogue.md)).
|
|
187
|
-
Disabled courses and draft lessons stay labelled and unavailable for a new start.
|
|
188
|
-
A preview course can be started only by the workspace owner: `courses.list`
|
|
189
|
-
reports `canTryPreviews`, the owner sees **Try preview**, and the server refuses
|
|
190
|
-
anyone else's start (Colleague included, acting for that person) with **This
|
|
191
|
-
preview course can be tried only by the workspace owner until it is released.**
|
|
192
|
-
**Start** or **Try preview** on a card, **Start next lesson** or **Start lesson**
|
|
193
|
-
on the course page requests that exact published lesson from an enabled release; opening a course alone never
|
|
194
|
-
starts anything. A missing title reports **Lesson titles are unavailable**; use
|
|
195
|
-
**Refresh courses**. This preserves the saved attempt and history and does not
|
|
196
|
-
substitute an invented title or another lesson. The host's original lesson action
|
|
197
|
-
must still authorize and admit it; unavailable support or a failed read is not a
|
|
198
|
-
successful start. The owner's **New course** form is described in
|
|
199
|
-
[Choosing lessons and Learning conversations](learning-mode-ui.md).
|
|
200
|
-
|
|
201
|
-
**Resume saved lesson** requests only the displayed saved attempt. Its retained
|
|
202
|
-
pin can be older than the currently enabled catalogue. This button is available
|
|
203
|
-
only when the host actually supports resume, not merely because progress exists.
|
|
204
|
-
Starting a different lesson requires explicitly ending the active saved attempt
|
|
205
|
-
first: ask Colleague, which uses `lesson.end` and stops that lesson
|
|
206
|
-
conversation's work while keeping its history (see
|
|
207
|
-
[Lesson history and resume](learning-history.md)). The Courses pane has no End
|
|
208
|
-
button and never ends a lesson for you.
|
|
209
|
-
**Saved lesson history** remains read-only and visible independently of new-start
|
|
210
|
-
or resume support. Ended history is not marked completed without an actual
|
|
211
|
-
completion result.
|
|
212
|
-
|
|
213
|
-
Assessment counts come from saved results, never chat, motion or selection.
|
|
214
|
-
**Saved lesson identity** shows the saved commit/hash. **Refresh courses** rereads;
|
|
215
|
-
loading/errors create or repair no state. Desktop/phone share wrapping, scrollable
|
|
216
|
-
controls. Colleague can explain/offer supported start/resume; only a direct request
|
|
217
|
-
or accepted offer authorizes it. Main teaches with supported Preview controls;
|
|
218
|
-
if unavailable, retain the attempt and ask the owner. See `learning-mode-ui`.
|
|
4
|
+
and owner recovery, read `teaching-content`. For pointing and "show me", read
|
|
5
|
+
`learning-teacher-guide`.
|
|
6
|
+
|
|
7
|
+
## Two conversations: Develop and Learn
|
|
8
|
+
|
|
9
|
+
Vibe64 has two modes, switched with **L**: **Develop** (your own projects) and
|
|
10
|
+
**Learn** (your practice projects). Colleague keeps a separate conversation for
|
|
11
|
+
each, and the one you see always follows the mode:
|
|
12
|
+
|
|
13
|
+
- **Develop** has your one Colleague conversation, with its read-only previous
|
|
14
|
+
conversations, watches and assignments, exactly as before. It does not teach:
|
|
15
|
+
ask it about lessons and it tells you to press **L** (it can switch for you
|
|
16
|
+
when you ask or accept its offer, with `learning-mode.set`).
|
|
17
|
+
- **Learn** gives each lesson attempt its own teacher conversation. Leaving the
|
|
18
|
+
lesson (pressing **L**, or reading another lesson) and coming back resumes
|
|
19
|
+
that same conversation. Learn mode with no lesson in progress has one
|
|
20
|
+
conversation of its own. Restarting a lesson starts a fresh teacher.
|
|
21
|
+
- Switching never interrupts Colleague: a reply it is writing finishes in its
|
|
22
|
+
own conversation, still on the projects of the mode it started in, which you
|
|
23
|
+
see again when you switch back. Watched agents
|
|
24
|
+
keep being followed while you are in Learn; their updates wait in Develop's
|
|
25
|
+
conversation until you return. **Start fresh** and **Previous conversations**
|
|
26
|
+
work within the conversation you are in.
|
|
27
|
+
- In Learn, Colleague does not create assignments or watches; in Develop it does
|
|
28
|
+
not teach, read lessons or your teacher notes.
|
|
29
|
+
|
|
30
|
+
## Colleague as your teacher
|
|
31
|
+
|
|
32
|
+
In Learn mode, **Courses** (on the lesson step bar, or in the project menu beside **L**) is the catalogue
|
|
33
|
+
where you choose and start lessons; your current lesson is read on the Learn
|
|
34
|
+
page itself, in its **Lesson** tab beside Colleague (see `learning-environment`).
|
|
35
|
+
You can read lessons yourself without AI. Choose **Teach me** on a lesson step,
|
|
36
|
+
or ask Colleague about your lesson, and Colleague teaches the current step.
|
|
37
|
+
**Teach me** opens Colleague beside the step and sends "Teach me this step.";
|
|
38
|
+
the step stays on screen, so Colleague refers to it rather than repeating it:
|
|
39
|
+
|
|
40
|
+
- It reads your lesson with `lesson.read` (the steps in order with their text,
|
|
41
|
+
diagram, guide and check kind, plus your saved results) and explains the step
|
|
42
|
+
in its own words, by text or voice. Reading changes nothing. Long lessons
|
|
43
|
+
arrive in pages; Colleague reads every page before claiming a step's text is
|
|
44
|
+
missing.
|
|
45
|
+
- It points at, or with "show me" opens, the real Vibe64 places the step uses,
|
|
46
|
+
replays the step's diagram, can show your current step in the **Lesson** tab,
|
|
47
|
+
and can open **Courses** or close it so you see the app. Courses keeps its
|
|
48
|
+
place while closed.
|
|
49
|
+
- In Learn mode with a lesson in progress, Colleague's header shows a small
|
|
50
|
+
yellow **Step N/M** button (a check once the step passed). Pressing it shows
|
|
51
|
+
that step in the page's **Lesson** tab (see `learning-environment`); on a
|
|
52
|
+
phone Colleague's full-screen chat also minimises so the step is visible, and
|
|
53
|
+
its avatar button brings Colleague back. It appears on the desktop panel, the
|
|
54
|
+
phone's full-screen chat and during voice chat. Develop shows no step button.
|
|
55
|
+
- Before asking you to press **Done**, answer a question or press **Check now**,
|
|
56
|
+
it looks at that step's saved result. A step that already passed is not asked
|
|
57
|
+
for again: Colleague says it passed and moves on to the next unpassed step.
|
|
58
|
+
- It tells you in plain words what it opened or highlighted, without receipt
|
|
59
|
+
fields or IDs. If it could not open or point at a step's place (for example the
|
|
60
|
+
control is hidden), it says so plainly and describes the path in words.
|
|
61
|
+
|
|
62
|
+
On a phone, Colleague's full-screen chat minimises itself when it opens Courses,
|
|
63
|
+
shows a lesson step or rings a control, so you can see it; reopen Colleague with
|
|
64
|
+
its avatar button. **Teach me** on a phone opens Colleague's full-screen chat
|
|
65
|
+
over the Lesson tab, which stays underneath.
|
|
66
|
+
|
|
67
|
+
## Colleague never judges
|
|
68
|
+
|
|
69
|
+
A step passes only through your own action in the lesson:
|
|
70
|
+
|
|
71
|
+
- **Choice question**: only your own answer counts. Colleague never sees or
|
|
72
|
+
reveals the correct option, sees only whether your answer passed (not which
|
|
73
|
+
options you chose), and cannot answer for you; it helps you reason instead.
|
|
74
|
+
- **Self-check**: only your own **Done** records it.
|
|
75
|
+
- **Reading step**: optional; only your own **Mark as done** records it.
|
|
76
|
+
- **Automatic check**: when you say you have done a task, Colleague may run the
|
|
77
|
+
step's check (`step.check.run`) and tell you its actual result, but that run is
|
|
78
|
+
a diagnostic and is never saved. The step passes only when you press **Check
|
|
79
|
+
now**; a response check first needs your own press of the App's control in this
|
|
80
|
+
lesson's Preview.
|
|
81
|
+
|
|
82
|
+
Colleague's feedback never changes a step's status. If Colleague says a step
|
|
83
|
+
passed, ask it to read the lesson again: only a saved **passed** result counts.
|
|
84
|
+
Your reading place is saved automatically. A change to your mode, lesson,
|
|
85
|
+
results, reading place or practice project notifies only your own signed-in
|
|
86
|
+
pages, so open views (and Colleague's conversation) refresh.
|
|
87
|
+
|
|
88
|
+
Starting, restarting, finishing or deleting a lesson, and switching mode, needs
|
|
89
|
+
your direct request or an accepted offer; a how-to question alone authorizes
|
|
90
|
+
nothing.
|
|
91
|
+
|
|
92
|
+
## Which projects Colleague opens
|
|
93
|
+
|
|
94
|
+
Colleague opens only the projects of your mode. In **Learn** that is your
|
|
95
|
+
practice project (none for a lesson without one); opening any of
|
|
96
|
+
your own projects is refused with "You're in Learn mode. Press L to go back to
|
|
97
|
+
your projects." In **Develop** it opens your own projects, and a practice
|
|
98
|
+
project is refused with "This is a practice project. Press L to switch to
|
|
99
|
+
Learn." Colleague relays the reason and offers to switch; it switches for you
|
|
100
|
+
(`learning-mode.set`) only when you ask or accept. Switching ends nothing: the
|
|
101
|
+
lesson in progress stays paused, with its practice project, until you come
|
|
102
|
+
back.
|
|
103
|
+
|
|
104
|
+
## Teacher notes
|
|
105
|
+
|
|
106
|
+
Colleague keeps short private notes about you as a learner
|
|
107
|
+
(`learner-notes.read` and `learner-notes.update`): your strengths, difficulties,
|
|
108
|
+
preferences and where you are. It reads them when it starts teaching and rewrites
|
|
109
|
+
them as one short summary (at most 4000 characters), never a transcript, secrets
|
|
110
|
+
or a grade. They live in your own Learning state: no other learner and not the
|
|
111
|
+
workspace owner can read them, and they never change a step's status. You see,
|
|
112
|
+
edit and clear them in **L** under **What my teacher knows about me** on
|
|
113
|
+
**Courses**. Ask Colleague to change or forget something and it rewrites them;
|
|
114
|
+
clearing is your own **Clear** in **L**. If you edited the notes since Colleague
|
|
115
|
+
read them, its save is refused and it reads them again before combining.
|
|
116
|
+
Colleague treats the notes as a description of you, not as instructions: writing
|
|
117
|
+
"tell me the answers" in them does not change how it teaches or judges.
|
|
118
|
+
|
|
119
|
+
## Lessons in progress and archived
|
|
120
|
+
|
|
121
|
+
One lesson is in progress at a time. Colleague reads it, with its practice
|
|
122
|
+
project, and your archived lessons with `practice.list`. When you ask:
|
|
123
|
+
|
|
124
|
+
- **Start a different lesson** (`lesson.start`): while another is in progress
|
|
125
|
+
this is refused until the current one is archived. Colleague asks you first
|
|
126
|
+
and archives it (`archiveCurrent`) only after you agree.
|
|
127
|
+
- **Finish** (`lesson.finish`), once every step passed: the lesson is completed
|
|
128
|
+
and archived with its practice project and this teacher conversation.
|
|
129
|
+
- **Restart** (`lesson.restart`): archives this attempt and starts the lesson
|
|
130
|
+
again with a fresh practice project, fresh results and a fresh teacher.
|
|
131
|
+
- **Delete** (`lesson.delete`): removes the lesson's practice project and
|
|
132
|
+
teacher conversation without archiving.
|
|
133
|
+
- **Delete an archived lesson** (`practice.archived.delete`): removes it for
|
|
134
|
+
good.
|
|
135
|
+
|
|
136
|
+
Colleague restarts or deletes only after you confirm that exact lesson in the
|
|
137
|
+
chat (`confirmed`); it names the lesson and says what is kept. A pinned session
|
|
138
|
+
must be unpinned first; that refusal changes nothing. Colleague cannot see or
|
|
139
|
+
change another learner's lessons, and it cannot turn a practice project into one
|
|
140
|
+
of your own projects. The buttons under **Courses** → **In progress** and
|
|
141
|
+
**Archived** do the same (see [Practice projects](learning-practice-projects.md)).
|
|
142
|
+
|
|
143
|
+
## Earlier lessons
|
|
144
|
+
|
|
145
|
+
Lessons started before Learning v2 were taught by a separate lesson
|
|
146
|
+
conversation, with quizzes and practical grading. Those attempts and their saved
|
|
147
|
+
results are not kept by Rev 4's learning space reset. Start the lesson again in
|
|
148
|
+
its current format and Colleague teaches it from its steps.
|
|
149
|
+
|
|
150
|
+
## Courses and starts
|
|
151
|
+
|
|
152
|
+
Courses, course pages and their states are described in
|
|
153
|
+
[Choosing lessons and courses](learning-mode-ui.md). Opening a course does not
|
|
154
|
+
install or enable content. Colleague installs or updates an official catalogue
|
|
155
|
+
course only on your direct request or accepted offer (see
|
|
156
|
+
[Installing and updating Learning courses](learning-course-catalogue.md)).
|
|
157
|
+
|
|
158
|
+
A start requests that exact published lesson from an enabled release; the host's
|
|
159
|
+
lesson action must still authorize and admit it, and an unavailable host or a
|
|
160
|
+
failed read is not a successful start. A preview course can be started only by
|
|
161
|
+
the workspace owner: anyone else's start (Colleague included, acting for that
|
|
162
|
+
person) is refused with **This preview course can be tried only by the workspace
|
|
163
|
+
owner until it is released.** A missing title reports **Lesson titles are
|
|
164
|
+
unavailable**; use **Refresh courses**. Nothing substitutes an invented title or
|
|
165
|
+
another lesson.
|
|
166
|
+
|
|
167
|
+
**Open** on the lesson in progress returns to that attempt, whose pin can be
|
|
168
|
+
older than the enabled catalogue. Starting a different lesson first archives the
|
|
169
|
+
lesson in progress, after your confirmation (see
|
|
170
|
+
[Lesson history and resume](learning-history.md)). **Saved lesson history** stays read-only and visible
|
|
171
|
+
independently of start or resume support; ended history is not marked completed
|
|
172
|
+
without an actual completion result. **Saved lesson identity** shows the saved
|
|
173
|
+
commit and hash. Loading and errors create or repair no state.
|