copilotkit 4.9.60 → 4.10.0

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.
Files changed (73) hide show
  1. package/cli-build-info.json +7 -7
  2. package/index.js +324 -162
  3. package/onboarding/index.json +81 -18
  4. package/onboarding/prompts/authenticate/start.md +41 -202
  5. package/onboarding/prompts/conversion/plan.md +3 -3
  6. package/onboarding/prompts/credentials/finalize-plan.md +15 -129
  7. package/onboarding/prompts/credentials/plan.md +20 -20
  8. package/onboarding/prompts/credentials/settle-credentials.md +153 -0
  9. package/onboarding/prompts/credentials/write-plan.md +93 -0
  10. package/onboarding/prompts/fallback/best-effort.md +12 -9
  11. package/onboarding/prompts/feature/a2ui/implement.md +35 -6
  12. package/onboarding/prompts/feature/a2ui/proof.md +30 -6
  13. package/onboarding/prompts/feature/a2ui/start.md +29 -6
  14. package/onboarding/prompts/feature/chat-suggestions/implement.md +36 -6
  15. package/onboarding/prompts/feature/chat-suggestions/proof.md +30 -5
  16. package/onboarding/prompts/feature/chat-suggestions/start.md +29 -6
  17. package/onboarding/prompts/feature/complete.md +11 -0
  18. package/onboarding/prompts/feature/learning/implement.md +41 -12
  19. package/onboarding/prompts/feature/learning/proof.md +32 -6
  20. package/onboarding/prompts/feature/learning/start.md +28 -5
  21. package/onboarding/prompts/feature/open-generative-ui/implement.md +37 -6
  22. package/onboarding/prompts/feature/open-generative-ui/proof.md +30 -5
  23. package/onboarding/prompts/feature/open-generative-ui/start.md +29 -6
  24. package/onboarding/prompts/feature/realtime-sync/implement.md +36 -7
  25. package/onboarding/prompts/feature/realtime-sync/proof.md +29 -5
  26. package/onboarding/prompts/feature/realtime-sync/start.md +28 -5
  27. package/onboarding/prompts/feature/rich-threads/implement.md +37 -8
  28. package/onboarding/prompts/feature/rich-threads/proof.md +31 -5
  29. package/onboarding/prompts/feature/rich-threads/start.md +28 -5
  30. package/onboarding/prompts/feature/stop.md +9 -6
  31. package/onboarding/prompts/feature/voice/implement.md +35 -6
  32. package/onboarding/prompts/feature/voice/proof.md +30 -5
  33. package/onboarding/prompts/feature/voice/start.md +29 -6
  34. package/onboarding/prompts/framework/ag2.md +2 -2
  35. package/onboarding/prompts/framework/agno.md +2 -2
  36. package/onboarding/prompts/framework/built-in.md +2 -2
  37. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  38. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  39. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  40. package/onboarding/prompts/framework/deep-agents.md +2 -2
  41. package/onboarding/prompts/framework/google-adk.md +2 -2
  42. package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
  43. package/onboarding/prompts/framework/langgraph-python.md +2 -2
  44. package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
  45. package/onboarding/prompts/framework/llamaindex.md +2 -2
  46. package/onboarding/prompts/framework/mastra.md +2 -2
  47. package/onboarding/prompts/framework/ms-agent-dotnet.md +2 -2
  48. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
  49. package/onboarding/prompts/framework/ms-agent-python.md +2 -2
  50. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  51. package/onboarding/prompts/framework/strands-python.md +2 -2
  52. package/onboarding/prompts/framework/strands-typescript.md +2 -2
  53. package/onboarding/prompts/frontend/angular.md +3 -3
  54. package/onboarding/prompts/frontend/nextjs.md +3 -3
  55. package/onboarding/prompts/frontend/plan.md +6 -6
  56. package/onboarding/prompts/frontend/react-native.md +2 -2
  57. package/onboarding/prompts/frontend/react-spa.md +2 -2
  58. package/onboarding/prompts/frontend/vue.md +2 -2
  59. package/onboarding/prompts/implementation/build-and-validate.md +75 -15
  60. package/onboarding/prompts/proof/complete.md +21 -8
  61. package/onboarding/prompts/proof/oss-baseline.md +6 -5
  62. package/onboarding/prompts/proof/round-trip.md +27 -14
  63. package/onboarding/prompts/research/gather.md +121 -0
  64. package/onboarding/prompts/research/route.md +81 -0
  65. package/onboarding/prompts/starter/clone.md +18 -9
  66. package/onboarding/prompts/stopped/run-failed.md +44 -0
  67. package/onboarding/prompts/subagent/create-plan.md +32 -1
  68. package/onboarding/prompts/subagent/implement-and-validate.md +9 -1
  69. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  70. package/onboarding/prompts/subagent/prove-round-trip.md +52 -8
  71. package/onboarding/prompts/unsupported/no-validated-path.md +9 -6
  72. package/package.json +1 -1
  73. package/release/release-tool.js +39 -3
