copilotkit 4.9.60 → 4.10.1

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 (77) hide show
  1. package/README.md +10 -3
  2. package/cli-build-info.json +8 -8
  3. package/index.js +336 -172
  4. package/onboarding/index.json +106 -18
  5. package/onboarding/prompts/authenticate/start.md +41 -202
  6. package/onboarding/prompts/conversion/plan.md +3 -3
  7. package/onboarding/prompts/credentials/finalize-plan.md +15 -129
  8. package/onboarding/prompts/credentials/plan.md +20 -20
  9. package/onboarding/prompts/credentials/settle-credentials.md +153 -0
  10. package/onboarding/prompts/credentials/write-plan.md +93 -0
  11. package/onboarding/prompts/fallback/best-effort.md +12 -9
  12. package/onboarding/prompts/feature/a2ui/implement.md +35 -6
  13. package/onboarding/prompts/feature/a2ui/proof.md +30 -6
  14. package/onboarding/prompts/feature/a2ui/start.md +29 -6
  15. package/onboarding/prompts/feature/channels/implement.md +70 -0
  16. package/onboarding/prompts/feature/channels/proof.md +60 -0
  17. package/onboarding/prompts/feature/channels/start.md +87 -0
  18. package/onboarding/prompts/feature/chat-suggestions/implement.md +36 -6
  19. package/onboarding/prompts/feature/chat-suggestions/proof.md +30 -5
  20. package/onboarding/prompts/feature/chat-suggestions/start.md +29 -6
  21. package/onboarding/prompts/feature/complete.md +11 -0
  22. package/onboarding/prompts/feature/learning/implement.md +41 -12
  23. package/onboarding/prompts/feature/learning/proof.md +32 -6
  24. package/onboarding/prompts/feature/learning/start.md +28 -5
  25. package/onboarding/prompts/feature/open-generative-ui/implement.md +37 -6
  26. package/onboarding/prompts/feature/open-generative-ui/proof.md +30 -5
  27. package/onboarding/prompts/feature/open-generative-ui/start.md +29 -6
  28. package/onboarding/prompts/feature/realtime-sync/implement.md +36 -7
  29. package/onboarding/prompts/feature/realtime-sync/proof.md +29 -5
  30. package/onboarding/prompts/feature/realtime-sync/start.md +28 -5
  31. package/onboarding/prompts/feature/rich-threads/implement.md +37 -8
  32. package/onboarding/prompts/feature/rich-threads/proof.md +31 -5
  33. package/onboarding/prompts/feature/rich-threads/start.md +28 -5
  34. package/onboarding/prompts/feature/stop.md +17 -8
  35. package/onboarding/prompts/feature/voice/implement.md +35 -6
  36. package/onboarding/prompts/feature/voice/proof.md +30 -5
  37. package/onboarding/prompts/feature/voice/start.md +29 -6
  38. package/onboarding/prompts/framework/ag2.md +2 -2
  39. package/onboarding/prompts/framework/agno.md +2 -2
  40. package/onboarding/prompts/framework/built-in.md +2 -2
  41. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  42. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  43. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  44. package/onboarding/prompts/framework/deep-agents.md +2 -2
  45. package/onboarding/prompts/framework/google-adk.md +2 -2
  46. package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
  47. package/onboarding/prompts/framework/langgraph-python.md +2 -2
  48. package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
  49. package/onboarding/prompts/framework/llamaindex.md +2 -2
  50. package/onboarding/prompts/framework/mastra.md +2 -2
  51. package/onboarding/prompts/framework/ms-agent-dotnet.md +2 -2
  52. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
  53. package/onboarding/prompts/framework/ms-agent-python.md +2 -2
  54. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  55. package/onboarding/prompts/framework/strands-python.md +2 -2
  56. package/onboarding/prompts/framework/strands-typescript.md +2 -2
  57. package/onboarding/prompts/frontend/angular.md +3 -3
  58. package/onboarding/prompts/frontend/nextjs.md +3 -3
  59. package/onboarding/prompts/frontend/plan.md +6 -6
  60. package/onboarding/prompts/frontend/react-native.md +2 -2
  61. package/onboarding/prompts/frontend/react-spa.md +2 -2
  62. package/onboarding/prompts/frontend/vue.md +2 -2
  63. package/onboarding/prompts/implementation/build-and-validate.md +75 -15
  64. package/onboarding/prompts/proof/complete.md +21 -8
  65. package/onboarding/prompts/proof/oss-baseline.md +6 -5
  66. package/onboarding/prompts/proof/round-trip.md +27 -14
  67. package/onboarding/prompts/research/gather.md +121 -0
  68. package/onboarding/prompts/research/route.md +81 -0
  69. package/onboarding/prompts/starter/clone.md +18 -9
  70. package/onboarding/prompts/stopped/run-failed.md +44 -0
  71. package/onboarding/prompts/subagent/create-plan.md +32 -1
  72. package/onboarding/prompts/subagent/implement-and-validate.md +9 -1
  73. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  74. package/onboarding/prompts/subagent/prove-round-trip.md +52 -8
  75. package/onboarding/prompts/unsupported/no-validated-path.md +9 -6
  76. package/package.json +1 -1
  77. package/release/release-tool.js +39 -3
