copilotkit 4.17.0 → 4.18.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 (81) hide show
  1. package/README.md +127 -5
  2. package/cli-build-info.json +7 -7
  3. package/exporters/langgraph/README.md +118 -0
  4. package/exporters/langgraph/export_checkpointer.py +125 -0
  5. package/index.js +12227 -9022
  6. package/onboarding/index.json +1 -1
  7. package/onboarding/prompts/authenticate/start.md +18 -19
  8. package/onboarding/prompts/conversion/plan.md +3 -3
  9. package/onboarding/prompts/credentials/finalize-plan.md +57 -200
  10. package/onboarding/prompts/credentials/plan.md +24 -23
  11. package/onboarding/prompts/credentials/settle-credentials.md +40 -213
  12. package/onboarding/prompts/credentials/write-plan.md +17 -8
  13. package/onboarding/prompts/fallback/best-effort.md +12 -12
  14. package/onboarding/prompts/feature/a2ui/implement.md +7 -7
  15. package/onboarding/prompts/feature/a2ui/proof.md +7 -7
  16. package/onboarding/prompts/feature/a2ui/start.md +53 -9
  17. package/onboarding/prompts/feature/channels/implement.md +8 -8
  18. package/onboarding/prompts/feature/channels/proof.md +7 -7
  19. package/onboarding/prompts/feature/channels/start.md +50 -7
  20. package/onboarding/prompts/feature/chat-suggestions/implement.md +7 -7
  21. package/onboarding/prompts/feature/chat-suggestions/proof.md +7 -7
  22. package/onboarding/prompts/feature/chat-suggestions/start.md +50 -7
  23. package/onboarding/prompts/feature/complete.md +2 -2
  24. package/onboarding/prompts/feature/learning/implement.md +24 -19
  25. package/onboarding/prompts/feature/learning/proof.md +8 -8
  26. package/onboarding/prompts/feature/learning/start.md +43 -20
  27. package/onboarding/prompts/feature/open-generative-ui/implement.md +7 -7
  28. package/onboarding/prompts/feature/open-generative-ui/proof.md +7 -7
  29. package/onboarding/prompts/feature/open-generative-ui/start.md +50 -7
  30. package/onboarding/prompts/feature/realtime-sync/implement.md +8 -8
  31. package/onboarding/prompts/feature/realtime-sync/proof.md +7 -7
  32. package/onboarding/prompts/feature/realtime-sync/start.md +49 -6
  33. package/onboarding/prompts/feature/rich-threads/implement.md +9 -9
  34. package/onboarding/prompts/feature/rich-threads/proof.md +7 -7
  35. package/onboarding/prompts/feature/rich-threads/start.md +49 -6
  36. package/onboarding/prompts/feature/stop.md +5 -5
  37. package/onboarding/prompts/feature/voice/implement.md +7 -7
  38. package/onboarding/prompts/feature/voice/proof.md +7 -7
  39. package/onboarding/prompts/feature/voice/start.md +50 -7
  40. package/onboarding/prompts/framework/ag2.md +2 -2
  41. package/onboarding/prompts/framework/agno.md +2 -2
  42. package/onboarding/prompts/framework/built-in.md +2 -2
  43. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  44. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  45. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  46. package/onboarding/prompts/framework/deep-agents.md +2 -2
  47. package/onboarding/prompts/framework/google-adk.md +2 -2
  48. package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
  49. package/onboarding/prompts/framework/langgraph-python.md +2 -2
  50. package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
  51. package/onboarding/prompts/framework/llamaindex.md +2 -2
  52. package/onboarding/prompts/framework/mastra.md +2 -2
  53. package/onboarding/prompts/framework/ms-agent-dotnet.md +2 -2
  54. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
  55. package/onboarding/prompts/framework/ms-agent-python.md +2 -2
  56. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  57. package/onboarding/prompts/framework/strands-python.md +2 -2
  58. package/onboarding/prompts/framework/strands-typescript.md +2 -2
  59. package/onboarding/prompts/frontend/angular.md +3 -3
  60. package/onboarding/prompts/frontend/nextjs.md +3 -3
  61. package/onboarding/prompts/frontend/plan.md +9 -8
  62. package/onboarding/prompts/frontend/react-native.md +2 -2
  63. package/onboarding/prompts/frontend/react-spa.md +2 -2
  64. package/onboarding/prompts/frontend/vue.md +2 -2
  65. package/onboarding/prompts/implementation/build-and-validate.md +19 -20
  66. package/onboarding/prompts/proof/complete.md +11 -11
  67. package/onboarding/prompts/proof/oss-baseline.md +5 -5
  68. package/onboarding/prompts/proof/round-trip.md +16 -15
  69. package/onboarding/prompts/research/gather.md +6 -6
  70. package/onboarding/prompts/research/merge.md +3 -3
  71. package/onboarding/prompts/research/preflight.md +4 -4
  72. package/onboarding/prompts/research/route.md +5 -5
  73. package/onboarding/prompts/starter/clone.md +8 -7
  74. package/onboarding/prompts/stopped/run-failed.md +4 -4
  75. package/onboarding/prompts/subagent/create-plan.md +10 -1
  76. package/onboarding/prompts/subagent/inspect-repository.md +9 -2
  77. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  78. package/onboarding/prompts/subagent/prove-round-trip.md +47 -17
  79. package/onboarding/prompts/unsupported/no-validated-path.md +4 -4
  80. package/package.json +1 -1
  81. package/release/release-tool.js +19 -5