@@ -15,7 +15,7 @@ Record the selected framework, vendor, model, required credential variable names
15
15
  these URLs.
16
16
 
17
17
  If the pages support the selection, run
18
- `npx --yes copilotkit@4.9.60 onboard read frontend/plan`.
18
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
19
19
 
20
20
  If the documentation does not support the selection, run
21
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
21
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -15,7 +15,7 @@ Record the selected framework, vendor, model, required credential variable names
15
15
  these URLs.
16
16
 
17
17
  If the pages support the selection, run
18
- `npx --yes copilotkit@4.9.60 onboard read frontend/plan`.
18
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
19
19
 
20
20
  If the documentation does not support the selection, run
21
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
21
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -34,7 +34,7 @@ Record the selected framework, vendor, model, required credential variable names
34
34
  URLs, the documented dependencies and adapter, and both documentation limits.
35
35
 
36
36
  If the pages support the selection, run
37
- `npx --yes copilotkit@4.9.60 onboard read frontend/plan`.
37
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
38
38
 
39
39
  If the documentation does not support the selection, run
40
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
40
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -45,7 +45,7 @@ Record the selected framework, vendor, model, required credential variable names
45
45
  these URLs.
46
46
 
47
47
  If the pages support the selection, run
48
- `npx --yes copilotkit@4.9.60 onboard read frontend/plan`.
48
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
49
49
 
50
50
  If the documentation does not support the selection, run
51
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
51
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -34,7 +34,7 @@ Record the selected framework, provider, model, required credential variable nam
34
34
  these URLs.
35
35
 
36
36
  If the pages support the selection, run
37
- `npx --yes copilotkit@4.9.60 onboard read frontend/plan`.
37
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
38
38
 
39
39
  If the documentation does not support the selection, run
40
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
40
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -44,7 +44,7 @@ Record the selected framework, provider, model, required credential variable nam
44
44
  URLs, and the quickstart gap.
45
45
 
46
46
  If the pages support the selection, run
47
- `npx --yes copilotkit@4.9.60 onboard read frontend/plan`.
47
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
48
48
 
49
49
  If the documentation does not support the selection, run
50
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
50
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -28,7 +28,7 @@ Record the selected framework, vendor, model, required credential variable names
28
28
  these URLs.
29
29
 
30
30
  If the pages support the selection, run
31
- `npx --yes copilotkit@4.9.60 onboard read frontend/plan`.
31
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
32
32
 
33
33
  If the documentation does not support the selection, run
34
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
34
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -43,7 +43,7 @@ Record the selected framework, vendor, model, required credential variable names
43
43
  URLs, and the two-step context route.
44
44
 
45
45
  If the pages support the selection, run
46
- `npx --yes copilotkit@4.9.60 onboard read frontend/plan`.
46
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
47
47
 
48
48
  If the documentation does not support the selection, run
49
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
49
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -27,7 +27,7 @@ Record the selected framework, vendor, model, required credential variable names
27
27
  URLs, and the context documentation gap.
28
28
 
29
29
  If the pages support the selection, run
30
- `npx --yes copilotkit@4.9.60 onboard read frontend/plan`.
30
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
31
31
 
32
32
  If the documentation does not support the selection, run
33
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
33
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -28,7 +28,7 @@ Record the selected framework, vendor, model, required credential variable names
28
28
  URLs, and the context documentation gap.
29
29
 
30
30
  If the pages support the selection, run
31
- `npx --yes copilotkit@4.9.60 onboard read frontend/plan`.
31
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
32
32
 
33
33
  If the documentation does not support the selection, run
34
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
34
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -5,7 +5,7 @@ Preserve an existing Angular frontend. Use the selected page for a new frontend.
5
5
  Use the starter shortcut only if all these facts are true: the target directory contains
6
6
  no entries, its name is a valid `init` project name, and the selected framework is ADK.
7
7
  If all three facts are true, record Angular as the selected frontend. Then run
8
- `npx --yes copilotkit@4.9.60 onboard read starter/clone` before you fetch documentation.
8
+ `npx --yes copilotkit@4.10.0 onboard read starter/clone` before you fetch documentation.
9
9
 
10
10
  ## Documentation
11
11
 
@@ -63,7 +63,7 @@ you create or build an Angular project. If the installed version is lower, selec
63
63
  supported version first and use it for every later command in this project.
64
64
 