@@ -1,7 +1,8 @@
1
1
  {
2
- "graphTree": "17c99aa34ab1293ba344b5f6ff0f5eb9d05b0055",
2
+ "graphTree": "6b3586ba65cfeed7befa35d0c8794713198ac438",
3
3
  "intentRoots": {
4
4
  "add-a2ui": "feature/a2ui/start",
5
+ "add-channels": "feature/channels/start",
5
6
  "add-chat-suggestions": "feature/chat-suggestions/start",
6
7
  "add-learning": "feature/learning/start",
7
8
  "add-open-generative-ui": "feature/open-generative-ui/start",
@@ -13,10 +14,8 @@
13
14
  "prompts": [
14
15
  {
15
16
  "edges": [
16
- "subagent/inspect-repository",
17
- "proof/oss-baseline",
18
- "credentials/plan",
19
- "unsupported/no-validated-path"
17
+ "research/gather",
18
+ "stopped/run-failed"
20
19
  ],
21
20
  "milestone": "authenticate",
22
21
  "name": "authenticate/start"
@@ -31,9 +30,7 @@
31
30
  },
32
31
  {
33
32
  "edges": [
34
- "subagent/create-plan",
35
- "implementation/build-and-validate",
36
- "unsupported/no-validated-path"
33
+ "credentials/settle-credentials"
37
34
  ],
38
35
  "milestone": "credentials",
39
36
  "name": "credentials/finalize-plan"
@@ -64,6 +61,23 @@
64
61
  "milestone": "credentials",
65
62
  "name": "credentials/plan"
66
63
  },
64
+ {
65
+ "edges": [
66
+ "credentials/write-plan"
67
+ ],
68
+ "milestone": "credentials",
69
+ "name": "credentials/settle-credentials"
70
+ },
71
+ {
72
+ "edges": [
73
+ "subagent/create-plan",
74
+ "stopped/run-failed",
75
+ "implementation/build-and-validate",
76
+ "unsupported/no-validated-path"
77
+ ],
78
+ "milestone": "credentials",
79
+ "name": "credentials/write-plan"
80
+ },
67
81
  {
68
82
  "edges": [],
69
83
  "milestone": "fallback",
@@ -78,7 +92,10 @@
78
92
  "name": "feature/a2ui/implement"
79
93
  },
80
94
  {
81
- "edges": [],
95
+ "edges": [
96
+ "feature/stop",
97
+ "feature/complete"
98
+ ],
82
99
  "milestone": "feature",
83
100
  "name": "feature/a2ui/proof"
84
101
  },
@@ -90,6 +107,30 @@
90
107
  "milestone": "feature",
91
108
  "name": "feature/a2ui/start"
92
109
  },
110
+ {
111
+ "edges": [
112
+ "feature/stop",
113
+ "feature/channels/proof"
114
+ ],
115
+ "milestone": "feature",
116
+ "name": "feature/channels/implement"
117
+ },
118
+ {
119
+ "edges": [
120
+ "feature/stop",
121
+ "feature/complete"
122
+ ],
123
+ "milestone": "feature",
124
+ "name": "feature/channels/proof"
125
+ },
126
+ {
127
+ "edges": [
128
+ "feature/stop",
129
+ "feature/channels/implement"
130
+ ],
131
+ "milestone": "feature",
132
+ "name": "feature/channels/start"
133
+ },
93
134
  {
94
135
  "edges": [
95
136
  "feature/stop",
@@ -99,7 +140,10 @@
99
140
  "name": "feature/chat-suggestions/implement"
100
141
  },
101
142
  {
102
- "edges": [],
143
+ "edges": [
144
+ "feature/stop",
145
+ "feature/complete"
146
+ ],
103
147
  "milestone": "feature",
104
148
  "name": "feature/chat-suggestions/proof"
105
149
  },
@@ -111,6 +155,11 @@
111
155
  "milestone": "feature",
112
156
  "name": "feature/chat-suggestions/start"
113
157
  },
158
+ {
159
+ "edges": [],
160
+ "milestone": "feature",
161
+ "name": "feature/complete"
162
+ },
114
163
  {
115
164
  "edges": [
116
165
  "feature/stop",
@@ -120,7 +169,10 @@
120
169
  "name": "feature/learning/implement"
121
170
  },
122
171
  {
123
- "edges": [],
172
+ "edges": [
173
+ "feature/stop",
174
+ "feature/complete"
175
+ ],
124
176
  "milestone": "feature",
125
177
  "name": "feature/learning/proof"
126
178
  },
@@ -141,7 +193,10 @@
141
193
  "name": "feature/open-generative-ui/implement"
142
194
  },
143
195
  {
144
- "edges": [],
196
+ "edges": [
197
+ "feature/stop",
198
+ "feature/complete"
199
+ ],
145
200
  "milestone": "feature",
146
201
  "name": "feature/open-generative-ui/proof"
147
202
  },
@@ -162,7 +217,10 @@
162
217
  "name": "feature/realtime-sync/implement"
163
218
  },
164
219
  {
165
- "edges": [],
220
+ "edges": [
221
+ "feature/stop",
222
+ "feature/complete"
223
+ ],
166
224
  "milestone": "feature",
167
225
  "name": "feature/realtime-sync/proof"
168
226
  },
@@ -183,7 +241,10 @@
183
241
  "name": "feature/rich-threads/implement"
184
242
  },