@@ -4,28 +4,51 @@ Treat Learning as a managed Intelligence feature that assigns real threads to a
4
4
  Learning Container. Orchestrate with separate read-only, implementation, and proof
5
5
  subagents. Work only inside the target project and preserve its existing agent and chat.
6
6
 
7
- ## If you stop in this phase
7
+ ## Waits, stops, and subagents
8
8
 
9
- Name the exact command, code, or check that stopped you, then send one short report. Run the
10
- friction command without another developer question. Do not ask the developer about
11
- telemetry: the command applies the setting they already have.
9
+ A run that starts here has not read these rules yet, so they come first. They cover this
10
+ prompt and every later one.
11
+
12
+ Spawning a subagent returns almost at once. That return is the dispatch succeeding, not the
13
+ work finishing: the result reaches you as a notification, or with the dispatch itself where
14
+ your harness works that way. Do the work that does not depend on the result, then end your
15
+ turn and wait for the result. That wait is a pause. Do not sleep or poll.
16
+
17
+ A subagent that returns no usable result failed in your harness, not in this graph. Every
18
+ assignment here is work you can do yourself, slower, so run that assignment yourself and
19
+ carry on. Keep a read-only assignment read-only. If no subagent works at all, report it
20
+ once:
21
+
22
+ ```text
23
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase delegation-unavailable
24
+ ```
25
+
26
+ Before you end your turn to wait for the developer, report the pause:
27
+
28
+ ```text
29
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase awaiting-developer
30
+ ```
31
+
32
+ A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
33
+ When the answer or the result arrives, continue from the step that paused.
34
+
35
+ If you stop this run, send one short report before you stop. The friction command follows
36
+ the telemetry setting the developer already chose, so it needs no separate question.
12
37
 
13
38
  ```text
14
- npx --prefer-offline --yes copilotkit@4.17.0 onboard friction --phase stop --category <slug> --message "<sentences>"
39
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --phase stop --category <slug> --message "<sentences>"
15
40
  ```
16
41
 
17
42
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
18
43
  Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
19
44
  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 of
21
- the whole run, so the estimate is optional on a stop report and only there. Send no secrets,
22
- source code, logs, or command output. A refused report is not a failed step: reword it and
23
- send it again, or stop without a report.
45
+ --cost-seconds off. Send no secrets, source code, logs, or command output. A refused report
46
+ is not a failed step: reword it and send it again, or stop without a report. A stop that
47
+ routes to `feature/stop` sends no report here: that prompt first asks the developer about
48
+ one scoped fix, and sends the report itself when no fix is approved.
24
49
 