65
65
  If the pages support the selection, record Angular and these URLs. Then run
66
- `npx --yes copilotkit@4.9.60 onboard read credentials/finalize-plan`.
66
+ `npx --yes copilotkit@4.10.0 onboard read credentials/finalize-plan`.
67
67
 
68
68
  If the documentation does not support the selection, or the two version lines do not fit
69
- together, run `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
69
+ together, run `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -15,7 +15,7 @@ These TypeScript options have starters: Claude Agent SDK TypeScript, LangGraph T
15
15
  Mastra, and Strands Agents TypeScript. The .NET option is Microsoft Agent Framework .NET.
16
16
 
17
17
  If all shortcut conditions are true, record Next.js as the selected frontend. Then run
18
- `npx --yes copilotkit@4.9.60 onboard read starter/clone` before you fetch documentation.
18
+ `npx --yes copilotkit@4.10.0 onboard read starter/clone` before you fetch documentation.
19
19
 
20
20
  ## Documentation
21
21
 
@@ -27,7 +27,7 @@ agent as the default agent, which is correct only for a project that has no agen
27
27
  Do not replace the developer's existing agent with the built-in agent.
28
28
 
29
29
  If the page supports the selection, record Next.js and this URL. Then run
30
- `npx --yes copilotkit@4.9.60 onboard read credentials/finalize-plan`.
30
+ `npx --yes copilotkit@4.10.0 onboard read credentials/finalize-plan`.
31
31
 
32
32
  If the documentation does not support the selection, run
33
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
33
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -24,11 +24,11 @@ process.
24
24
 
25
25
  Use exactly one matching internal route:
26
26
 
27
- 1. React SPA: `npx --yes copilotkit@4.9.60 onboard read frontend/react-spa`
28
- 2. Next.js: `npx --yes copilotkit@4.9.60 onboard read frontend/nextjs`
29
- 3. Angular: `npx --yes copilotkit@4.9.60 onboard read frontend/angular`
30
- 4. Vue 3: `npx --yes copilotkit@4.9.60 onboard read frontend/vue`
31
- 5. React Native: `npx --yes copilotkit@4.9.60 onboard read frontend/react-native`
27
+ 1. React SPA: `npx --yes copilotkit@4.10.0 onboard read frontend/react-spa`
28
+ 2. Next.js: `npx --yes copilotkit@4.10.0 onboard read frontend/nextjs`
29
+ 3. Angular: `npx --yes copilotkit@4.10.0 onboard read frontend/angular`
30
+ 4. Vue 3: `npx --yes copilotkit@4.10.0 onboard read frontend/vue`
31
+ 5. React Native: `npx --yes copilotkit@4.10.0 onboard read frontend/react-native`
32
32
 
33
33
  If no listed frontend fits, run
34
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
34
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -15,7 +15,7 @@ documents `useRenderTool`, which is React Native's own hook for drawing a tool t
15
15
  already has. That is a different job and needs a tool in the agent.
16
16
 
17
17
  If the pages support the selection, record React Native and these URLs. Then run
18
- `npx --yes copilotkit@4.9.60 onboard read credentials/finalize-plan`.
18
+ `npx --yes copilotkit@4.10.0 onboard read credentials/finalize-plan`.
19
19
 
20
20
  If the documentation does not support the selection, run
21
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
21
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -11,7 +11,7 @@ not move the agent into it.
11
11
  - https://docs.copilotkit.ai/react-spa.md
12
12
 
13
13
  If the page supports the selection, record React SPA and this URL. Then run
14
- `npx --yes copilotkit@4.9.60 onboard read credentials/finalize-plan`.
14
+ `npx --yes copilotkit@4.10.0 onboard read credentials/finalize-plan`.
15
15
 
16
16
  If the documentation does not support the selection, run
17
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
17
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -16,7 +16,7 @@ page above. Vue has its own `useComponent`, which is not the React package. Take
16
16
  that reference page rather than from a Vue generative-UI guide, which is not published.
17
17
 
18
18
  If the pages support the selection, record Vue 3 and these URLs. Then run
19
- `npx --yes copilotkit@4.9.60 onboard read credentials/finalize-plan`.
19
+ `npx --yes copilotkit@4.10.0 onboard read credentials/finalize-plan`.
20
20
 
21
21
  If the documentation does not support the selection, run
22
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
22
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -2,6 +2,28 @@
2
2
 
3
3
  Do not implement the plan yourself. Use the step order in the approved plan.
4
4
 
