vibe64 0.1.35 → 0.1.37
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 +1984 -1685
- package/bin/server.js +158 -111
- package/bin/upgrade-state.js +5754 -5522
- package/dist/assets/GithubBrowserTabs-BykoCFfz.js +1 -0
- package/dist/assets/{StudioErrorNotice-sQfmeR-z.js → StudioErrorNotice-CSrUw1QV.js} +1 -1
- package/dist/assets/{Vibe64AsyncModuleState-Dx7YKRPp.js → Vibe64AsyncModuleState-Do9EqX3S.js} +1 -1
- package/dist/assets/Vibe64AuthSettingsButton-CIwtchKm.js +5 -0
- package/dist/assets/Vibe64AuthSettingsButton-M44SSmZ9.css +1 -0
- package/dist/assets/{Vibe64DashboardBackButton-yE6cyYg2.js → Vibe64DashboardBackButton-BH_8j_VR.js} +1 -1
- package/dist/assets/Vibe64DashboardShell-DXVDJUAY.js +1 -0
- package/dist/assets/{Vibe64DashboardShell-MBkUHjs-.css → Vibe64DashboardShell-De2mbdpI.css} +1 -1
- package/dist/assets/{Vibe64DatabaseWorkspace-BONJdxBS.js → Vibe64DatabaseWorkspace-Ca8IHSRq.js} +3 -3
- package/dist/assets/{Vibe64DatabaseWorkspace-CR4pzzcf.css → Vibe64DatabaseWorkspace-DPDMxhAW.css} +1 -1
- package/dist/assets/Vibe64OutputControls-Co5YzwcK.css +1 -0
- package/dist/assets/Vibe64OutputControls-DngQNTTt.js +8 -0
- package/dist/assets/{Vibe64RepositoryWorkspace-CVHcT93M.css → Vibe64RepositoryWorkspace-Agyt4O-V.css} +1 -1
- package/dist/assets/{Vibe64RepositoryWorkspace-ByQlZbyO.js → Vibe64RepositoryWorkspace-BfsZozSJ.js} +2 -2
- package/dist/assets/Vibe64SessionFiles-Bl8wJ5Sk.css +1 -0
- package/dist/assets/Vibe64SessionFiles-n87RqqY6.js +41 -0
- package/dist/assets/{Vibe64TemporaryAiFixAction-BGlcrq4d.js → Vibe64TemporaryAiFixAction-BiuIE9mC.js} +1 -1
- package/dist/assets/{Vibe64UiStoryboardView-Brlwdvqi.js → Vibe64UiStoryboardView-BhKRpL0N.js} +1 -1
- package/dist/assets/{Vibe64UnavailableSessions-zwlWlcZD.js → Vibe64UnavailableSessions-Ca5nC7KH.js} +1 -1
- package/dist/assets/{_sessionId_-CvOkQbVy.js → _sessionId_-B_TTRB4c.js} +1 -1
- package/dist/assets/{_sessionTool_-Dwod5ns9.js → _sessionTool_-1V-z6Pbp.js} +1 -1
- package/dist/assets/_slug_-Buxpw0T4.css +1 -0
- package/dist/assets/_slug_-DsqilUs_.js +24 -0
- package/dist/assets/{access-BVu5XYm2.js → access-tl4ht_d8.js} +1 -1
- package/dist/assets/app-CZu7oxUO.css +1 -0
- package/dist/assets/app-DT4_MliP.js +1 -0
- package/dist/assets/{assistantRouting-CwbwfkwB.js → assistantRouting-D4XpXcEf.js} +1 -1
- package/dist/assets/{changes-olY8cnFK.js → changes-DZWHZguL.js} +1 -1
- package/dist/assets/client-BWV84wi2.js +2 -0
- package/dist/assets/client-DGrP-2AJ.css +1 -0
- package/dist/assets/conversation-B90ERX9h.js +17 -0
- package/dist/assets/conversation-vxJGwmtW.css +1 -0
- package/dist/assets/{dashboard-BnXD-H4R.js → dashboard-iREwhGqv.js} +1 -1
- package/dist/assets/definitions-CNu5E87y.js +1 -0
- package/dist/assets/{env-DJhnLOH7.css → env-BzRtyO0w.css} +1 -1
- package/dist/assets/env-D5KpTEw7.js +1 -0
- package/dist/assets/health-BJvooRnJ.css +1 -0
- package/dist/assets/health-BhoO1d4h.js +1 -0
- package/dist/assets/{history-BxlpB-YH.js → history-DVURy45X.js} +1 -1
- package/dist/assets/{incoming-BOxRVlOM.js → incoming-DzADFGqp.js} +1 -1
- package/dist/assets/index-GBRpNZLy.js +138 -0
- package/dist/assets/index-irlMYzLh.css +1 -0
- package/dist/assets/{integrations-BFltGDVI.js → integrations-Dy5jIiJ5.js} +2 -2
- package/dist/assets/issues-lh7R775d.js +1 -0
- package/dist/assets/learning-_O1PEaam.js +1 -0
- package/dist/assets/mdi-CG9pWOSj.js +1 -0
- package/dist/assets/placement-BF-zIEhA.js +1 -0
- package/dist/assets/pull-requests-ByE-Dvk7.js +1 -0
- package/dist/assets/{repository-JWLVST3D.js → repository-BUfUAyS9.js} +1 -1
- package/dist/assets/roboto-latin-wght-normal-ccAYIvAh.woff2 +0 -0
- package/dist/assets/{session-C5Nj8Dlq.js → session-BdhKrcX4.js} +1 -1
- package/dist/assets/settings-CzhIcn9K.js +1 -0
- package/dist/assets/shared-DpMvYJO3.js +2 -0
- package/dist/assets/studioGateApi-DcCqiD9V.js +1 -0
- package/dist/assets/studioUrls-DmMMIScP.js +1 -0
- package/dist/assets/useArchivedVibe64Sessions-CLHJOyeW.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-B4JgmxUf.js +1 -0
- package/dist/assets/useVibe64DatabaseTools-4o6S8eXq.js +1 -0
- package/dist/assets/useVibe64Learning-DyqXkpLw.js +1 -0
- package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +1 -0
- package/dist/assets/useVibe64SessionData-YhhE_5pC.js +1 -0
- package/dist/assets/useVibe64SessionSelection-CuZCzAcY.js +1 -0
- package/dist/assets/useVibe64SystemGraph-B4RmsC9Y.js +1 -0
- package/dist/assets/{useVibe64Terminal-BPnN25WH.js → useVibe64Terminal-Cg3idMcy.js} +1 -1
- package/dist/assets/vibe64AssistantHost-CP6oxv5b.js +1 -0
- package/dist/assets/{vibe64SessionFocus-kqPOPaOH.js → vibe64SessionFocus-Cz5Vq1re.js} +1 -1
- package/dist/assets/{vibe64SessionInfo-BHxtTrLX.js → vibe64SessionInfo-BuBUdL-e.js} +1 -1
- package/dist/assets/{vibe64SessionPanelModel-BMf64fv7.js → vibe64SessionPanelModel-DDorOuiL.js} +1 -1
- package/dist/assets/{vibe64SessionToolDefinitions-NfLd1HZI.js → vibe64SessionToolDefinitions-BJaJH5LR.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 +127 -16
- package/docs/colleague-usage/ai-onboarding.md +229 -0
- package/docs/colleague-usage/coding-agent-goal-pause.md +5 -5
- package/docs/colleague-usage/coding-agents.md +21 -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 +10 -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 +337 -0
- package/docs/colleague-usage/learning-history.md +70 -101
- package/docs/colleague-usage/learning-mode-ui.md +129 -214
- package/docs/colleague-usage/learning-practice-projects.md +178 -78
- package/docs/colleague-usage/learning-teacher-guide.md +48 -26
- package/docs/colleague-usage/learning-with-colleague.md +195 -216
- package/docs/colleague-usage/lesson-authoring.md +41 -24
- package/docs/colleague-usage/lesson-step-bar.md +99 -0
- 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 +12 -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 +14 -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 +319 -66
- 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-execution/src/server/hostProfile.js +12 -0
- 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 +2 -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 +16 -27
- package/package.json +7 -7
- package/server.bundle.mjs +41339 -41635
- 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,218 +1,197 @@
|
|
|
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
|
-
|
|
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
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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
|
+
**I'm stuck** (in the lesson step bar, see `lesson-step-bar`, on a *do* line or a step its own check
|
|
40
|
+
decides, and in the step beside **Teach me**, until the step passes) opens Colleague the same way and sends "I'm stuck on this
|
|
41
|
+
step."; Colleague looks at where you are and helps you get unstuck. It never
|
|
42
|
+
passes the step for you:
|
|
43
|
+
|
|
44
|
+
- It reads your lesson with `lesson.read` (the steps in order with their text,
|
|
45
|
+
diagram, guide and check kind, plus your saved results) and explains the step
|
|
46
|
+
in its own words, by text or voice. Reading changes nothing. Long lessons
|
|
47
|
+
arrive in pages; Colleague reads every page before claiming a step's text is
|
|
48
|
+
missing.
|
|
49
|
+
- It points at, or with "show me" opens, the real Vibe64 places the step uses,
|
|
50
|
+
replays the step's diagram, can show your current step in the **Lesson** tab,
|
|
51
|
+
and can open **Courses** or close it so you see the app. Courses keeps its
|
|
52
|
+
place while closed.
|
|
53
|
+
- In Learn mode with a lesson in progress, Colleague's header shows a small
|
|
54
|
+
yellow **Step N/M** button (a check once the step passed). Pressing it shows
|
|
55
|
+
that step in the page's **Lesson** tab (see `learning-environment`); on a
|
|
56
|
+
phone Colleague's full-screen chat also minimises so the step is visible, and
|
|
57
|
+
its avatar button brings Colleague back. It appears on the desktop panel, the
|
|
58
|
+
phone's full-screen chat and during voice chat. Develop shows no step button.
|
|
59
|
+
- Before asking you to press **Done**, answer a question or press **Check now**,
|
|
60
|
+
it looks at that step's saved result. A step that already passed is not asked
|
|
61
|
+
for again: Colleague says it passed and moves on to the next unpassed step.
|
|
62
|
+
- It tells you in plain words what it opened or highlighted, without receipt
|
|
63
|
+
fields or IDs. If it could not open or point at a step's place (for example the
|
|
64
|
+
control is hidden), it says so plainly and describes the path in words.
|
|
65
|
+
|
|
66
|
+
On a phone, Colleague's full-screen chat minimises itself when it opens Courses,
|
|
67
|
+
shows a lesson step or rings a control, so you can see it; reopen Colleague with
|
|
68
|
+
its avatar button. **Teach me** on a phone opens Colleague's full-screen chat
|
|
69
|
+
over the Lesson tab, which stays underneath.
|
|
70
|
+
|
|
71
|
+
## Colleague never judges
|
|
72
|
+
|
|
73
|
+
A step passes only through your own action in the lesson:
|
|
74
|
+
|
|
75
|
+
- **Choice question**: only your own answer counts. Colleague never sees or
|
|
76
|
+
reveals the correct option, sees only whether your answer passed (not which
|
|
77
|
+
options you chose), and cannot answer for you; it helps you reason instead.
|
|
78
|
+
- **Self-check**: only your own **Done** records it.
|
|
79
|
+
- **Reading step**: optional; only your own **Mark as done** records it.
|
|
80
|
+
- **Automatic check**: when you say you have done a task, Colleague may run the
|
|
81
|
+
step's check (`step.check.run`) and tell you its actual result, but that run is
|
|
82
|
+
a diagnostic and is never saved. The step passes only when you press **Check
|
|
83
|
+
now**; a response check first needs your own press of the App's control in this
|
|
84
|
+
lesson's Preview.
|
|
85
|
+
- **Review check**: the step shows its rubric, what your finished work must
|
|
86
|
+
show. Only your own **Check my work** asks your own AI (your Helper route in
|
|
87
|
+
**AI Accounts → Model routing**) to review your practice work against it;
|
|
88
|
+
Colleague never runs a review for you. A review answers **Passed** (final) or
|
|
89
|
+
**Not yet** with a comment and a hint. While the coding agent is still
|
|
90
|
+
working it says "Wait until the agent finishes"; with nothing changed yet it
|
|
91
|
+
says "No changes yet" without asking your AI; pressing again without new
|
|
92
|
+
work shows the same review. When the review cannot finish (no Helper route,
|
|
93
|
+
the provider failed, or the reply was unusable) nothing is recorded: fix the
|
|
94
|
+
cause and press it again.
|
|
95
|
+
- **When you are stuck**: Colleague can read your practice work for the
|
|
96
|
+
current step (`step.evidence.read`): the files you changed since the lesson
|
|
97
|
+
started and their diff, the lesson's coding conversation when the step's
|
|
98
|
+
review uses it, the rubric and your last review. It uses this to help you
|
|
99
|
+
with the next move; reading it never passes a step.
|
|
100
|
+
|
|
101
|
+
Colleague's feedback never changes a step's status. If Colleague says a step
|
|
102
|
+
passed, ask it to read the lesson again: only a saved **passed** result counts.
|
|
103
|
+
Your reading place is saved automatically. A change to your mode, lesson,
|
|
104
|
+
results, reading place or practice project notifies only your own signed-in
|
|
105
|
+
pages, so open views (and Colleague's conversation) refresh.
|
|
106
|
+
|
|
107
|
+
Starting, restarting, finishing or deleting a lesson, and switching mode, needs
|
|
108
|
+
your direct request or an accepted offer; a how-to question alone authorizes
|
|
109
|
+
nothing.
|
|
110
|
+
|
|
111
|
+
## Which projects Colleague opens
|
|
112
|
+
|
|
113
|
+
Colleague opens only the projects of your mode. In **Learn** that is your
|
|
114
|
+
practice project (none for a lesson without one); opening any of
|
|
115
|
+
your own projects is refused with "You're in Learn mode. Press L to go back to
|
|
116
|
+
your projects." In **Develop** it opens your own projects, and a practice
|
|
117
|
+
project is refused with "This is a practice project. Press L to switch to
|
|
118
|
+
Learn." Colleague relays the reason and offers to switch; it switches for you
|
|
119
|
+
(`learning-mode.set`) only when you ask or accept. Switching ends nothing: the
|
|
120
|
+
lesson in progress stays paused, with its practice project, until you come
|
|
121
|
+
back.
|
|
122
|
+
|
|
123
|
+
## Teacher notes
|
|
124
|
+
|
|
125
|
+
Colleague keeps short private notes about you as a learner
|
|
126
|
+
(`learner-notes.read` and `learner-notes.update`): your strengths, difficulties,
|
|
127
|
+
preferences and where you are. It reads them when it starts teaching and rewrites
|
|
128
|
+
them as one short summary (at most 4000 characters), never a transcript, secrets
|
|
129
|
+
or a grade. They live in your own Learning state: no other learner and not the
|
|
130
|
+
workspace owner can read them, and they never change a step's status. You see,
|
|
131
|
+
edit and clear them in **L** under **What my teacher knows about me** on
|
|
132
|
+
**Courses**. Ask Colleague to change or forget something and it rewrites them;
|
|
133
|
+
clearing is your own **Clear** in **L**. If you edited the notes since Colleague
|
|
134
|
+
read them, its save is refused and it reads them again before combining.
|
|
135
|
+
Colleague treats the notes as a description of you, not as instructions: writing
|
|
136
|
+
"tell me the answers" in them does not change how it teaches or judges.
|
|
137
|
+
|
|
138
|
+
## Lessons in progress and archived
|
|
139
|
+
|
|
140
|
+
One lesson is in progress at a time. Colleague reads it, with its practice
|
|
141
|
+
project, and your archived lessons with `practice.list`. When you ask:
|
|
142
|
+
|
|
143
|
+
- **Start a different lesson** (`lesson.start`): while another is in progress
|
|
144
|
+
this is refused until the current one is archived. Colleague asks you first
|
|
145
|
+
and archives it (`archiveCurrent`) only after you agree.
|
|
146
|
+
- **Finish** (`lesson.finish`), once every step passed: the lesson is completed
|
|
147
|
+
and archived with its practice project and this teacher conversation.
|
|
148
|
+
- **Restart** (`lesson.restart`): archives this attempt and starts the lesson
|
|
149
|
+
again with a fresh practice project, fresh results and a fresh teacher.
|
|
150
|
+
- **Delete** (`lesson.delete`): removes the lesson's practice project and
|
|
151
|
+
teacher conversation without archiving.
|
|
152
|
+
- **Delete an archived lesson** (`practice.archived.delete`): removes it for
|
|
153
|
+
good.
|
|
154
|
+
|
|
155
|
+
Only the 3 newest archived lessons with a practice project keep it; archiving
|
|
156
|
+
another removes the oldest one's project and keeps its record and conversation
|
|
157
|
+
(`hasProject` in `practice.list` says which still have one). Colleague says so
|
|
158
|
+
when a finish, restart or archive will do this.
|
|
159
|
+
|
|
160
|
+
Colleague restarts or deletes only after you confirm that exact lesson in the
|
|
161
|
+
chat (`confirmed`); it names the lesson and says what is kept. A pinned session
|
|
162
|
+
must be unpinned first; that refusal changes nothing. Colleague cannot see or
|
|
163
|
+
change another learner's lessons, and it cannot turn a practice project into one
|
|
164
|
+
of your own projects. The buttons under **Courses** → **In progress** and
|
|
165
|
+
**Archived** do the same (see [Practice projects](learning-practice-projects.md)).
|
|
166
|
+
|
|
167
|
+
## Earlier lessons
|
|
168
|
+
|
|
169
|
+
Lessons started before Learning v2 were taught by a separate lesson
|
|
170
|
+
conversation, with quizzes and practical grading. Those attempts and their saved
|
|
171
|
+
results are not kept by Rev 4's learning space reset. Start the lesson again in
|
|
172
|
+
its current format and Colleague teaches it from its steps.
|
|
173
|
+
|
|
174
|
+
## Courses and starts
|
|
175
|
+
|
|
176
|
+
Courses, course pages and their states are described in
|
|
177
|
+
[Choosing lessons and courses](learning-mode-ui.md). Opening a course does not
|
|
178
|
+
install or enable content. Colleague installs or updates an official catalogue
|
|
179
|
+
course only on your direct request or accepted offer (see
|
|
180
|
+
[Installing and updating Learning courses](learning-course-catalogue.md)).
|
|
181
|
+
|
|
182
|
+
A start requests that exact published lesson from an enabled release; the host's
|
|
183
|
+
lesson action must still authorize and admit it, and an unavailable host or a
|
|
184
|
+
failed read is not a successful start. A preview course can be started only by
|
|
185
|
+
the workspace owner: anyone else's start (Colleague included, acting for that
|
|
186
|
+
person) is refused with **This preview course can be tried only by the workspace
|
|
187
|
+
owner until it is released.** A missing title reports **Lesson titles are
|
|
188
|
+
unavailable**; use **Refresh courses**. Nothing substitutes an invented title or
|
|
189
|
+
another lesson.
|
|
190
|
+
|
|
191
|
+
**Open** on the lesson in progress returns to that attempt, whose pin can be
|
|
192
|
+
older than the enabled catalogue. Starting a different lesson first archives the
|
|
193
|
+
lesson in progress, after your confirmation (see
|
|
194
|
+
[Lesson history and resume](learning-history.md)). **Saved lesson history** stays read-only and visible
|
|
195
|
+
independently of start or resume support; ended history is not marked completed
|
|
196
|
+
without an actual completion result. **Saved lesson identity** shows the saved
|
|
197
|
+
commit and hash. Loading and errors create or repair no state.
|
|
@@ -4,7 +4,8 @@ Ask Colleague to coordinate a coding agent, review the lesson in the same sessio
|
|
|
4
4
|
and publish its source through the existing Save or pull-request workflow.
|
|
5
5
|
Colleague can operate those controls when requested; it does not edit files or
|
|
6
6
|
run a shell itself. Git publication, pinned course material and installation are
|
|
7
|
-
separate results. The current
|
|
7
|
+
separate results. The current Getting started course has four step-based lessons
|
|
8
|
+
(V64-START-00 to V64-START-03).
|
|
8
9
|
|
|
9
10
|
## Choose the authoring target
|
|
10
11
|
|
|
@@ -15,24 +16,22 @@ connection, repository access and Git author identity remain the person's normal
|
|
|
15
16
|
account steps. Opening, creating or importing a new GitHub project uses the
|
|
16
17
|
existing hosted UI; Colleague must not invent an import or source-access tool.
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
button/check correlation and
|
|
21
|
-
request explicitly changes that content. New lesson content may be authored as
|
|
19
|
+
To improve an existing lesson, revise it in its topic rather than exposing a
|
|
20
|
+
duplicate lesson. Preserve its permanent lesson and step IDs, its declared checks
|
|
21
|
+
(including the actual App button/check correlation) and its SVG/controller
|
|
22
|
+
protocol unless the person's request explicitly changes that content. New lesson content may be authored as
|
|
22
23
|
a draft using the existing template below; a draft is not another learner release.
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
workspace, application and diagram evidence before calling the candidate ready;
|
|
29
|
-
content validation does not supply missing teaching controls. Changed teaching
|
|
25
|
+
Colleague teaches every lesson from its steps in the Learning environment.
|
|
26
|
+
Review genuine workspace,
|
|
27
|
+
application and diagram evidence before calling the candidate ready; content
|
|
28
|
+
validation does not supply missing teaching controls. Changed teaching
|
|
30
29
|
text needs a new immutable topic/course pin, keeping earlier learners’ versions.
|
|
31
30
|
|
|
32
31
|
## Delegate and review
|
|
33
32
|
|
|
34
33
|
For example: “In this lesson-authoring project and session, improve the introduction's
|
|
35
|
-
wording, keep its
|
|
34
|
+
wording, keep its step IDs, checks and App/diagram contracts, validate and bundle it,
|
|
36
35
|
arrange a review, then publish the source as a draft PR. Do not install or enable it.”
|
|
37
36
|
This is an example instruction, never authority to execute it without the person's
|
|
38
37
|
actual request. A how-to question makes no edits, assignment or external write.
|
|
@@ -94,8 +93,28 @@ Vibe64 command. These authoring commands do not by themselves expose a learner c
|
|
|
94
93
|
install a topic or start a lesson. Do not offer to start a course merely because
|
|
95
94
|
its files validate.
|
|
96
95
|
|
|
97
|
-
Use a topic repository whose name begins with `learn-`. Keep the
|
|
98
|
-
|
|
96
|
+
Use a topic repository whose name begins with `learn-`. Keep the lesson
|
|
97
|
+
descriptors, step texts, SVG descriptors, checks and runnable exercise in that
|
|
98
|
+
repository. An exercise needs no `.gitignore` for Vibe64's agent guidance
|
|
99
|
+
folders (`.agents`, `.claude`, `.codex`, `.opencode`): practice projects keep
|
|
100
|
+
them out of the learner's changes by themselves. New lessons use lesson format v2 (`schemaVersion: 2`): optional
|
|
101
|
+
notes and 1–32 ordered steps. Each step has a Markdown body a learner can read
|
|
102
|
+
without AI, an optional diagram to play, and either an optional guide that
|
|
103
|
+
points at a real Vibe64 place or a short `beats` block at the end of its text
|
|
104
|
+
that the lesson step bar plays (show a place, wait for the learner to do
|
|
105
|
+
something, offer the step's check; see "Beats" in `docs/training-content.md`),
|
|
106
|
+
and one check: `auto` (a declared check against the
|
|
107
|
+
learner's own exercise work), `choice` (multiple choice with an answer kept on
|
|
108
|
+
the server), `review` (the learner presses **Check my work** and their own AI
|
|
109
|
+
reviews their practice work against the author's rubric; it needs the
|
|
110
|
+
exercise, and `evidence` may add the lesson's coding conversation to the
|
|
111
|
+
changes), `self` (the learner presses **Done**) or `none` (reading only, never
|
|
112
|
+
required; the learner may still press **Mark as done**). Check verdicts come
|
|
113
|
+
from the declared check and are final; a review may pass a required step.
|
|
114
|
+
Prefer an `auto` check where a deterministic check can decide, and write the
|
|
115
|
+
rubric as what the finished work shows. Colleague never passes a step and
|
|
116
|
+
never runs a review. Older v1 lessons (teaching document plus
|
|
117
|
+
assessments) still validate for history but cannot be started.
|
|
99
118
|
The installed `docs/templates/learn-topic/` directory supplies a copyable whole
|
|
100
119
|
topic. The author copies it to a new directory, follows its README to choose
|
|
101
120
|
permanent identifiers and replace placeholder content, then validates it. Its
|
|
@@ -113,7 +132,7 @@ These commands use that session's existing filesystem and Git access. Keep the
|
|
|
113
132
|
inputs and outputs within the authorised authoring assignment. They do not grant
|
|
114
133
|
Colleague source access or permit a coding agent to install or enable courses.
|
|
115
134
|
Success lists ordered lesson hashes and distinguishes published lessons from drafts.
|
|
116
|
-
A failure means the author must correct the reported schema,
|
|
135
|
+
A failure means the author must correct the reported schema, step, check, reference or
|
|
117
136
|
path problem; it does not change their project or learning history.
|
|
118
137
|
|
|
119
138
|
To produce local release material, the author runs
|
|
@@ -168,9 +187,9 @@ operator steps below remain for content outside that catalogue, for an author's
|
|
|
168
187
|
own snapshots, and for disabling a release.
|
|
169
188
|
|
|
170
189
|
In supported hosted installations, ask Colleague to admit your exact clean
|
|
171
|
-
committed snapshot from the authorized authoring session. Then
|
|
172
|
-
|
|
173
|
-
|
|
190
|
+
committed snapshot from the authorized authoring session. Then open Learning with
|
|
191
|
+
**L**; on its **Courses** tab the **Author trial** card shows the snapshot's lesson
|
|
192
|
+
and release, and **Resume author trial** opens it in the ordinary lesson reader, the page's **Lesson** tab. This saved trial has isolated progress; it is not an
|
|
174
193
|
enabled learner course. Ordinary **Start** still requires a published lesson in
|
|
175
194
|
an enabled release. Local validation/bundling alone admits no trial. Do not change
|
|
176
195
|
a draft's status to bypass that guard or report a trial as published progress.
|
|
@@ -199,13 +218,11 @@ then reads the fresh installed catalogue before changing enablement. Colleague c
|
|
|
199
218
|
list the resulting enabled course through its normal learning query after the
|
|
200
219
|
operator completes this step; absence is not permission to fabricate a substitute.
|
|
201
220
|
Existing attempts keep their saved pins. Source publication alone does not prove
|
|
202
|
-
installation, learner delivery,
|
|
221
|
+
installation, learner delivery, step completion or pilot acceptance.
|
|
203
222
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
move an answer or a diagram checkpoint into another lesson's progress. The
|
|
208
|
-
saved trial control uses the original snapshot admission and explicit refresh
|
|
223
|
+
Each step result stays attached to its exact lesson attempt. Switching the
|
|
224
|
+
displayed Preview or project is not permission to move an answer or a check
|
|
225
|
+
result into another lesson's progress. The saved trial control uses the original snapshot admission and explicit refresh
|
|
209
226
|
operations described above. Edited source requires a deliberately ended old trial
|
|
210
227
|
and a newly admitted committed snapshot; Resume keeps the existing pin.
|
|
211
228
|
|