185
243
  {
186
- "edges": [],
244
+ "edges": [
245
+ "feature/stop",
246
+ "feature/complete"
247
+ ],
187
248
  "milestone": "feature",
188
249
  "name": "feature/rich-threads/proof"
189
250
  },
@@ -209,7 +270,10 @@
209
270
  "name": "feature/voice/implement"
210
271
  },
211
272
  {
212
- "edges": [],
273
+ "edges": [
274
+ "feature/stop",
275
+ "feature/complete"
276
+ ],
213
277
  "milestone": "feature",
214
278
  "name": "feature/voice/proof"
215
279
  },
@@ -431,6 +495,7 @@
431
495
  "edges": [
432
496
  "subagent/implement-and-validate",
433
497
  "proof/round-trip",
498
+ "stopped/run-failed",
434
499
  "unsupported/no-validated-path"
435
500
  ],
436
501
  "milestone": "implementation",
@@ -446,7 +511,7 @@
446
511
  "subagent/prove-oss-baseline",
447
512
  "conversion/plan",
448
513
  "credentials/plan",
449
- "unsupported/no-validated-path"
514
+ "stopped/run-failed"
450
515
  ],
451
516
  "milestone": "proof",
452
517
  "name": "proof/oss-baseline"
@@ -455,19 +520,42 @@
455
520
  "edges": [
456
521
  "subagent/prove-round-trip",
457
522
  "proof/complete",
458
- "unsupported/no-validated-path"
523
+ "stopped/run-failed"
459
524
  ],
460
525
  "milestone": "proof",
461
526
  "name": "proof/round-trip"
462
527
  },
528
+ {
529
+ "edges": [
530
+ "subagent/inspect-repository",
531
+ "research/route",
532
+ "stopped/run-failed"
533
+ ],
534
+ "milestone": "research",
535
+ "name": "research/gather"
536
+ },
537
+ {
538
+ "edges": [
539
+ "proof/oss-baseline",
540
+ "credentials/plan",
541
+ "stopped/run-failed"
542
+ ],
543
+ "milestone": "research",
544
+ "name": "research/route"
545
+ },
463
546
  {
464
547
  "edges": [
465
548
  "proof/round-trip",
466
- "unsupported/no-validated-path"
549
+ "stopped/run-failed"
467
550
  ],
468
551
  "milestone": "starter",
469
552
  "name": "starter/clone"
470
553
  },