5
+ ## If you stop in this phase
6
+
7
+ One rule below stops onboarding: a Learning Container create that fails for a reason other
8
+ than the container already existing. It ends a run the developer has already approved a
9
+ plan for. Name the exact command, id, and error code that stopped you: a report that names
10
+ only the step cannot be acted on. Send one short report before you stop. Run the friction command without another developer question. The CLI telemetry gate decides whether the
11
+ report is sent.
12
+
13
+ ```text
14
+ npx --yes copilotkit@4.10.0 onboard friction --phase stop --category <slug>
15
+ ```
16
+
17
+ Write one or two sentences to standard input: the step you stopped at and what stopped it.
18
+ Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
19
+ sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
20
+ --cost-seconds off. A run that stopped cannot separate one papercut's cost from the cost
21
+ of the whole run, so the estimate is optional on a stop report and only there.
22
+ Send no secrets, source code, logs, or command output. The command refuses a report that
23
+ carries any of those, prints the reason, and exits zero. A refused report is not a failed
24
+ step. Send the report, then stop. Reporting is not a route change and does not resume the
25
+ run.
26
+
5
27
  ## Authorization requested by the plan
6
28
 
7
29
  Approving the plan is the developer agreeing to every path it listed under
@@ -9,7 +31,7 @@ Approving the plan is the developer agreeing to every path it listed under
9
31
  app directory:
10
32
 
11
33
  ```text
12
- npx --yes copilotkit@4.9.60 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
34
+ npx --yes copilotkit@4.10.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
13
35
  ```
14
36
 
15
37
  Consent has to be on the record before the file moves, so a call made after the change is
@@ -21,7 +43,7 @@ No implementation step has run yet, so the change is theirs rather than this run
21
43
  consent over it by adding one flag:
22
44
 
23
45
  ```text
24
- npx --yes copilotkit@4.9.60 onboard protect --authorize --path <path> --reason "<the plan's sentence>" --with-prior-change
46
+ npx --yes copilotkit@4.10.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>" --with-prior-change
25
47
  ```
26
48
 
27
49
  The flag records their change as drift beside the consent, so the closing report names both
@@ -40,7 +62,7 @@ rather than this section.
40
62
  Run the audit from the target app directory:
41
63
 
42
64
  ```text
43
- npx --yes copilotkit@4.9.60 onboard audit
65
+ npx --yes copilotkit@4.10.0 onboard audit
44
66
  ```
45
67
 
46
68
  It compares every protected path with the digest the CLI captured for it. Its result starts
@@ -75,14 +97,14 @@ A path that no Files changed section names changed outside the run, and it is th
75
97
  developer's own file. Accept it by name:
76
98
 
77
99
  ```text
78
- npx --yes copilotkit@4.9.60 onboard protect --accept-external --path <path>
100
+ npx --yes copilotkit@4.10.0 onboard protect --accept-external --path <path>
79
101
  ```
80
102
 
81
103
  A changed env file is its own case. This run asked the developer to place a credential
82
104
  there, so it takes the credential route rather than this one:
83
105
 
84
106
  ```text
85
- npx --yes copilotkit@4.9.60 onboard protect --accept-credential --path <path>
107
+ npx --yes copilotkit@4.10.0 onboard protect --accept-credential --path <path>
86
108
  ```
87
109
 
88
110
  That route proves no recorded credential was lost, instead of taking the run's word that it
@@ -101,7 +123,7 @@ neither does a one-line fix. Never repair, reset, or revert it. Ask the develope
101
123
  the change, and record the answer they give:
102
124
 
103
125
  ```text
104
- npx --yes copilotkit@4.9.60 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
126
+ npx --yes copilotkit@4.10.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
105
127
  ```
106
128
 
107
129
  Use it only for an answer a developer actually gave. It records the consent as taken
@@ -115,14 +137,43 @@ protected path as changed. Report the printed reason and use the route-out rules
115
137
  An audit that has not passed never continues the run by itself. Continue only after an
116
138
  acceptance clears it, or route out. Do not send an audit result to a repair worker.
117
139
 
140
+ ## Create the approved Learning Container
141
+
142
+ Where the approved plan names a Learning Container id that the platform does not hold yet,
143
+ create it now, from the target app directory. The developer approved the id before it was
144
+ made, so this is the first point at which it can be created:
145
+
146
+ ```text
147
+ npx --yes copilotkit@4.10.0 learning containers create --id <id> --name <name> --json
148
+ ```
149
+
150
+ Pass the id the plan names. Take the name from the selected project's own display name, so
151
+ the container reads as this project's in the dashboard. Both flags are required alongside
152
+ `--json`: a create that leaves either one out is refused as `NON_INTERACTIVE` rather than
153
+ prompted for, whatever terminal the run has.
154
+
155
+ `LEARNING_CONTAINER_ALREADY_EXISTS` means another run already made it. That is a container
156
+ to reuse, not a failure to repair and not a reason to pick a new id. Any other error code:
157
+ report it and stop onboarding, so no run wires a selector to an id the platform does not
158
+ hold.
159
+
160
+ Then report that the container is settled, before any edit:
161
+
162
+ ```text
163
+ npx --yes copilotkit@4.10.0 onboard checkpoint --phase container-settled
164
+ ```
165
+
166
+ Where the plan names a container the platform already held, report the same checkpoint and
167
+ create nothing. Where the plan names no container, skip this section.
168
+
118
169
  Report the plan this run is about to implement:
119
170
 
120
171
  ```text
121
- npx --yes copilotkit@4.9.60 onboard checkpoint --phase plan-written
172
+ npx --yes copilotkit@4.10.0 onboard checkpoint --phase plan-written
122
173
  ```
123
174
 
124
175
  Spawn one implementation subagent. Tell it to run
125
- `npx --yes copilotkit@4.9.60 onboard read subagent/implement-and-validate` first and follow
176
+ `npx --yes copilotkit@4.10.0 onboard read subagent/implement-and-validate` first and follow
126
177
  the prompt it returns. If that read fails because the subagent cannot use the shell, stop that
127
178
  subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
128
179
  and the same handoff. Give it the plan, selected framework, frontend, model, exact target app
@@ -142,11 +193,11 @@ returned. Continue to proof only when that audit passes.
142
193
  After the selected implementation path passes, report it:
143
194
 
144
195
  ```text
145
- npx --yes copilotkit@4.9.60 onboard checkpoint --phase build-validated
196
+ npx --yes copilotkit@4.10.0 onboard checkpoint --phase build-validated
146
197
  ```
147
198
 
148
199
  Then run
149
- `npx --yes copilotkit@4.9.60 onboard read proof/round-trip`.
200
+ `npx --yes copilotkit@4.10.0 onboard read proof/round-trip`.
150
201
 
151
202
  ## Repair rules
152
203
 
@@ -160,8 +211,17 @@ implementation path.
160
211
 
161
212
  ## Route-out rules
162
213
 
163
- Route out for `Status: blocked`. Route out only when the failure is not yours to fix: the
164
- failure is in code this run did not write, the fix requires changing the developer's existing
165
- agent or frontend, the same command still fails after three repair attempts, or the
166
- documentation does not support the plan. In those cases run
167
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
214
+ Route out only when the failure is not yours to fix. Two endings are open from here, and
215
+ what failed decides which one this run takes.
216
+
217
+ A run that broke takes the failure ending: the failure is in code this run did not write,
218
+ the same command still fails after three repair attempts, or a result starts with
219
+ `Status: blocked`. A defect in a package this run installed is not a stack CopilotKit does
220
+ not serve, a command this run cannot get to pass is not one either, and a blocked audit
221
+ proved nothing about the stack. In those cases run
222
+ `npx --yes copilotkit@4.10.0 onboard read stopped/run-failed`.
223
+
224
+ A plan with no path to follow takes the unsupported ending: the fix requires changing the
225
+ developer's existing agent or frontend, or the documentation does not support the plan. In
226
+ those cases run
227
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -46,6 +46,8 @@ The handoff must include:
46
46
  - The `@copilotkit/*` versions this conversion changed, and what they were before.
47
47
  - On a conversion, the criterion this run was judged against, in the words the run was
48
48
  given.
49
+ - The Learning Container this run settled, or the fact that Learning is not available to
50
+ this organization and no container was created.
49
51
  - Any path this run created that git does not ignore, and what to do with each.
50
52
  - Any protected path this run accepted as changed from outside it, and what changed. The
51
53
  command at the end of this prompt prints each one, so copy them from its output rather
@@ -64,11 +66,22 @@ Name the debugging surface this journey's frontend can reach, rather than the on
64
66
  of the documentation leads with. For a web frontend it is the CopilotKit Inspector. For
65
67
  React Native there is no Inspector: it is a browser overlay built on a DOM custom element,
66
68
  and `@copilotkit/react-native` does not ship it. Give a mobile developer
67
- `npx --yes copilotkit@4.9.60 verify --round-trip`, the runtime's own log, the AG-UI
69
+ `npx --yes copilotkit@4.10.0 verify --round-trip`, the runtime's own log, the AG-UI
68
70
  Event Inspector in the CopilotKit VS Code extension, and the Intelligence thread view
69
71
  instead. Naming the Inspector to a developer who cannot open it costs them the time it
70
72
  takes to conclude their own wiring is broken.
71
73
 