25
- A refusal by the platform is the one exception. It reaches `feature/blocked-by-plan`, which
26
- reports the ending by itself and says to file nothing further. A stop that routes to
27
- `feature/stop` also sends no report here: that prompt first asks the developer about one
28
- scoped fix, and sends the report itself when no fix is approved.
50
+ A refusal by the platform also sends no report here. It reaches `feature/blocked-by-plan`, which
51
+ reports the ending by itself and says to file nothing further.
29
52
 
30
53
  Ask the platform whether this organization may use Learning before doing any work. The
31
54
  read carries the same availability gate as the create, so it answers the entitlement
@@ -43,7 +66,7 @@ status:
43
66
  before the capture, the inspection, and any edit:
44
67
 
45
68
  ```text
46
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/blocked-by-plan
69
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/blocked-by-plan
47
70
  ```
48
71
 
49
72
  - `LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
@@ -64,7 +87,7 @@ again: it has no answer, so it carries the question forward rather than ending o
64
87
  Before any subagent or project process runs, capture the developer's existing work:
65
88
 
66
89
  ```text
67
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect
90
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect
68
91
  ```
69
92
 
70
93
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -78,7 +101,7 @@ test/dev commands. Prove the current round trip and inspect `/info`.
78
101
  Wait for the inspection subagent to finish. Then report that the inspection came back:
79
102
 
80
103
  ```text
81
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase research-returned
104
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase research-returned
82
105
  ```
83
106
 
84
107
  A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
@@ -88,7 +111,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
88
111
  changing files:
89
112
 
90
113
  ```text
91
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
114
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
92
115
  ```
93
116
 
94
117
  Fetch the current official guides before planning:
@@ -120,7 +143,7 @@ one.
120
143
  After approval, record each approved path before implementation:
121
144
 
122
145
  ```text
123
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
146
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
124
147
  ```
125
148
 
126
149
  If an approved path changed after capture and no implementation step has run, add
@@ -130,7 +153,7 @@ authorize a path the approved plan did not list.
130
153
  Then report the plan this run is about to implement:
131
154
 
132
155
  ```text
133
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase plan-written
156
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase plan-written
134
157
  ```
135
158
 
136
- Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/learning/implement`.
159
+ Then run `npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/learning/implement`.
@@ -16,7 +16,7 @@ validation results without secrets.
16
16
  Before you spawn the implementation subagent, take the authorized list from the CLI:
17
17
 
18
18
  ```text
19
- npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
19
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
20
20
  ```
21
21
 
22
22
  From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
@@ -35,7 +35,7 @@ still go on the record. Name the file and why the work needs it, then end your t
35
35
  for the developer's answer. If they allow it, record their answer before any edit:
36
36
 
37
37
  ```text
38
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
38
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
39
39
  ```
40
40
 
41
41
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -47,7 +47,7 @@ feature stop route below.
47
47
  After validation and each repair, run:
48
48
 
49
49
  ```text
50
- npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
50
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
51
51
  ```
52
52
 
53
53
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -58,7 +58,7 @@ with the implementation subagent's `Files changed` section. If that section does
58
58
  the path, accept the developer's external change:
59
59
 
60
60
  ```text
61
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --accept-external --path <path>
61
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --accept-external --path <path>
62
62
  ```
63
63
 
64
64
  For an env file where the developer placed a requested credential, use
@@ -71,17 +71,17 @@ Run the audit again after each accepted change. If it still fails, or starts
71
71
  with `Status: blocked`, route out and stop:
72
72
 
73
73
  ```text
74
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
74
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
75
75
  ```
76
76
 
77
77
  When implementation validation passes, report it:
78
78
 
79
79
  ```text
80
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase build-validated
80
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase build-validated
81
81
  ```
82
82
 
83
83
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
84
84
  the feature stop route above without further changes.
85
85
 
86
86
  Otherwise run
87
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/open-generative-ui/proof`.
87
+ `npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/open-generative-ui/proof`.
@@ -21,7 +21,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
21
21
  for the developer's answer. If they allow it, record their answer before any edit:
22
22
 
23
23
  ```text
