@linimin/pi-letscook 0.1.57 → 0.1.59
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/.agent/README.md +28 -0
- package/.agent/mission.md +8 -0
- package/.agent/profile.json +13 -0
- package/.agent/verify_completion_control_plane.sh +203 -0
- package/.agent/verify_completion_stop.sh +20 -0
- package/CHANGELOG.md +22 -2
- package/README.md +27 -18
- package/extensions/completion/driver.ts +77 -35
- package/extensions/completion/index.ts +78 -53
- package/extensions/completion/prompt-surfaces.ts +10 -5
- package/extensions/completion/proposal.ts +134 -28
- package/package.json +6 -1
- package/scripts/active-slice-contract-test.sh +93 -2
- package/scripts/canonical-evidence-artifact-test.sh +93 -2
- package/scripts/context-proposal-test.sh +751 -741
- package/scripts/refocus-test.sh +196 -28
- package/scripts/release-check.sh +51 -22
- package/scripts/smoke-test.sh +115 -10
- package/skills/cook-handoff-boundary/SKILL.md +20 -7
|
@@ -14,9 +14,10 @@ This skill governs the boundary between:
|
|
|
14
14
|
|
|
15
15
|
## Core Contract
|
|
16
16
|
|
|
17
|
-
- Ordinary chat may be used to clarify requirements, discuss tradeoffs,
|
|
17
|
+
- Ordinary chat may be used to clarify requirements, discuss tradeoffs, propose implementation approaches, and refine scope with the user.
|
|
18
18
|
- `/cook` is the only explicit entrypoint into long-running completion workflow.
|
|
19
|
-
- When the primary agent judges that a task has matured into completion-workflow scope, it must stop short of implementation and
|
|
19
|
+
- When the primary agent judges that a task has matured into completion-workflow scope, it must stop short of long-running implementation and treat `/cook` as the workflow boundary.
|
|
20
|
+
- Before the user explicitly runs `/cook`, ordinary chat remains ordinary chat: the agent may still answer follow-up questions and refine requirements instead of switching into a handoff-only refusal mode.
|
|
20
21
|
|
|
21
22
|
## When To Hand Off To `/cook`
|
|
22
23
|
|
|
@@ -34,9 +35,11 @@ When the task is judged ready for completion workflow, the primary agent must:
|
|
|
34
35
|
|
|
35
36
|
- stop before long-running implementation
|
|
36
37
|
- not edit tracked product files in ordinary chat for that workflow-level task
|
|
37
|
-
-
|
|
38
|
-
- explain that `/cook`
|
|
39
|
-
-
|
|
38
|
+
- recommend bare `/cook` as the explicit workflow boundary once the task is implementation-ready
|
|
39
|
+
- explain that `/cook` starts a new workflow or next round only from a fresh valid explicit primary-agent handoff capsule from recent ordinary-chat discussion, while active workflows resume from canonical state unless a fresh valid explicit handoff proposes replacement
|
|
40
|
+
- distinguish a workflow-worthy handoff from an implementation-ready handoff
|
|
41
|
+
- only append an implementation-ready `/cook` handoff capsule when the first bounded implementation slice is concrete enough to start immediately
|
|
42
|
+
- if the user asks follow-up questions or refines requirements before running `/cook`, continue ordinary-chat discussion normally without acting as though workflow already started
|
|
40
43
|
|
|
41
44
|
Required capsule format:
|
|
42
45
|
|
|
@@ -50,10 +53,16 @@ Required capsule format:
|
|
|
50
53
|
"mission": "<startable implementation mission>",
|
|
51
54
|
"scope": ["..."],
|
|
52
55
|
"constraints": ["..."],
|
|
56
|
+
"non_goals": ["..."],
|
|
53
57
|
"acceptance": ["..."],
|
|
54
58
|
"risks": ["..."],
|
|
55
59
|
"notes": ["..."],
|
|
56
|
-
"handoff_kind": "
|
|
60
|
+
"handoff_kind": "implementation_workflow_handoff",
|
|
61
|
+
"first_slice_goal": "<bounded first slice goal>",
|
|
62
|
+
"first_slice_non_goals": ["..."],
|
|
63
|
+
"implementation_surfaces": ["path/or/surface"],
|
|
64
|
+
"verification_commands": ["npm test -- example"],
|
|
65
|
+
"why_this_slice_first": "<why this first slice should start the workflow>",
|
|
57
66
|
"task_type": "completion-workflow",
|
|
58
67
|
"evaluation_profile": "completion-rubric-v1",
|
|
59
68
|
"why_cook_now": "<why the task is ready for /cook now>"
|
|
@@ -64,12 +73,15 @@ Required capsule format:
|
|
|
64
73
|
Notes:
|
|
65
74
|
|
|
66
75
|
- `constraints` may be replaced or supplemented by `non_goals` when clearer.
|
|
76
|
+
- `first_slice_goal`, `first_slice_non_goals`, `implementation_surfaces`, `verification_commands`, and `why_this_slice_first` are required only for implementation-ready handoffs.
|
|
77
|
+
- If the work is workflow-worthy but that first slice is still vague, say that `/cook` will be the right next step once the first slice is concrete enough, then keep refining in ordinary chat without emitting this implementation-ready capsule yet.
|
|
78
|
+
- If later ordinary-chat discussion materially changes the startup brief before `/cook` runs, update or replace the capsule in a later assistant reply.
|
|
67
79
|
- The mission must be positively startable implementation work; do not use rejection or suppression text as the mission.
|
|
68
80
|
- The capsule is startup intake for `/cook` only. It is not canonical `.agent/**` state, not active-slice state, and not a second repo contract source.
|
|
69
81
|
|
|
70
82
|
Suggested wording:
|
|
71
83
|
|
|
72
|
-
> This task
|
|
84
|
+
> This task now looks like `/cook` workflow work, but we are still in ordinary chat until you explicitly run `/cook`. If you want to keep refining the first slice first, we can do that here. Once you want to start implementation workflow, run bare `/cook`. I’ve also attached an explicit `/cook` handoff capsule so `/cook` can confirm this startup brief directly before the workflow begins.
|
|
73
85
|
|
|
74
86
|
A short recap may include mission, scope, or acceptance, but that recap must not be presented as canonical plan state.
|
|
75
87
|
|
|
@@ -81,6 +93,7 @@ Once the task is judged ready for completion workflow, the primary agent must no
|
|
|
81
93
|
- modify tracked product files as part of that workflow-level task
|
|
82
94
|
- act as though `/cook` had already been invoked
|
|
83
95
|
- silently rewrite ordinary-chat discussion into active workflow state
|
|
96
|
+
- refuse ordinary-chat clarification or requirement-refinement turns solely because `/cook` would now be appropriate
|
|
84
97
|
|
|
85
98
|
## Relationship To `completion-protocol`
|
|
86
99
|
|