74
+ Where this run settled a Learning Container, tell the developer what happens next, because
75
+ a correct run looks like a broken one otherwise. Learning runs on its own: the first
76
+ automatic run needs new threads from 15 distinct conversations in this container, and only
77
+ the newest snapshot of each thread counts. A thread takes its container before its first
78
+ agent run, so threads that ran before this change are never pulled in. The container starts
79
+ empty on purpose.
80
+
81
+ Where the Learning step was skipped because this organization cannot use Learning, say so in
82
+ one line and name what was not created. A skip nobody names reads as a container that
83
+ exists, and the developer then waits for insights from a container this run never made.
84
+
72
85
  State that the servers remain running after proof.
73
86
 
74
87
  Report each thing that slowed this run down. Send at most four reports, worst first. Run
@@ -76,7 +89,7 @@ the friction commands without another developer question. The CLI telemetry gate
76
89
  whether the report is sent.
77
90
 
78
91
  ```text
79
- npx --yes copilotkit@4.9.60 onboard friction --category <slug> --cost-seconds <seconds>
92
+ npx --yes copilotkit@4.10.0 onboard friction --category <slug> --cost-seconds <seconds>
80
93
  ```
81
94
 
82
95
  Write one or two sentences on the command's standard input. Pick one category from
@@ -88,7 +101,7 @@ Pass --docs-path only for a docs-missing or docs-wrong report, naming the page t
88
101
  is about:
89
102
 
90
103
  ```text
91
- npx --yes copilotkit@4.9.60 onboard friction --category docs-wrong --cost-seconds 300 --docs-path /docs/threads/drawer
104
+ npx --yes copilotkit@4.10.0 onboard friction --category docs-wrong --cost-seconds 300 --docs-path /docs/threads/drawer
92
105
  ```
93
106
 
94
107
  Give the page's site-relative path or its full URL, with no spaces, query string, or
@@ -105,14 +118,14 @@ Tell the developer when you send a friction report. Do not quote or summarize th
105
118
  unless the developer asks. If the CLI says the report was not sent,
106
119
  state what it said and continue without another question.
107
120
 
108
- When the evidence is gathered, run `npx --yes copilotkit@4.9.60 onboard complete`, carrying
121
+ When the evidence is gathered, run `npx --yes copilotkit@4.10.0 onboard complete`, carrying
109
122
  the surface-check outcome the proof subagent returned. Pass exactly one flag, and pass the
110
123
  one that matches this journey's surface.
111
124
 
112
125
  For a web frontend -- React SPA, Next.js, Angular, Vue:
113
126
 
114
127
  ```text
115
- npx --yes copilotkit@4.9.60 onboard complete --visual-check <outcome>
128
+ npx --yes copilotkit@4.10.0 onboard complete --visual-check <outcome>
116
129
  ```
117
130
 
118
131
  The outcome is one of `performed`, `skipped-no-browser-tool`, or `failed`.
@@ -120,7 +133,7 @@ The outcome is one of `performed`, `skipped-no-browser-tool`, or `failed`.
120
133
  For React Native:
121
134
 
122
135
  ```text
123
- npx --yes copilotkit@4.9.60 onboard complete --device-check <outcome>
136
+ npx --yes copilotkit@4.10.0 onboard complete --device-check <outcome>
124
137
  ```
125
138
 
126
139
  The outcome is one of `performed`, `skipped-no-device`, or `failed`.
@@ -132,7 +145,7 @@ browser-origin CORS, so the flag you pass is how this run states which surface i
132
145
  For a web frontend, also pass the URL the browser opened:
133
146
 
134
147
  ```text
135
- npx --yes copilotkit@4.9.60 onboard complete --visual-check <outcome> \
148
+ npx --yes copilotkit@4.10.0 onboard complete --visual-check <outcome> \
136
149
  --frontend-url <the url you opened>
137
150
  ```
138
151
 
@@ -151,7 +164,7 @@ If the round trip proved and something after it still blocked this run, add `--b
151
164
  to the same command:
152
165
 
153
166
  ```text
154
- npx --yes copilotkit@4.9.60 onboard complete --visual-check performed --blocked-by <cause>
167
+ npx --yes copilotkit@4.10.0 onboard complete --visual-check performed --blocked-by <cause>
155
168
  ```
156
169
 
157
170
  The cause is one of `inspector` for a debugging surface that did not open,
@@ -1,7 +1,7 @@
1
1
  # Prove the existing OSS baseline
2
2
 
3
3
  Do not prove the baseline yourself. Spawn one proof subagent. Tell it to run
4
- `npx --yes copilotkit@4.9.60 onboard read subagent/prove-oss-baseline` first and follow the
4
+ `npx --yes copilotkit@4.10.0 onboard read subagent/prove-oss-baseline` first and follow the
5
5
  prompt it returns. If that read fails because the subagent cannot use the shell, stop that
6
6
  subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
7
7
  and the same handoff. Give it the repository findings and exact CLI package spec.
@@ -17,7 +17,7 @@ Wait for the subagent to finish.
17
17
  Record what that proof returned before you route on it:
18
18
 
19
19
  ```text