24
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
24
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
25
25
  ```
26
26
 
27
27
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -33,23 +33,23 @@ route below.
33
33
  Report each attempt at the proof as it ends, counting from one:
34
34
 
35
35
  ```text
36
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase journey-attempted --attempt 1
36
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase journey-attempted --attempt 1
37
37
  ```
38
38
 
39
39
  Report each repair cycle the same way, counting from one:
40
40
 
41
41
  ```text
42
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase repair-attempted --attempt 1
42
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase repair-attempted --attempt 1
43
43
  ```
44
44
 
45
45
  After the final attempt, report the gate exactly once:
46
46
 
47
47
  ```text
48
- npx --prefer-offline --yes copilotkit@4.17.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
48
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
49
49
  ```
50
50
 
51
51
  Use `passed` only for a proved generated UI, `failed` for an attempted proof that failed,
52
- and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard audit`.
52
+ and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.18.0 onboard audit`.
53
53
  Continue only when it starts with `Status: passed`.
54
54
 
55
55
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -64,9 +64,9 @@ the path and the change the audit reports. Run the audit again after each accept
64
64
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
65
65
 
66
66
  ```text
67
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
67
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
68
68
  ```
69
69
 
70
70
  When the audit passes, run
71
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/complete` with the outcome actually
71
+ `npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/complete` with the outcome actually
72
72
  observed.
@@ -3,10 +3,53 @@
3
3
  Treat this as a focused OSS enhancement. Orchestrate the work with separate read-only,
4
4
  implementation, and proof subagents, all restricted to the target project directory.
5
5
 
6
+ ## Waits, stops, and subagents
7
+
8
+ A run that starts here has not read these rules yet, so they come first. They cover this
9
+ prompt and every later one.
10
+
11
+ Spawning a subagent returns almost at once. That return is the dispatch succeeding, not the
12
+ work finishing: the result reaches you as a notification, or with the dispatch itself where
13
+ your harness works that way. Do the work that does not depend on the result, then end your
14
+ turn and wait for the result. That wait is a pause. Do not sleep or poll.
15
+
16
+ A subagent that returns no usable result failed in your harness, not in this graph. Every
17
+ assignment here is work you can do yourself, slower, so run that assignment yourself and
18
+ carry on. Keep a read-only assignment read-only. If no subagent works at all, report it
19
+ once:
20
+
21
+ ```text
22
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase delegation-unavailable
23
+ ```
24
+
25
+ Before you end your turn to wait for the developer, report the pause:
26
+
27
+ ```text
28
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase awaiting-developer
29
+ ```
30
+
31
+ A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
32
+ When the answer or the result arrives, continue from the step that paused.
33
+
34
+ If you stop this run, send one short report before you stop. The friction command follows
35
+ the telemetry setting the developer already chose, so it needs no separate question.
36
+
37
+ ```text
38
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --phase stop --category <slug> --message "<sentences>"
39
+ ```
40
+
41
+ `--message` takes one or two sentences: the step you stopped at and what stopped it.
42
+ Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
43
+ sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
44
+ --cost-seconds off. Send no secrets, source code, logs, or command output. A refused report
45
+ is not a failed step: reword it and send it again, or stop without a report. A stop that
46
+ routes to `feature/stop` sends no report here: that prompt first asks the developer about
47
+ one scoped fix, and sends the report itself when no fix is approved.
48
+
6
49
  Before any subagent or project process runs, capture the developer's existing work:
7
50
 
8
51
  ```text
9
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect
52
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect
10
53
  ```
11
54
 
12
55
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -16,13 +59,13 @@ approved authorization before implementation.
16
59
  Before edits, have a research subagent identify the current CopilotKit runtime route,
17
60
  provider/chat component, agent id, package versions, existing middleware, sandbox/CSP
18
61
  constraints, and normal test/dev commands. Prove the existing app first with `/info`,
19
- `npx --prefer-offline --yes copilotkit@4.17.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
62
+ `npx --prefer-offline --yes copilotkit@4.18.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
20
63
  and a real frontend request when browser control is available.
21
64
 
22
65
  Wait for the inspection subagent to finish. Then report that the inspection came back:
23
66
 
24
67
  ```text
25
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase research-returned
68
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase research-returned
26
69
  ```
27
70
 
28
71
  A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
@@ -32,7 +75,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
32
75
  changing files:
33
76
 
34
77
  ```text
35
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
78
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
36
79
  ```
37
80
 
38
81
  Do not sign in, select an Intelligence project, create credentials, change the existing
@@ -54,7 +97,7 @@ one.
54
97
  After approval, record each approved path before implementation:
55
98
 
56
99
  ```text
57
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
100
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
58
101
  ```
59
102
 
60
103
  If an approved path changed after capture and no implementation step has run, add
@@ -64,7 +107,7 @@ authorize a path the approved plan did not list.
64
107
  Then report the plan this run is about to implement:
65
108
 
66
109
  ```text
67
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase plan-written
110
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase plan-written
68
111
  ```
69
112
 
70
- Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/open-generative-ui/implement`.
113
+ Then run `npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/open-generative-ui/implement`.
@@ -17,14 +17,14 @@ non-zero on an app that is working. Pass what `identifyUser` reads with a repeat
17
17
  It is not a defect to repair.
18
18
 
19
19
  Run focused tests and
20
- `npx --prefer-offline --yes copilotkit@4.17.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
20
+ `npx --prefer-offline --yes copilotkit@4.18.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
21
21
  Repair changed-file failures and record changed paths and secret-safe validation
22
22
  evidence.
23
23
 
24
24
  Before you spawn the implementation subagent, take the authorized list from the CLI:
25
25
 
26
26
  ```text
27
- npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
27
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
28
28
  ```
29
29
 
30
30
  From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
@@ -43,7 +43,7 @@ still go on the record. Name the file and why the work needs it, then end your t
43
43
  for the developer's answer. If they allow it, record their answer before any edit:
44
44
 
45
45
  ```text
46
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
46
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
47
47
  ```
48
48
 
49
49
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -55,7 +55,7 @@ feature stop route below.
55
55
  After validation and each repair, run:
56
56
 
57
57
  ```text
58
- npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
58
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
59
59
  ```
60
60
 
61
61
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -66,7 +66,7 @@ with the implementation subagent's `Files changed` section. If that section does
66
66
  the path, accept the developer's external change:
67
67
 
68
68
  ```text
69
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --accept-external --path <path>
69
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --accept-external --path <path>
70
70
  ```
71
71
 
72
72
  For an env file where the developer placed a requested credential, use
@@ -79,17 +79,17 @@ Run the audit again after each accepted change. If it still fails, or starts
79
79
  with `Status: blocked`, route out and stop:
80
80
 
81
81
  ```text
82
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
82
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
83
83
  ```
84
84
 
85
85
  When implementation validation passes, report it:
86
86
 
87
87
  ```text
88
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase build-validated
88
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase build-validated
89
89
  ```
90
90
 
91
91
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
92
92
  the feature stop route above without further changes.
93
93
 
94
94
  Otherwise run
95
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/realtime-sync/proof`.
95
+ `npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/realtime-sync/proof`.
@@ -23,7 +23,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
23
23
  for the developer's answer. If they allow it, record their answer before any edit:
24
24
 
25
25
  ```text
26
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
26
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
27
27
  ```
28
28
 
29
29
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -35,23 +35,23 @@ route below.
35
35
  Report each attempt at the proof as it ends, counting from one:
36
36
 
37
37
  ```text
38
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase journey-attempted --attempt 1
38
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase journey-attempted --attempt 1
39
39
  ```
40
40
 
41
41
  Report each repair cycle the same way, counting from one:
42
42
 
43
43
  ```text
44
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase repair-attempted --attempt 1
44
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase repair-attempted --attempt 1
45
45
  ```
46
46
 
47
47
  After the final attempt, report the gate exactly once:
48
48
 
49
49
  ```text
50
- npx --prefer-offline --yes copilotkit@4.17.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
50
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
51
51
  ```
52
52
 
53
53
  Use `passed` only for proved two-client sync, `failed` for an attempted proof that failed,