554
+ {
555
+ "edges": [],
556
+ "milestone": "stopped",
557
+ "name": "stopped/run-failed"
558
+ },
471
559
  {
472
560
  "edges": [],
473
561
  "milestone": "subagent",
@@ -1,5 +1,26 @@
1
1
  # Start CopilotKit onboarding
2
2
 
3
+ ## First, say which coding agent you are
4
+
5
+ Run this before anything else in this prompt, including the welcome message below:
6
+
7
+ ```text
8
+ npx --yes copilotkit@4.10.1 onboard identify --coding-agent <coding-agent-slug>
9
+ ```
10
+
11
+ Report your own product with one short slug, such as `codex` or `claude-code`.
12
+
13
+ It runs first because it is how this run reports that it started working. It needs no
14
+ browser, no session, and no project, so nothing below it can prevent it. Every rule after
15
+ this point can stop a run instead, and a run that stops before this command leaves no
16
+ trace that it ever began. The slug also tells the sign-in page which agent sent the
17
+ developer, so the page names you instead of "your coding agent".
18
+
19
+ The prompt the developer copied used to ask them to pass this. It asked a human to read
20
+ an instruction written for you, so it lives here now.
21
+
22
+ ## How to run this onboarding
23
+
3
24
  Act only as the orchestrator. Rely on subagents for all project work.
4
25
  Give every project task to a subagent.
5
26
  Do not inspect, change, implement, or validate the project yourself.
@@ -16,7 +37,7 @@ Every later command must run from the directory this run started in. A command r
16
37
  somewhere else, such as a sibling of that directory, is refused rather than answered,
17
38
  because the run it belongs to cannot be found from there. That refusal is a step to take,
18
39
  not a stop to report: run
19
- `npx --yes copilotkit@4.9.60 onboard start --run <onboarding_run_id>` in the directory
40
+ `npx --yes copilotkit@4.10.1 onboard start --run <onboarding_run_id>` in the directory
20
41
  you are now in, which binds it to the same run, then run the refused command again. Do not
21
42
  start a run without that id. A run started without it is a second run, and the work already
22
43
  done stops counting toward the first.
@@ -31,7 +52,8 @@ Send this exact message once, as your first message in this onboarding run, befo
31
52
  anything else:
32
53
 
33
54
  Welcome to CopilotKit. By the end of this run your own application talks to an AI agent,
34
- and every conversation it holds is kept on the managed Intelligence platform. I prove that
55
+ and its chat history stays. A user can close the tab, come back, and reopen any past
56
+ conversation in full. The managed Intelligence platform is what keeps them. I prove that
35
57
  round trip in the running app before I call it done. You finish with working software and
36
58
  the evidence that it works.
37
59
 
@@ -56,44 +78,32 @@ CLI telemetry setting when a later step tries to send a report.
56
78
 
57
79
  This run reports its own stops. If you stop this run at any point, send one short report
58
80
  before you stop. That covers a stop this prompt names, a stop a later prompt names, and a
59
- stop no prompt anticipated, including one your own harness causes. Run the feedback command
60
- without another developer question. The CLI telemetry gate decides whether the report is
81
+ stop no prompt anticipated, including one your own harness causes. Run the friction command without another developer question. The CLI telemetry gate decides whether the report is
61
82
  sent.
62
83
 
63
84
  ```text
64
- npx --yes copilotkit@4.9.60 onboard feedback
85
+ npx --yes copilotkit@4.10.1 onboard friction --phase stop --category <slug>
65
86
  ```
66
87
 
67
- Write at most four lines to the command's standard input: the step you stopped at and what
68
- stopped it. Send no secrets, source code, logs, or command output. The command refuses a
88
+ Write one or two sentences to standard input: the step you stopped at and what stopped it.
89
+ Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
90
+ sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
91
+ --cost-seconds off. A run that stopped cannot separate one papercut's cost from the cost
92
+ of the whole run, so the estimate is optional on a stop report and only there. Send no secrets, source code, logs, or command output. The command refuses a
69
93
  report that carries any of those, prints the reason, and exits zero. A refused report is
70
94
  not a failed step. Reword it and send it again, or stop without a report.
71
95
 
72
96
  Reporting a stop is not a route change. It does not resume the run, it is not a question
73
97
  for the developer, and it does not replace whatever the rule that stopped you says to do
74
- next: send the report, then stop. Report friction only from a run that finished, never from
75
- a stop.
98
+ next: send the report, then stop.
76
99
 
77
100
  Until now the route out of an unsupported path was the only place that asked for a report,
78
101
  so a stop anywhere else left no trace at all. A stop nobody hears about is a stop this
79
102
  graph cannot fix.
80
103
 
81
- ## Say which coding agent you are
82
-
83
- Report your own product with one short slug, such as `codex` or `claude-code`:
104
+ ## Check sign-in
84
105
 
85
- ```text
86
- npx --yes copilotkit@4.9.60 onboard identify --coding-agent <coding-agent-slug>
87
- ```
88
-
89
- Run it before the sign-in command below. The slug tells the sign-in page which agent
90
- sent the developer, so the page names you instead of "your coding agent". It labels this
91
- run and nothing else: it grants no access and gates no step.
92
-
93
- The prompt the developer copied used to ask them to pass this. It asked a human to read
94
- an instruction written for you, so it lives here now.
95
-
96
- Run `npx --yes copilotkit@4.9.60 login --json` before any project work. This command
106
+ Run `npx --yes copilotkit@4.10.1 login --json` before any project work. This command
97
107
  checks the current session. It starts sign-in only as needed. Treat this as a long-lived
98
108
  streaming process. Do not wait for the command to exit before you read its standard output.
99
109
 
@@ -107,8 +117,8 @@ Read each JSON Lines record as the running command writes it:
107
117
  existing session is already valid, and do not add a feature list or another explanation:
108
118
 
109
119
  I will open a sign-in page. Signing in gives this project a managed CopilotKit project
110
- and its API key, which is what lets your app keep every conversation it holds. You can
111
- remove the key later to disconnect this workspace.
120
+ and its API key. That key is what lets your users reopen past conversations. You can
121
+ remove it later to disconnect this workspace.
112
122
 
113
123
  3. Open the first `authentication_url` exactly once with the operating system's default
114
124
  browser. Run the opener separately from the long-lived login process. Use the command
@@ -128,180 +138,9 @@ Read each JSON Lines record as the running command writes it:
128
138
  Do not use `whoami` for this check. It has no JSON output and some failures exit with code
129
139
  zero. Do not put account tokens or credentials in the conversation.
130
140
 
131
- ## How to wait for a subagent
132
-
133
- This rule covers every subagent this run spawns, here and in every later prompt.
134
-
135
- Spawning a subagent returns almost at once. That return is the dispatch succeeding, not the
136
- work finishing: the subagent runs in the background, and its result reaches you as a
137
- notification. Where your own harness hands you the report from the dispatch itself instead,
138
- you already hold the result. Either way there is nothing to poll.
139
-
140
- After you dispatch, do the work that does not depend on the result -- dispatch the other
141
- subagent, run the preflight below -- and then stop and wait. Wherever a prompt in this graph
142
- says to wait for a subagent to finish, that is what it means.
143
-
144
- Do not sleep to pass the time. Not `sleep`, not `/bin/sleep`, not a timer under another
145
- name, and not a loop that re-checks whether a result has arrived. Sleeping tells you nothing
146
- that waiting for the result does not, and it spends wall clock, which is one of the things
147
- this journey is measured on. One recorded run spent most of two hours asleep between
148
- dispatches that had all returned in seconds.
149
-
150
- Before you ask the developer any setup question, finish every read-only investigation and
151
- preflight check in this section.
152
-
153
- Prepare two research assignments. Give each research subagent one assignment. Tell it to run
154
- `npx --yes copilotkit@4.9.60 onboard read subagent/inspect-repository` first and follow the
155
- prompt it returns. If that read fails because the subagent cannot use the shell, stop that
156
- subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
157
- and the same handoff. Require only its assigned packet.
158
-
159
- Start both research subagents in parallel:
160
-
161
- 1. Spawn one research subagent. Assign it the project evidence packet.
162
- 2. Spawn a second research subagent. Assign it the environment evidence packet.
163
- 3. Start both research subagents. Then continue.
164
-
165
- Continue to the surface-control preflight.
166
-
167
- Prove whether your coding-agent environment has browser or device control. Do not assume it
168
- either way, and do not report what you expect to be true: a run that guesses here records a
169
- capability the rest of the graph then trusts. Use a browser or device tool already
170
- configured for the coding agent you are running as, the same way a later step uses the
171
- CopilotKit documentation server. With a browser tool, open one inert page such as
172
- `about:blank` and read its title. With a device tool and no browser, list the booted devices
173
- in one command: `adb devices -l`. Record the outcome of that attempt: `available` when the
174
- tool answered, `unavailable` when there was none to call or the page did not open. Use
175
- the control that matches the selected surface later.
176
-
177
- Where the browser probe answered, register nothing. The harness came equipped and the run
178
- owes it no setup.
179
-
180
- Where no browser tool answered, register one for the coding agent you are running as, then
181
- run the same probe again and record what the second attempt did. Register this server:
182
-
183
- ```text
184
- npx --yes @playwright/mcp@latest --browser chrome --isolated --output-dir <project>/.copilotkit/proof/browser
185
- ```
186
-
187
- Replace `<project>` with the absolute path of the target project directory. The server is
188
- registered against the coding agent rather than against a directory, so a relative path here
189
- resolves wherever that server happens to start.
190
-
191
- `--browser chrome` drives the Google Chrome the developer already has, so this downloads no
192
- browser. `--isolated` keeps the profile in memory, so it never touches their own Chrome
193
- profile. `--output-dir` is what keeps the snapshots and screenshots out of the developer's
194
- repository root: without it this server writes them to `.playwright-mcp/` beside their code,
195
- which a project that never asked for a browser has no reason to carry, and which the graph's
196
- own evidence rule already has a place for. Register it the way your own harness registers a
197
- server, which is the mechanism a later step uses for the CopilotKit documentation server.
198
-
199
- Tell the developer in one line what you registered, that it drives their installed Chrome,
200
- and that it lives in this coding agent's configuration rather than in their repository. Do
201
- not ask them to approve it, and do not ask a second question about it.
202
-
203
- Do not add a browser or device driver to the project. A driver added there is a
204
- devDependency and a browser download in the diff of a repository that never asked for one,
205
- which is a different thing from a server registered against the coding agent.
206
-
207
- Where the second probe still does not answer -- no Chrome to drive, no network, or a
208
- harness that cannot register a server -- record `unavailable` and carry it. Do not keep
209
- trying, and do not ask the developer about this tool limit.
210
-
211
- Registering a server does not boot a device. Where the device probe found none, that is the
212
- whole finding, and a browser is not a substitute for a device.
213
-
214
- Wait for both research subagents to finish.
215
-
216
- Then report that the research came back:
217
-
218
- ```text
219
- npx --yes copilotkit@4.9.60 onboard checkpoint --phase research-returned
220
- ```
221
-
222
- A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
223
- failed step.
224
-
225
- Continue only if both research results start with `Status: passed`. For `Status: failed`,
226
- retry only that packet with its failed items, up to three attempts. For `Status: blocked`,
227
- or a third failed result, use the stop route at the end of this prompt.
228
-
229
- Merge both evidence packets by item. On a conflict, spawn one fresh read-only verifier with
230
- the item, both cited findings, and the research limits. Require its result to start with
231
- `Status: passed`, `Status: failed`, or `Status: blocked`. Use only a passed cited result. Do
232
- not inspect the project to settle the conflict yourself. Use the stop route for a non-pass
233
- verifier result.
234
-
235
- Match environment evidence to the target app directory from the project packet. Require one
236
- target app directory and one matching environment row. If either packet gives no match or
237
- more than one match, send each research worker a focused directory check. Continue only when
238
- both workers return the same one target app directory. Both results must start with
239
- `Status: passed`. Otherwise, use the stop route.
240
-
241
- ## Capture the protected-path baseline
242
-
243
- Before you route on, run this from the target app directory:
244
-
245
- ```text
246
- npx --yes copilotkit@4.9.60 onboard protect
247
- ```
248
-
249
- It reads the working tree itself, records every changed or untracked path with a digest,
250
- and prints the list. Require its result to start with `Status: passed`.
251
-
252
- Use the printed list as the protected path list for the rest of the run. Do not assemble
253
- that list yourself, and do not ask a subagent to hold it: every later audit reads the
254
- captured baseline back from the CLI, so no step depends on a subagent that has since
255
- finished.
256
-
257
- Paths printed as `deferred` are the ones onboarding itself writes, `.env` and
258
- `.copilotkit/project.json`. Every audit reports them and none fails on them until the step
259
- that writes them re-captures them, so a run whose only untracked files are the two this
260
- graph exists to create is never stopped by them.
261
-
262
- If the result starts with `Status: blocked`, report the printed reason and use the stop
263
- route at the end of this prompt.
264
-
265
- ## What the merged findings must contain
266
-
267
- If a repository file exists, each finding must cite it. For an empty project, the subagents
268
- must cite the directory check and report absent parts.
269
-
270
- The findings must cover what the project is for, the agent, frontend, CopilotKit setup,
271
- authentication, credential names, and validation path. Do not ask the developer for facts
272
- that the repository answers.
273
-
274
- ## Route on the merged findings
275
-
276
- Read the route off the merged findings. Three of them decide it, and you already hold all
277
- three:
278
-
279
- 1. an agent is present,
280
- 2. a frontend is present,
281
- 3. a CopilotKit integration is present.
282
-
283
- Do not infer a working OSS path from packages, imports, project files, or keys, and do not
284
- settle these three from your own reading of the project. Each one comes from the merged
285
- packets or it is not proved.
286
-
287
- If all three are proved, prove the live starting state before any project file changes. Run
288
- `npx --yes copilotkit@4.9.60 onboard read proof/oss-baseline`.
289
-
290
- Route there before you ask the developer anything else. The questions after this prompt
291
- select a framework and a frontend that the findings already name, so a developer who
292
- answers them has answered for work the next node exists to check. Their existing
293
- application is what that node protects. Whether it works is what the proof decides, not
294
- these three findings.
295
-
296
- For every other combination of the three, take one more step first. If neither the
297
- developer nor the repository findings prove what the project is for, ask one guided
298
- question about the user outcome. This asks what the developer wants to build before you
299
- select a framework. Give two or three short examples and offer a minimal starter. Record
300
- the answer and give it to each later subagent. Then run
301
- `npx --yes copilotkit@4.9.60 onboard read credentials/plan`.
302
-
303
- Do not ask that question on the route above. A project carrying all three states its
304
- purpose in the application it already serves.
141
+ When sign-in is settled, run
142
+ `npx --yes copilotkit@4.10.1 onboard read research/gather`.
305
143
 
306
- If authentication or inspection stops onboarding, run
307
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
144
+ If sign-in stops onboarding, run
145
+ `npx --yes copilotkit@4.10.1 onboard read stopped/run-failed`. It says nothing about
146
+ whether this project's stack is supported, which is not yet known at this point.
@@ -100,7 +100,7 @@ of this journey, and a drawer that lists nothing is not a reason to mint one. Li
100
100
  tokens stay a self-hosted concern.
101
101
 
102
102
  Where this journey's frontend framework ships no threads drawer -- React Native --, the
103
- fifth item is proved by `npx --yes copilotkit@4.9.60 verify --round-trip`, which sends a
103
+ fifth item is proved by `npx --yes copilotkit@4.10.1 verify --round-trip`, which sends a
104
104
  real request and reads the answer back off the thread it landed on. The run says which of
105
105
  the two it proved. Do not send a run to the managed Intelligence dashboard to prove this.
106
106
  An authenticated browser session at a hosted dashboard is the one thing an agent-driven run
@@ -116,7 +116,7 @@ and passed -- so a run scored on either one was scored on the same fact. Every r
116
116
  resolves that condition from, while `licenseStatus` is a compatibility projection of it
117
117
  for older thread surfaces and outlives them only until those surfaces go.
118
118
 
119
- Then run `npx --yes copilotkit@4.9.60 onboard read credentials/finalize-plan`.
119
+ Then run `npx --yes copilotkit@4.10.1 onboard read credentials/finalize-plan`.
120
120
 
121
121
  If a selected page does not load after the second method, run
122
- `npx --yes copilotkit@4.9.60 onboard read unsupported/no-validated-path`.
122
+ `npx --yes copilotkit@4.10.1 onboard read unsupported/no-validated-path`.