20
- npx --yes copilotkit@4.9.60 onboard proof --step oss-baseline --outcome <passed|failed|skipped> [--predicate <1-6>]
20
+ npx --yes copilotkit@4.10.0 onboard proof --step oss-baseline --outcome <passed|failed|skipped> [--predicate <1-6>]
21
21
  ```
22
22
 
23
23
  Report the gate whatever it returned. Pass `passed` when the subagent proved a predicate,
@@ -35,12 +35,12 @@ Do not change project files before this proof ends. Starting existing developmen
35
35
  processes and their ignored runtime files is allowed.
36
36
 
37
37
  If the subagent proves the `both-oss` predicate, keep its evidence with the plan and run
38
- `npx --yes copilotkit@4.9.60 onboard read conversion/plan`. That project already works.
38
+ `npx --yes copilotkit@4.10.0 onboard read conversion/plan`. That project already works.
39
39
  What it needs is the conversion, not a build.
40
40
 
41
41
  If the proof does not establish the baseline, record the starting state
42
42
  `both-copilotkit-unproved` and run
43
- `npx --yes copilotkit@4.9.60 onboard read credentials/plan`. This prompt is served
43
+ `npx --yes copilotkit@4.10.0 onboard read credentials/plan`. This prompt is served
44
44
  whenever a project looks like an OSS integration, so a baseline that did not prove is an
45
45
  ordinary starting state rather than a failure. Keep the failing predicate with the plan.
46
46
 
@@ -54,4 +54,5 @@ and the plan preserves it rather than repeating it.
54
54
 
55
55
  If it cannot identify the running process safely, exposes a secret, or finds a baseline
56
56
  failure that cannot be classified, run
57
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
57
+ `npx --yes copilotkit@4.10.0 onboard read stopped/run-failed`. None of those mean the
58
+ project is unsupported: they mean this run did not establish what it needed to.
@@ -1,7 +1,7 @@
1
1
  # Prove the user journey
2
2
 
3
3
  Do not do the proof work yourself. Spawn one proof subagent. Tell it to run
4
- `npx --yes copilotkit@4.9.60 onboard read subagent/prove-round-trip` first and follow the
4
+ `npx --yes copilotkit@4.10.0 onboard read subagent/prove-round-trip` first and follow the
5
5
  prompt it returns. If that read fails because the subagent cannot use the shell, stop that
6
6
  subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
7
7
  and the same handoff. Give it the selected framework, frontend, model, approved plan, selected
@@ -14,6 +14,15 @@ drives the surface and cannot see your environment, so without that finding it s
14
14
  step discovering what you already know. A subagent told it has no control for the surface
15
15
  this frontend needs reports the skip outcome rather than looking for a way around it.
16
16
 
17
+ A run that cloned a starter is the exception. Tell that subagent to stop after
18
+ `verify --round-trip` and to open no browser. The cloned code is what this repository's
19
+ starter smoke jobs already drive on every change, so opening a browser re-proves in the
20
+ developer's run what those jobs prove before the starter ships, and it is the most
21
+ expensive step in this setup. `verify --round-trip` reads the answer back off the thread,
22
+ so it holds for every runtime mount and needs no browser. Give that subagent no browser or
23
+ device control, and record the surface outcome as skipped for a cloned starter rather than
24
+ as a missing capability: nothing was unavailable, the run declined to spend it.
25
+
17
26
  Give the subagent this guide for continued-development tools:
18
27
  https://docs.copilotkit.ai/build-with-agents.md
19
28
 
@@ -23,13 +32,13 @@ pass the time.
23
32
  Report each attempt at the journey as it ends, counting from one:
24
33
 
25
34
  ```text
26
- npx --yes copilotkit@4.9.60 onboard checkpoint --phase journey-attempted --attempt 1
35
+ npx --yes copilotkit@4.10.0 onboard checkpoint --phase journey-attempted --attempt 1
27
36
  ```
28
37
 
29
38
  Record what that proof returned before you route on it:
30
39
 
31
40
  ```text