54
- and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard audit`.
54
+ and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.18.0 onboard audit`.
55
55
  Continue only when it starts with `Status: passed`.
56
56
 
57
57
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -66,8 +66,8 @@ the path and the change the audit reports. Run the audit again after each accept
66
66
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
67
67
 
68
68
  ```text
69
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
69
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
70
70
  ```
71
71
 
72
72
  When the audit passes, run
73
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/complete` with the actual outcome.
73
+ `npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/complete` with the actual outcome.
@@ -4,10 +4,53 @@ Treat realtime sync as the Intelligence thread-realtime plane, not as a generic
4
4
  exercise. Act as the orchestrator and delegate read-only inspection, implementation, and
5
5
  two-context proof to subagents within the target project.
6
6
 
7
+ ## Waits, stops, and subagents
8
+
9
+ A run that starts here has not read these rules yet, so they come first. They cover this
10
+ prompt and every later one.
11
+
12
+ Spawning a subagent returns almost at once. That return is the dispatch succeeding, not the
13
+ work finishing: the result reaches you as a notification, or with the dispatch itself where
14
+ your harness works that way. Do the work that does not depend on the result, then end your
15
+ turn and wait for the result. That wait is a pause. Do not sleep or poll.
16
+
17
+ A subagent that returns no usable result failed in your harness, not in this graph. Every
18
+ assignment here is work you can do yourself, slower, so run that assignment yourself and
19
+ carry on. Keep a read-only assignment read-only. If no subagent works at all, report it
20
+ once:
21
+
22
+ ```text
23
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase delegation-unavailable
24
+ ```
25
+
26
+ Before you end your turn to wait for the developer, report the pause:
27
+
28
+ ```text
29
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase awaiting-developer
30
+ ```
31
+
32
+ A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
33
+ When the answer or the result arrives, continue from the step that paused.
34
+
35
+ If you stop this run, send one short report before you stop. The friction command follows
36
+ the telemetry setting the developer already chose, so it needs no separate question.
37
+
38
+ ```text
39
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --phase stop --category <slug> --message "<sentences>"
40
+ ```
41
+
42
+ `--message` takes one or two sentences: the step you stopped at and what stopped it.
43
+ Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
44
+ sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
45
+ --cost-seconds off. Send no secrets, source code, logs, or command output. A refused report
46
+ is not a failed step: reword it and send it again, or stop without a report. A stop that
47
+ routes to `feature/stop` sends no report here: that prompt first asks the developer about
48
+ one scoped fix, and sends the report itself when no fix is approved.
49
+
7
50
  Before any subagent or project process runs, capture the developer's existing work:
8
51
 
9
52
  ```text
10
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect
53
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect
11
54
  ```
12
55
 
13
56
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -22,7 +65,7 @@ round trip and inspect `/info`.
22
65
  Wait for the inspection subagent to finish. Then report that the inspection came back:
23
66
 
24
67
  ```text
25
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase research-returned
68
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase research-returned
26
69
  ```
27
70
 
28
71
  A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
@@ -32,7 +75,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
32
75
  changing files:
33
76
 
34
77
  ```text
35
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
78
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
36
79
  ```
37
80
 
38
81
  Fetch the current official guides before planning:
@@ -58,7 +101,7 @@ one.
58
101
  After approval, record each approved path before implementation:
59
102
 
60
103
  ```text
61
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
104
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
62
105
  ```
63
106
 
64
107
  If an approved path changed after capture and no implementation step has run, add
@@ -68,7 +111,7 @@ authorize a path the approved plan did not list.
68
111
  Then report the plan this run is about to implement:
69
112
 
70
113
  ```text
71
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase plan-written
114
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase plan-written
72
115
  ```
73
116
 
74
- Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/realtime-sync/implement`.
117
+ Then run `npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/realtime-sync/implement`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Delegate implementation to one subagent with the approved plan and fetched official guides.
4
4
  If repository evidence does not prove an existing valid Intelligence selection, run
