copilotkit 4.11.0 → 4.12.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.
- package/LICENSE +11 -0
- package/README.md +145 -12
- package/cli-build-info.json +8 -8
- package/index.js +4970 -4644
- package/onboarding/index.json +8 -1
- package/onboarding/prompts/authenticate/start.md +14 -12
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +14 -13
- package/onboarding/prompts/credentials/plan.md +20 -20
- package/onboarding/prompts/credentials/settle-credentials.md +55 -23
- package/onboarding/prompts/credentials/write-plan.md +5 -5
- package/onboarding/prompts/fallback/best-effort.md +6 -6
- package/onboarding/prompts/feature/a2ui/implement.md +7 -7
- package/onboarding/prompts/feature/a2ui/proof.md +6 -6
- package/onboarding/prompts/feature/a2ui/start.md +10 -8
- package/onboarding/prompts/feature/blocked-by-plan.md +32 -0
- package/onboarding/prompts/feature/channels/implement.md +7 -7
- package/onboarding/prompts/feature/channels/proof.md +6 -6
- package/onboarding/prompts/feature/channels/start.md +10 -8
- package/onboarding/prompts/feature/chat-suggestions/implement.md +7 -7
- package/onboarding/prompts/feature/chat-suggestions/proof.md +6 -6
- package/onboarding/prompts/feature/chat-suggestions/start.md +10 -8
- package/onboarding/prompts/feature/complete.md +1 -1
- package/onboarding/prompts/feature/learning/implement.md +73 -14
- package/onboarding/prompts/feature/learning/proof.md +10 -9
- package/onboarding/prompts/feature/learning/start.md +61 -7
- package/onboarding/prompts/feature/open-generative-ui/implement.md +7 -7
- package/onboarding/prompts/feature/open-generative-ui/proof.md +6 -6
- package/onboarding/prompts/feature/open-generative-ui/start.md +10 -8
- package/onboarding/prompts/feature/realtime-sync/implement.md +8 -8
- package/onboarding/prompts/feature/realtime-sync/proof.md +6 -6
- package/onboarding/prompts/feature/realtime-sync/start.md +9 -7
- package/onboarding/prompts/feature/rich-threads/implement.md +9 -9
- package/onboarding/prompts/feature/rich-threads/proof.md +6 -6
- package/onboarding/prompts/feature/rich-threads/start.md +9 -7
- package/onboarding/prompts/feature/stop.md +2 -2
- package/onboarding/prompts/feature/voice/implement.md +7 -7
- package/onboarding/prompts/feature/voice/proof.md +6 -6
- package/onboarding/prompts/feature/voice/start.md +10 -8
- package/onboarding/prompts/framework/ag2.md +2 -2
- package/onboarding/prompts/framework/agno.md +2 -2
- package/onboarding/prompts/framework/built-in.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
- package/onboarding/prompts/framework/crewai-flows.md +2 -2
- package/onboarding/prompts/framework/deep-agents.md +2 -2
- package/onboarding/prompts/framework/google-adk.md +2 -2
- package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
- package/onboarding/prompts/framework/langgraph-python.md +2 -2
- package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
- package/onboarding/prompts/framework/llamaindex.md +2 -2
- package/onboarding/prompts/framework/mastra.md +2 -2
- package/onboarding/prompts/framework/ms-agent-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-python.md +2 -2
- package/onboarding/prompts/framework/pydantic-ai.md +2 -2
- package/onboarding/prompts/framework/strands-python.md +2 -2
- package/onboarding/prompts/framework/strands-typescript.md +2 -2
- package/onboarding/prompts/frontend/angular.md +5 -5
- package/onboarding/prompts/frontend/nextjs.md +4 -4
- package/onboarding/prompts/frontend/plan.md +7 -7
- package/onboarding/prompts/frontend/react-native.md +2 -2
- package/onboarding/prompts/frontend/react-spa.md +2 -2
- package/onboarding/prompts/frontend/vue.md +2 -2
- package/onboarding/prompts/implementation/build-and-validate.md +21 -16
- package/onboarding/prompts/proof/complete.md +12 -11
- package/onboarding/prompts/proof/oss-baseline.md +5 -5
- package/onboarding/prompts/proof/round-trip.md +10 -10
- package/onboarding/prompts/research/gather.md +41 -9
- package/onboarding/prompts/research/route.md +25 -4
- package/onboarding/prompts/starter/clone.md +5 -5
- package/onboarding/prompts/stopped/run-failed.md +30 -1
- package/onboarding/prompts/subagent/create-plan.md +7 -1
- package/onboarding/prompts/subagent/implement-and-validate.md +2 -1
- package/onboarding/prompts/subagent/inspect-repository.md +43 -16
- package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +27 -10
- package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
- package/package.json +4 -3
- package/release/release-tool.js +1 -1
|
@@ -27,10 +27,10 @@ and validation results.
|
|
|
27
27
|
After validation and each repair, run:
|
|
28
28
|
|
|
29
29
|
```text
|
|
30
|
-
npx --yes copilotkit@4.
|
|
30
|
+
npx --yes copilotkit@4.12.0 onboard audit
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
Continue only when it starts with `Status: passed`. A path under `Authorized to
|
|
33
|
+
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
34
34
|
not a finding. Carry it into the final summary with its reason.
|
|
35
35
|
|
|
36
36
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -38,7 +38,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
38
38
|
the path, accept the developer's external change:
|
|
39
39
|
|
|
40
40
|
```text
|
|
41
|
-
npx --yes copilotkit@4.
|
|
41
|
+
npx --yes copilotkit@4.12.0 onboard protect --accept-external --path <path>
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
For an env file where the developer placed a requested credential, use
|
|
@@ -47,24 +47,24 @@ or its report does not settle who changed it, ask the developer to allow the unp
|
|
|
47
47
|
change. Only after they agree, record their answer:
|
|
48
48
|
|
|
49
49
|
```text
|
|
50
|
-
npx --yes copilotkit@4.
|
|
50
|
+
npx --yes copilotkit@4.12.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
Run the audit again after each accepted or authorized change. If it still fails, or starts
|
|
54
54
|
with `Status: blocked`, route out and stop:
|
|
55
55
|
|
|
56
56
|
```text
|
|
57
|
-
npx --yes copilotkit@4.
|
|
57
|
+
npx --yes copilotkit@4.12.0 onboard read feature/stop
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
When implementation validation passes, report it:
|
|
61
61
|
|
|
62
62
|
```text
|
|
63
|
-
npx --yes copilotkit@4.
|
|
63
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase build-validated
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
If validation cannot pass, or this run needs a prerequisite the app does not have, use
|
|
67
67
|
the feature stop route above without further changes.
|
|
68
68
|
|
|
69
69
|
Otherwise run
|
|
70
|
-
`npx --yes copilotkit@4.
|
|
70
|
+
`npx --yes copilotkit@4.12.0 onboard read feature/channels/proof`.
|
|
@@ -16,23 +16,23 @@ route after the audit rules below.
|
|
|
16
16
|
Report each attempt at the proof as it ends, counting from one:
|
|
17
17
|
|
|
18
18
|
```text
|
|
19
|
-
npx --yes copilotkit@4.
|
|
19
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
Report each repair cycle the same way, counting from one:
|
|
23
23
|
|
|
24
24
|
```text
|
|
25
|
-
npx --yes copilotkit@4.
|
|
25
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
After the final attempt, report the gate exactly once:
|
|
29
29
|
|
|
30
30
|
```text
|
|
31
|
-
npx --yes copilotkit@4.
|
|
31
|
+
npx --yes copilotkit@4.12.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
Use `passed` only for a proved mention reply, `failed` for an attempted proof that
|
|
35
|
-
failed, and `skipped` when the proof did not run. Then run `npx --yes copilotkit@4.
|
|
35
|
+
failed, and `skipped` when the proof did not run. Then run `npx --yes copilotkit@4.12.0 onboard audit`.
|
|
36
36
|
Continue only when it starts with `Status: passed`.
|
|
37
37
|
|
|
38
38
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -47,11 +47,11 @@ Run the audit again after each accepted or authorized change.
|
|
|
47
47
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
48
48
|
|
|
49
49
|
```text
|
|
50
|
-
npx --yes copilotkit@4.
|
|
50
|
+
npx --yes copilotkit@4.12.0 onboard read feature/stop
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
When the audit passes and the mention proof passed, run
|
|
54
|
-
`npx --yes copilotkit@4.
|
|
54
|
+
`npx --yes copilotkit@4.12.0 onboard read feature/complete` with the actual surface
|
|
55
55
|
outcome. Use `--visual-check performed` only when a browser drove Slack or Teams web
|
|
56
56
|
and proved the mention reply. Use `--visual-check skipped-no-browser-tool` only when
|
|
57
57
|
no browser tool was available.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
First, report your coding agent identity using the same command as generic onboarding:
|
|
4
4
|
|
|
5
5
|
```text
|
|
6
|
-
npx --yes copilotkit@4.
|
|
6
|
+
npx --yes copilotkit@4.12.0 onboard identify --coding-agent <coding-agent-slug>
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
Use your own product's slug, such as `codex` or `claude-code`. This also covers entry
|
|
@@ -17,7 +17,7 @@ restricted to the target project.
|
|
|
17
17
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
18
18
|
|
|
19
19
|
```text
|
|
20
|
-
npx --yes copilotkit@4.
|
|
20
|
+
npx --yes copilotkit@4.12.0 onboard protect
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Keep the exact protected path list it prints and give that list to every subagent. Do not
|
|
@@ -43,7 +43,7 @@ This one does not.
|
|
|
43
43
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
44
44
|
|
|
45
45
|
```text
|
|
46
|
-
npx --yes copilotkit@4.
|
|
46
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase research-returned
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -54,7 +54,7 @@ without cloning. Do not switch to a custom build in silence. Name the missing to
|
|
|
54
54
|
Offer a custom headless build as a later path. Then route out:
|
|
55
55
|
|
|
56
56
|
```text
|
|
57
|
-
npx --yes copilotkit@4.
|
|
57
|
+
npx --yes copilotkit@4.12.0 onboard read feature/stop
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
Do not run login, select Intelligence, or create a credential until the developer
|
|
@@ -69,12 +69,14 @@ Slack e2e harness. Name focused tests and a real mention proof on the chosen
|
|
|
69
69
|
provider. Ask for approval separately.
|
|
70
70
|
|
|
71
71
|
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
72
|
-
with one sentence explaining why. Write `None` when it needs none.
|
|
72
|
+
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
73
|
+
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
74
|
+
one.
|
|
73
75
|
|
|
74
76
|
After approval, record each approved path before implementation:
|
|
75
77
|
|
|
76
78
|
```text
|
|
77
|
-
npx --yes copilotkit@4.
|
|
79
|
+
npx --yes copilotkit@4.12.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
78
80
|
```
|
|
79
81
|
|
|
80
82
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -84,7 +86,7 @@ authorize a path the approved plan did not list.
|
|
|
84
86
|
Then report the plan this run is about to implement:
|
|
85
87
|
|
|
86
88
|
```text
|
|
87
|
-
npx --yes copilotkit@4.
|
|
89
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase plan-written
|
|
88
90
|
```
|
|
89
91
|
|
|
90
|
-
Then run `npx --yes copilotkit@4.
|
|
92
|
+
Then run `npx --yes copilotkit@4.12.0 onboard read feature/channels/implement`.
|
|
@@ -15,10 +15,10 @@ Run focused type/test checks and start the app. Record the changed files and val
|
|
|
15
15
|
After validation and each repair, run:
|
|
16
16
|
|
|
17
17
|
```text
|
|
18
|
-
npx --yes copilotkit@4.
|
|
18
|
+
npx --yes copilotkit@4.12.0 onboard audit
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
Continue only when it starts with `Status: passed`. A path under `Authorized to
|
|
21
|
+
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
22
22
|
not a finding. Carry it into the final summary with its reason.
|
|
23
23
|
|
|
24
24
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -26,7 +26,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
26
26
|
the path, accept the developer's external change:
|
|
27
27
|
|
|
28
28
|
```text
|
|
29
|
-
npx --yes copilotkit@4.
|
|
29
|
+
npx --yes copilotkit@4.12.0 onboard protect --accept-external --path <path>
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
For an env file where the developer placed a requested credential, use
|
|
@@ -35,24 +35,24 @@ or its report does not settle who changed it, ask the developer to allow the unp
|
|
|
35
35
|
change. Only after they agree, record their answer:
|
|
36
36
|
|
|
37
37
|
```text
|
|
38
|
-
npx --yes copilotkit@4.
|
|
38
|
+
npx --yes copilotkit@4.12.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
Run the audit again after each accepted or authorized change. If it still fails, or starts
|
|
42
42
|
with `Status: blocked`, route out and stop:
|
|
43
43
|
|
|
44
44
|
```text
|
|
45
|
-
npx --yes copilotkit@4.
|
|
45
|
+
npx --yes copilotkit@4.12.0 onboard read feature/stop
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
When implementation validation passes, report it:
|
|
49
49
|
|
|
50
50
|
```text
|
|
51
|
-
npx --yes copilotkit@4.
|
|
51
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase build-validated
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
55
55
|
the feature stop route above without further changes.
|
|
56
56
|
|
|
57
57
|
Otherwise run
|
|
58
|
-
`npx --yes copilotkit@4.
|
|
58
|
+
`npx --yes copilotkit@4.12.0 onboard read feature/chat-suggestions/proof`.
|
|
@@ -12,23 +12,23 @@ project-owned services running.
|
|
|
12
12
|
Report each attempt at the proof as it ends, counting from one:
|
|
13
13
|
|
|
14
14
|
```text
|
|
15
|
-
npx --yes copilotkit@4.
|
|
15
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
Report each repair cycle the same way, counting from one:
|
|
19
19
|
|
|
20
20
|
```text
|
|
21
|
-
npx --yes copilotkit@4.
|
|
21
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
After the final attempt, report the gate exactly once:
|
|
25
25
|
|
|
26
26
|
```text
|
|
27
|
-
npx --yes copilotkit@4.
|
|
27
|
+
npx --yes copilotkit@4.12.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Use `passed` only for a proved sent suggestion, `failed` for an attempted proof that failed,
|
|
31
|
-
and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.
|
|
31
|
+
and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.12.0 onboard audit`.
|
|
32
32
|
Continue only when it starts with `Status: passed`.
|
|
33
33
|
|
|
34
34
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -43,9 +43,9 @@ Run the audit again after each accepted or authorized change.
|
|
|
43
43
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
44
44
|
|
|
45
45
|
```text
|
|
46
|
-
npx --yes copilotkit@4.
|
|
46
|
+
npx --yes copilotkit@4.12.0 onboard read feature/stop
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
When the audit passes, run
|
|
50
|
-
`npx --yes copilotkit@4.
|
|
50
|
+
`npx --yes copilotkit@4.12.0 onboard read feature/complete` with the real browser-proof
|
|
51
51
|
outcome.
|
|
@@ -6,7 +6,7 @@ implementation, and proof to separate subagents and keep all work inside the tar
|
|
|
6
6
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
7
7
|
|
|
8
8
|
```text
|
|
9
|
-
npx --yes copilotkit@4.
|
|
9
|
+
npx --yes copilotkit@4.12.0 onboard protect
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
Keep the exact protected path list it prints and give that list to every subagent. No
|
|
@@ -15,7 +15,7 @@ approved authorization before implementation.
|
|
|
15
15
|
|
|
16
16
|
Before edits, identify the current CopilotKit provider, chat component, message lifecycle,
|
|
17
17
|
agent id, package version, and test/dev commands. Prove the existing OSS round trip with
|
|
18
|
-
`/info`, `npx --yes copilotkit@4.
|
|
18
|
+
`/info`, `npx --yes copilotkit@4.12.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
|
|
19
19
|
and one real frontend request when browser control is available. If there is no proven
|
|
20
20
|
existing CopilotKit chat, leave files unchanged and direct the developer to generic
|
|
21
21
|
onboarding first.
|
|
@@ -23,7 +23,7 @@ onboarding first.
|
|
|
23
23
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
24
24
|
|
|
25
25
|
```text
|
|
26
|
-
npx --yes copilotkit@4.
|
|
26
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase research-returned
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -33,7 +33,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
|
|
|
33
33
|
changing files:
|
|
34
34
|
|
|
35
35
|
```text
|
|
36
|
-
npx --yes copilotkit@4.
|
|
36
|
+
npx --yes copilotkit@4.12.0 onboard read feature/stop
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
Do not run login, provision Intelligence, request a credential, replace the agent, or alter
|
|
@@ -48,12 +48,14 @@ context-dependent follow-ups. Show an approved-plan-sized diff, a focused test,
|
|
|
48
48
|
that a visible suggestion submits the intended message.
|
|
49
49
|
|
|
50
50
|
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
51
|
-
with one sentence explaining why. Write `None` when it needs none.
|
|
51
|
+
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
52
|
+
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
53
|
+
one.
|
|
52
54
|
|
|
53
55
|
After approval, record each approved path before implementation:
|
|
54
56
|
|
|
55
57
|
```text
|
|
56
|
-
npx --yes copilotkit@4.
|
|
58
|
+
npx --yes copilotkit@4.12.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
57
59
|
```
|
|
58
60
|
|
|
59
61
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -63,7 +65,7 @@ authorize a path the approved plan did not list.
|
|
|
63
65
|
Then report the plan this run is about to implement:
|
|
64
66
|
|
|
65
67
|
```text
|
|
66
|
-
npx --yes copilotkit@4.
|
|
68
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase plan-written
|
|
67
69
|
```
|
|
68
70
|
|
|
69
|
-
Then run `npx --yes copilotkit@4.
|
|
71
|
+
Then run `npx --yes copilotkit@4.12.0 onboard read feature/chat-suggestions/implement`.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Use the outcome the proof step observed. Run:
|
|
4
4
|
|
|
5
5
|
```text
|
|
6
|
-
npx --yes copilotkit@4.
|
|
6
|
+
npx --yes copilotkit@4.12.0 onboard complete --visual-check <performed|skipped-no-browser-tool|failed>
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
Use `performed` only when browser control drove the real user-visible surface. Use
|
|
@@ -5,12 +5,57 @@ valid existing Intelligence selection. If it is absent, use the documented strea
|
|
|
5
5
|
`login --json` session, let the developer select or create the Intelligence project, and
|
|
6
6
|
require the secret-safe project/key provisioning summary before wiring the runtime.
|
|
7
7
|
|
|
8
|
+
## If you stop in this phase
|
|
9
|
+
|
|
10
|
+
Four rules below end this run without completing it: an entitlement the platform will not
|
|
11
|
+
resolve, a container id that never resolves, an audit that stays blocked, and validation
|
|
12
|
+
that cannot pass. Each one stops onboarding for a developer who has already approved a
|
|
13
|
+
plan. Name the exact command, id, and error code that stopped you: a report that names only
|
|
14
|
+
the step cannot be acted on. Send one short report before you stop. Run the friction
|
|
15
|
+
command without another developer question. Do not ask the developer about telemetry: the
|
|
16
|
+
command applies the setting they already have.
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
npx --yes copilotkit@4.12.0 onboard friction --phase stop --category <slug>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Write one or two sentences to standard input: the step you stopped at and what stopped it.
|
|
23
|
+
Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
|
|
24
|
+
sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
|
|
25
|
+
--cost-seconds off. A run that stopped cannot separate one papercut's cost from the cost of
|
|
26
|
+
the whole run, so the estimate is optional on a stop report and only there. Send no secrets,
|
|
27
|
+
source code, logs, or command output. The command refuses a report that carries any of
|
|
28
|
+
those, prints the reason, and exits zero. A refused report is not a failed step. Send the
|
|
29
|
+
report, then stop.
|
|
30
|
+
|
|
31
|
+
A refusal by the platform is the one exception. It reaches `feature/blocked-by-plan`, which
|
|
32
|
+
reports the ending by itself and says to file nothing further.
|
|
33
|
+
|
|
8
34
|
After the project is selected, settle the container from the terminal.
|
|
9
35
|
|
|
36
|
+
Whichever of the two reads below runs first also answers the entitlement question, because
|
|
37
|
+
a read carries the same availability gate as the create. Read `status` and `error.code`
|
|
38
|
+
from its payload. Route on the code rather than on the exit status.
|
|
39
|
+
`LEARNING_NOT_ENABLED` means the platform refused Learning to this organization. That is a
|
|
40
|
+
settled refusal rather than a missing baseline, so stop here, before any file change, and
|
|
41
|
+
take its own ending:
|
|
42
|
+
|
|
43
|
+
```text
|
|
44
|
+
npx --yes copilotkit@4.12.0 onboard read feature/blocked-by-plan
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
`LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
|
|
48
|
+
unknown rather than denied. Run the same command once more. If the second call answers the
|
|
49
|
+
same way, report the code and stop onboarding.
|
|
50
|
+
|
|
51
|
+
`feature/learning/start` asks this question first, and a run that arrives here already
|
|
52
|
+
signed in has its answer. A run that reached this prompt signed out could not be asked
|
|
53
|
+
then, so the read below is where its refusal surfaces.
|
|
54
|
+
|
|
10
55
|
When the plan or the repository already names an id, ask about that one id and nothing else:
|
|
11
56
|
|
|
12
57
|
```text
|
|
13
|
-
npx --yes copilotkit@4.
|
|
58
|
+
npx --yes copilotkit@4.12.0 learning containers get <id> --json
|
|
14
59
|
```
|
|
15
60
|
|
|
16
61
|
One call answers it, and no list is needed.
|
|
@@ -18,7 +63,7 @@ One call answers it, and no list is needed.
|
|
|
18
63
|
When no id is in hand, survey what the project holds:
|
|
19
64
|
|
|
20
65
|
```text
|
|
21
|
-
npx --yes copilotkit@4.
|
|
66
|
+
npx --yes copilotkit@4.12.0 learning containers list --json
|
|
22
67
|
```
|
|
23
68
|
|
|
24
69
|
One call returns at most 500 containers. When `nextCursor` in the result is not null, read
|
|
@@ -29,7 +74,7 @@ second container for work the first one already covers.
|
|
|
29
74
|
Report what the read found before asking anyone anything:
|
|
30
75
|
|
|
31
76
|
```text
|
|
32
|
-
npx --yes copilotkit@4.
|
|
77
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase container-surveyed
|
|
33
78
|
```
|
|
34
79
|
|
|
35
80
|
Everything after this waits on a person, so a run that stops past this point stopped on a
|
|
@@ -47,10 +92,24 @@ person. Route per user only when the developer asks for it, and do it in their s
|
|
|
47
92
|
rather than in more containers: `getLearningContainerId` receives the resolved application
|
|
48
93
|
user, so the callback can return a different id per tier or per customer.
|
|
49
94
|
|
|
50
|
-
|
|
95
|
+
Ask the CLI for the id rather than spelling one yourself:
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
npx --yes copilotkit@4.12.0 learning containers default-id --json
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
It derives the project-scoped id from the selected project's slug, reads the local project
|
|
102
|
+
record only, and needs no credential. `"status": "success"` carries it in `containerId`.
|
|
103
|
+
`"status": "skipped"` means there is no id to derive: `slug-unusable` for a slug that
|
|
104
|
+
leaves nothing the id contract accepts, and `no-project-record` for a directory with no
|
|
105
|
+
selected project. Only then pick a descriptive lowercase hyphenated id of 1-64 characters.
|
|
106
|
+
|
|
107
|
+
Both this intent and a first onboarding run settle the same project's container, and the
|
|
108
|
+
run that spells the id differently gives one project two containers, each below the line
|
|
109
|
+
above on its own. One command is what keeps the two spellings identical.
|
|
51
110
|
|
|
52
111
|
```text
|
|
53
|
-
npx --yes copilotkit@4.
|
|
112
|
+
npx --yes copilotkit@4.12.0 learning containers create --id <id> --name <name> --json
|
|
54
113
|
```
|
|
55
114
|
|
|
56
115
|
An id already in use answers `LEARNING_CONTAINER_ALREADY_EXISTS`. That is a container to
|
|
@@ -65,7 +124,7 @@ or a guessed id.
|
|
|
65
124
|
Then report that the container is settled, before any edit:
|
|
66
125
|
|
|
67
126
|
```text
|
|
68
|
-
npx --yes copilotkit@4.
|
|
127
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase container-settled
|
|
69
128
|
```
|
|
70
129
|
|
|
71
130
|
Everything above happens between two prompts, so a run that stopped on a developer who could
|
|
@@ -86,16 +145,16 @@ non-zero on an app that is working. Pass what `identifyUser` reads with a repeat
|
|
|
86
145
|
It is not a defect to repair.
|
|
87
146
|
|
|
88
147
|
Run focused tests and
|
|
89
|
-
`npx --yes copilotkit@4.
|
|
148
|
+
`npx --yes copilotkit@4.12.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
|
|
90
149
|
Repair changed-file failures and record secret-safe evidence.
|
|
91
150
|
|
|
92
151
|
After validation and each repair, run:
|
|
93
152
|
|
|
94
153
|
```text
|
|
95
|
-
npx --yes copilotkit@4.
|
|
154
|
+
npx --yes copilotkit@4.12.0 onboard audit
|
|
96
155
|
```
|
|
97
156
|
|
|
98
|
-
Continue only when it starts with `Status: passed`. A path under `Authorized to
|
|
157
|
+
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
99
158
|
not a finding. Carry it into the final summary with its reason.
|
|
100
159
|
|
|
101
160
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -103,7 +162,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
103
162
|
the path, accept the developer's external change:
|
|
104
163
|
|
|
105
164
|
```text
|
|
106
|
-
npx --yes copilotkit@4.
|
|
165
|
+
npx --yes copilotkit@4.12.0 onboard protect --accept-external --path <path>
|
|
107
166
|
```
|
|
108
167
|
|
|
109
168
|
For an env file where the developer placed a requested credential, use
|
|
@@ -112,24 +171,24 @@ or its report does not settle who changed it, ask the developer to allow the unp
|
|
|
112
171
|
change. Only after they agree, record their answer:
|
|
113
172
|
|
|
114
173
|
```text
|
|
115
|
-
npx --yes copilotkit@4.
|
|
174
|
+
npx --yes copilotkit@4.12.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
116
175
|
```
|
|
117
176
|
|
|
118
177
|
Run the audit again after each accepted or authorized change. If it still fails, or starts
|
|
119
178
|
with `Status: blocked`, route out and stop:
|
|
120
179
|
|
|
121
180
|
```text
|
|
122
|
-
npx --yes copilotkit@4.
|
|
181
|
+
npx --yes copilotkit@4.12.0 onboard read feature/stop
|
|
123
182
|
```
|
|
124
183
|
|
|
125
184
|
When implementation validation passes, report it:
|
|
126
185
|
|
|
127
186
|
```text
|
|
128
|
-
npx --yes copilotkit@4.
|
|
187
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase build-validated
|
|
129
188
|
```
|
|
130
189
|
|
|
131
190
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
132
191
|
the feature stop route above without further changes.
|
|
133
192
|
|
|
134
193
|
Otherwise run
|
|
135
|
-
`npx --yes copilotkit@4.
|
|
194
|
+
`npx --yes copilotkit@4.12.0 onboard read feature/learning/proof`.
|
|
@@ -7,7 +7,7 @@ Container. Confirm the thread remains associated with the expected user.
|
|
|
7
7
|
One command decides it:
|
|
8
8
|
|
|
9
9
|
```text
|
|
10
|
-
npx --yes copilotkit@4.
|
|
10
|
+
npx --yes copilotkit@4.12.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --expect-learning-container <id> --json
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
It reads the thread back from the platform, so it answers for any runtime mount, and it
|
|
@@ -25,30 +25,31 @@ process IDs, and safe stop commands. Repair changed-file defects and repeat.
|
|
|
25
25
|
Tell the developer what happens next, because a correct run looks like a broken one
|
|
26
26
|
otherwise. Learning runs on its own: the first automatic run needs new threads from 15
|
|
27
27
|
distinct conversations in this container, and only the newest snapshot of each thread
|
|
28
|
-
counts.
|
|
29
|
-
|
|
28
|
+
counts. Existing threads can join this container if they never belonged to another one.
|
|
29
|
+
Their surviving earlier history then becomes eligible for collection and counts toward the
|
|
30
|
+
same threshold. Existing threads do not join automatically just because a container exists.
|
|
30
31
|
|
|
31
32
|
Report each attempt at the proof as it ends, counting from one:
|
|
32
33
|
|
|
33
34
|
```text
|
|
34
|
-
npx --yes copilotkit@4.
|
|
35
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
35
36
|
```
|
|
36
37
|
|
|
37
38
|
Report each repair cycle the same way, counting from one:
|
|
38
39
|
|
|
39
40
|
```text
|
|
40
|
-
npx --yes copilotkit@4.
|
|
41
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
41
42
|
```
|
|
42
43
|
|
|
43
44
|
After the final attempt, report the gate exactly once:
|
|
44
45
|
|
|
45
46
|
```text
|
|
46
|
-
npx --yes copilotkit@4.
|
|
47
|
+
npx --yes copilotkit@4.12.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
47
48
|
```
|
|
48
49
|
|
|
49
50
|
Use `passed` only for a proved Container assignment, `failed` for an attempted proof that
|
|
50
51
|
failed, and `skipped` when the proof could not run. Then run
|
|
51
|
-
`npx --yes copilotkit@4.
|
|
52
|
+
`npx --yes copilotkit@4.12.0 onboard audit`. Continue only when it starts with
|
|
52
53
|
`Status: passed`.
|
|
53
54
|
|
|
54
55
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -63,9 +64,9 @@ Run the audit again after each accepted or authorized change.
|
|
|
63
64
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
64
65
|
|
|
65
66
|
```text
|
|
66
|
-
npx --yes copilotkit@4.
|
|
67
|
+
npx --yes copilotkit@4.12.0 onboard read feature/stop
|
|
67
68
|
```
|
|
68
69
|
|
|
69
70
|
When the audit passes, run
|
|
70
|
-
`npx --yes copilotkit@4.
|
|
71
|
+
`npx --yes copilotkit@4.12.0 onboard read feature/complete` with the actual surface
|
|
71
72
|
outcome.
|
|
@@ -4,10 +4,62 @@ 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
|
|
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.
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
npx --yes copilotkit@4.12.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 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.
|
|
24
|
+
|
|
25
|
+
Ask the platform whether this organization may use Learning before doing any work. The
|
|
26
|
+
read carries the same availability gate as the create, so it answers the entitlement
|
|
27
|
+
question in one call and writes nothing:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
copilotkit learning containers list --json
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Read `status` and `error.code` from the payload. Route on the code rather than on the exit
|
|
34
|
+
status:
|
|
35
|
+
|
|
36
|
+
- `"status": "success"` means Learning is available here. Continue with the capture below.
|
|
37
|
+
- `LEARNING_NOT_ENABLED` means the platform refused Learning to this organization. Stop
|
|
38
|
+
before the capture, the inspection, and any edit:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
npx --yes copilotkit@4.12.0 onboard read feature/blocked-by-plan
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
- `LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
|
|
45
|
+
unknown rather than denied. Run the same command once more. If the second call answers
|
|
46
|
+
the same way, report the code and stop onboarding.
|
|
47
|
+
- `AUTH_FAILED` and `PREREQUISITE_MISSING` mean the probe could not ask. This run reaches
|
|
48
|
+
this prompt before any login or project selection, so the CLI holds no session yet, or
|
|
49
|
+
this directory has no selected Intelligence project. Neither is a refusal. Do not stop,
|
|
50
|
+
and do not read `feature/blocked-by-plan`. Continue with the capture below.
|
|
51
|
+
`feature/learning/implement` signs in, selects the project, and asks the same question
|
|
52
|
+
there, still before any file changes.
|
|
53
|
+
- Any other code: report it and stop onboarding.
|
|
54
|
+
|
|
55
|
+
A refusal is not a missing prerequisite. It has its own ending, and `feature/stop` below is
|
|
56
|
+
for a baseline this project does not have. A run that has no session yet is a third thing
|
|
57
|
+
again: it has no answer, so it carries the question forward rather than ending on it.
|
|
58
|
+
|
|
7
59
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
8
60
|
|
|
9
61
|
```text
|
|
10
|
-
npx --yes copilotkit@4.
|
|
62
|
+
npx --yes copilotkit@4.12.0 onboard protect
|
|
11
63
|
```
|
|
12
64
|
|
|
13
65
|
Keep the exact protected path list it prints and give that list to every subagent. No
|
|
@@ -23,7 +75,7 @@ onboarding.
|
|
|
23
75
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
24
76
|
|
|
25
77
|
```text
|
|
26
|
-
npx --yes copilotkit@4.
|
|
78
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase research-returned
|
|
27
79
|
```
|
|
28
80
|
|
|
29
81
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -33,7 +85,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
|
|
|
33
85
|
changing files:
|
|
34
86
|
|
|
35
87
|
```text
|
|
36
|
-
npx --yes copilotkit@4.
|
|
88
|
+
npx --yes copilotkit@4.12.0 onboard read feature/stop
|
|
37
89
|
```
|
|
38
90
|
|
|
39
91
|
Fetch the current official guides before planning:
|
|
@@ -58,12 +110,14 @@ the documented `getLearningContainerId` selector, validation, and a visible assi
|
|
|
58
110
|
proof. Ask for approval separately.
|
|
59
111
|
|
|
60
112
|
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
61
|
-
with one sentence explaining why. Write `None` when it needs none.
|
|
113
|
+
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
114
|
+
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
115
|
+
one.
|
|
62
116
|
|
|
63
117
|
After approval, record each approved path before implementation:
|
|
64
118
|
|
|
65
119
|
```text
|
|
66
|
-
npx --yes copilotkit@4.
|
|
120
|
+
npx --yes copilotkit@4.12.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
67
121
|
```
|
|
68
122
|
|
|
69
123
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -73,7 +127,7 @@ authorize a path the approved plan did not list.
|
|
|
73
127
|
Then report the plan this run is about to implement:
|
|
74
128
|
|
|
75
129
|
```text
|
|
76
|
-
npx --yes copilotkit@4.
|
|
130
|
+
npx --yes copilotkit@4.12.0 onboard checkpoint --phase plan-written
|
|
77
131
|
```
|
|
78
132
|
|
|
79
|
-
Then run `npx --yes copilotkit@4.
|
|
133
|
+
Then run `npx --yes copilotkit@4.12.0 onboard read feature/learning/implement`.
|