32
- npx --yes copilotkit@4.9.60 onboard proof --step round-trip --outcome <passed|failed|skipped>
41
+ npx --yes copilotkit@4.10.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
33
42
  ```
34
43
 
35
44
  Report the gate whatever it returned. A proof that never ran is `skipped`, not failed. The
@@ -37,7 +46,7 @@ command prints one line and sends nothing else. Where a repair cycle runs the pr
37
46
  record each attempt as it ends.
38
47
 
39
48
  For every protected-path audit in this prompt, run
40
- `npx --yes copilotkit@4.9.60 onboard audit` from the target app directory. If its result
49
+ `npx --yes copilotkit@4.10.0 onboard audit` from the target app directory. If its result
41
50
  starts with `Status: blocked`, report the printed reason and use the route-out rules below.
42
51
  A blocked audit proved nothing changed and is not a preservation failure. If a
43
52
  protected-path audit reports a changed path, decide it the way the implementation prompt
@@ -46,7 +55,7 @@ returns none, so a finding with no Files changed section to test against routes
46
55
  path one of those sections names is this run's own change and routes out too. Accept a
47
56
  path only when a section this run collected covers the step that wrote it and does not
48
57
  name it:
49
- `npx --yes copilotkit@4.9.60 onboard protect --accept-external --path <path>`. Then run
58
+ `npx --yes copilotkit@4.10.0 onboard protect --accept-external --path <path>`. Then run
50
59
  the audit again and name the path in the closing summary. Never repair, reset, or revert a
51
60
  protected path.
52
61
 
@@ -54,12 +63,12 @@ That holds for a repair cycle too. When the fix for a failing check lands on a p
54
63
  path, the path is still the developer's, however right the diagnosis is and however small
55
64
  the fix. Reading the file never settles who wrote it. Ask the developer to allow the
56
65
  change, and record their answer with
57
- `npx --yes copilotkit@4.9.60 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"`,
66
+ `npx --yes copilotkit@4.10.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"`,
58
67
  or route out. Never repair it, and never send it to a repair worker.
59
68
 
60
69
  If the proof result starts with `Status: passed`, run the protected-path audit. Continue to
61
70
  `proof/complete` only if that audit passes. After the audit passes, run
62
- `npx --yes copilotkit@4.9.60 onboard read proof/complete`. A performed surface outcome with
71
+ `npx --yes copilotkit@4.10.0 onboard read proof/complete`. A performed surface outcome with
63
72
  the full round trip is core success even if a continued-development tool fails. A skipped
64
73
  surface outcome still enters `proof/complete` so the CLI records the blocked result. Do not
65
74
  describe a skipped surface as proved. Keep the Skills and MCP results separate from the proof
@@ -115,7 +124,7 @@ Restart each project-owned process changed by the repair. Report the cycle, coun
115
124
  one:
116
125
 
117
126
  ```text
118
- npx --yes copilotkit@4.9.60 onboard checkpoint --phase repair-attempted --attempt 1
127
+ npx --yes copilotkit@4.10.0 onboard checkpoint --phase repair-attempted --attempt 1
119
128
  ```
120
129
 
121
130
  Then spawn a fresh proof subagent
@@ -133,21 +142,25 @@ and proof cycles.
133
142
 
134
143
  Route out only when the failure is not yours to fix, when the same proof still fails after
135
144
  three attempts, or when no evidence of the round trip can be produced. In those cases run
136
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`. All three are
145
+ `npx --yes copilotkit@4.10.0 onboard read stopped/run-failed`. The stack is supported:
146
+ this run did not finish, which is a different ending and a different report. All three are
137
147
  about the round trip itself. A round trip that proved is not one of them, whatever failed
138
148
  after it.
139
149
 
140
150
  If you stop here without taking that route -- a repair cycle you cannot finish, a limit in
141
151
  your own harness, a run that has run out -- send one short report before you stop.
142
- Run the feedback command without another developer question. The CLI telemetry gate decides
152
+ Run the friction command without another developer question. The CLI telemetry gate decides
143
153
  whether the report is sent.
144
154
 
145
155
  ```text
146
- npx --yes copilotkit@4.9.60 onboard feedback
156
+ npx --yes copilotkit@4.10.0 onboard friction --phase stop --category <slug>
147
157
  ```
148
158
 
149
- Write at most four lines to standard input: the step you stopped at and what stopped it.
159
+ Write one or two sentences to standard input: the step you stopped at and what stopped it.
160
+ Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
161
+ sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
162
+ --cost-seconds off. A run that stopped cannot separate one papercut's cost from the cost
163
+ of the whole run, so the estimate is optional on a stop report and only there.
150
164
  Send no secrets, source code, logs, or command output. The command refuses a report that
151
165
  carries any of those, prints the reason, and exits zero. A refused report is not a failed
152
- step. Report friction only from a run that finished, never from a stop. A run that dies in
153
- this phase is the one this graph most needs to hear about and the one it hears from least.
166
+ step. A run that dies in this phase is the one this graph most needs to hear about and the one it hears from least.