5
- `npx --prefer-offline --yes copilotkit@4.17.0 login --json` and follow its single streaming session. Then
5
+ `npx --prefer-offline --yes copilotkit@4.18.0 login --json` and follow its single streaming session. Then
6
6
  list projects, show the developer the current/recent choices, and select or create one only
7
7
  after they choose. Require the secret-safe selection summary to confirm the project file,
8
8
  environment file, and key provisioning; never display a key. If existing configuration is
@@ -20,14 +20,14 @@ non-zero on an app that is working. Pass what `identifyUser` reads with a repeat
20
20
  It is not a defect to repair.
21
21
 
22
22
  Run focused type/test commands, then start the app and run
23
- `npx --prefer-offline --yes copilotkit@4.17.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
23
+ `npx --prefer-offline --yes copilotkit@4.18.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
24
24
  Repair changed-file failures before continuing. Record changed paths and secret-safe
25
25
  validation evidence.
26
26
 
27
27
  Before you spawn the implementation subagent, take the authorized list from the CLI:
28
28
 
29
29
  ```text
30
- npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
30
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
31
31
  ```
32
32
 
33
33
  From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
@@ -46,7 +46,7 @@ still go on the record. Name the file and why the work needs it, then end your t
46
46
  for the developer's answer. If they allow it, record their answer before any edit:
47
47
 
48
48
  ```text
49
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
49
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
50
50
  ```
51
51
 
52
52
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -58,7 +58,7 @@ feature stop route below.
58
58
  After validation and each repair, run:
59
59
 
60
60
  ```text
61
- npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
61
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
62
62
  ```
63
63
 
64
64
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -69,7 +69,7 @@ with the implementation subagent's `Files changed` section. If that section does
69
69
  the path, accept the developer's external change:
70
70
 
71
71
  ```text
72
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --accept-external --path <path>
72
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --accept-external --path <path>
73
73
  ```
74
74
 
75
75
  For an env file where the developer placed a requested credential, use
@@ -82,17 +82,17 @@ Run the audit again after each accepted change. If it still fails, or starts
82
82
  with `Status: blocked`, route out and stop:
83
83
 
84
84
  ```text
85
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
85
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
86
86
  ```
87
87
 
88
88
  When implementation validation passes, report it:
89
89
 
90
90
  ```text
91
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase build-validated
91
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase build-validated
92
92
  ```
93
93
 
94
94
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
95
95
  the feature stop route above without further changes.
96
96
 
97
97
  Otherwise run
98
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/rich-threads/proof`.
98
+ `npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/rich-threads/proof`.
@@ -22,7 +22,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
22
22
  for the developer's answer. If they allow it, record their answer before any edit:
23
23
 
24
24
  ```text
25
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
25
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
26
26
  ```
27
27
 
28
28
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -34,24 +34,24 @@ route below.
34
34
  Report each attempt at the proof as it ends, counting from one:
35
35
 
36
36
  ```text
37
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase journey-attempted --attempt 1
37
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase journey-attempted --attempt 1
38
38
  ```
39
39
 
40
40
  Report each repair cycle the same way, counting from one:
41
41
 
42
42
  ```text
43
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase repair-attempted --attempt 1
43
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase repair-attempted --attempt 1
44
44
  ```
45
45
 
46
46
  After the final attempt, report the gate exactly once:
47
47
 
48
48
  ```text
49
- npx --prefer-offline --yes copilotkit@4.17.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
49
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
50
50
  ```
51
51
 
52
52
  Use `passed` only for proved persistence and reopen, `failed` for an attempted proof that
53
53
  failed, and `skipped` when the proof could not run. Then run
54
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard audit`. Continue only when it starts with
54
+ `npx --prefer-offline --yes copilotkit@4.18.0 onboard audit`. Continue only when it starts with
55
55
  `Status: passed`.
56
56
 
57
57
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -66,9 +66,9 @@ the path and the change the audit reports. Run the audit again after each accept
66
66
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
67
67
 
68
68
  ```text
69
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
69
+ npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
70
70
  ```
71
71
 
72
72
  When the audit passes, run
73
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/complete` with the actual browser
73
+ `npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/complete` with the actual browser
74
74
  outcome.