@linimin/pi-letscook 0.1.61 → 0.1.62
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/CHANGELOG.md +7 -1
- package/README.md +16 -13
- package/extensions/completion/index.ts +1 -1
- package/extensions/completion/prompt-surfaces.ts +7 -8
- package/package.json +1 -1
- package/scripts/release-check.sh +20 -21
- package/scripts/smoke-test.sh +5 -5
- package/skills/cook-handoff-boundary/SKILL.md +36 -35
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 0.1.62
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- made ordinary chat implementation-first again so the primary agent may directly edit repo files without requiring `/cook` when workflow state is unnecessary
|
|
8
|
+
- repositioned `/cook` as optional workflow mode for confirm-first startup, resumability, review/audit flow, and canonical `.agent/**` state rather than as a mandatory implementation boundary
|
|
9
|
+
- updated ordinary-chat boundary docs, reminders, and release-parity checks so they no longer tell the agent to block repo edits pending explicit `/cook`
|
|
4
10
|
|
|
5
11
|
## 0.1.61
|
|
6
12
|
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# @linimin/pi-letscook
|
|
2
2
|
|
|
3
|
-
`/cook`
|
|
3
|
+
`/cook` is optional workflow mode for turning main-chat discussion about concrete repo changes into a resumable repo workflow stored in repo-local `.agent/**` state.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
You can still implement directly in ordinary chat when you do not need workflow state. Use `/cook` when you want confirm-first startup, resumability, review/audit flow, or canonical `.agent/**` control.
|
|
6
6
|
|
|
7
7
|
## Use it when
|
|
8
8
|
|
|
@@ -10,10 +10,12 @@
|
|
|
10
10
|
- you want one mission tracked in repo state instead of chat memory
|
|
11
11
|
- you want clear continue / refocus / next-round behavior
|
|
12
12
|
- you want review, audit, and verification tied to the repo
|
|
13
|
+
- you want a confirm-first workflow boundary before canonical state is written
|
|
13
14
|
|
|
14
15
|
## Skip it when
|
|
15
16
|
|
|
16
17
|
- you only need a one-off answer
|
|
18
|
+
- you want the agent to implement directly in ordinary chat
|
|
17
19
|
- you are brainstorming
|
|
18
20
|
- you are writing planning docs but are not ready to start concrete repo changes
|
|
19
21
|
|
|
@@ -30,8 +32,8 @@ Then run `/reload` in Pi.
|
|
|
30
32
|
1. Install the package:
|
|
31
33
|
`pi install npm:@linimin/pi-letscook`
|
|
32
34
|
2. Run `/reload` in Pi.
|
|
33
|
-
3. In the main chat,
|
|
34
|
-
4. When you want
|
|
35
|
+
3. In the main chat, either implement directly with the agent or refine the concrete repo change you want.
|
|
36
|
+
4. When you want workflow mode, run `/cook`.
|
|
35
37
|
5. Review the synthesized startup brief and choose **Start** or **Cancel**.
|
|
36
38
|
6. Later, run `/cook` again to resume from canonical state or confirm a synthesized replacement or next-round startup brief.
|
|
37
39
|
|
|
@@ -43,7 +45,8 @@ Then run `/reload` in Pi.
|
|
|
43
45
|
|
|
44
46
|
| If you want to... | Do this |
|
|
45
47
|
|---|---|
|
|
46
|
-
|
|
|
48
|
+
| Implement directly without workflow | Ask in ordinary chat and let the agent modify the repo directly |
|
|
49
|
+
| Start a tracked workflow | Discuss the concrete repo change in the main chat, then run `/cook` when you want workflow to begin |
|
|
47
50
|
| Continue the current workflow | Run `/cook` |
|
|
48
51
|
| Refocus or start the next round | Discuss the new concrete repo change in the main chat, then run `/cook` when you want a new startup brief synthesized |
|
|
49
52
|
|
|
@@ -64,20 +67,20 @@ If you pass inline arguments to `/cook`, it also fails closed and tells you to m
|
|
|
64
67
|
|
|
65
68
|
## Workflow entry
|
|
66
69
|
|
|
67
|
-
Only explicit `/cook` enters
|
|
70
|
+
Only explicit `/cook` enters workflow mode. Ordinary prompts stay in the main chat and go straight to the primary agent.
|
|
68
71
|
|
|
69
|
-
|
|
72
|
+
Ordinary chat can still directly implement repo changes. `/cook` is for the cases where you want workflow control rather than just implementation help.
|
|
70
73
|
|
|
71
|
-
|
|
74
|
+
When you explicitly run `/cook`, it synthesizes a startup brief from recent discussion using primary-agent-style context, then asks you to **Start** or **Cancel** before rewriting canonical workflow state.
|
|
72
75
|
|
|
73
|
-
Optional explicit `/cook` capsules may still be used as compatibility startup intake, but they are
|
|
76
|
+
Optional explicit `/cook` capsules may still be used as compatibility startup intake, but they are not required for new-workflow or next-round entry.
|
|
74
77
|
|
|
75
78
|
Important behavior:
|
|
76
|
-
- `/cook` is
|
|
77
|
-
- startup and next-round entry stay confirm-first,
|
|
79
|
+
- `/cook` is an optional workflow boundary and manual entry point
|
|
80
|
+
- startup and next-round entry stay confirm-first, deriving startup from explicit user `/cook` entry plus recent discussion when needed
|
|
78
81
|
- active workflows resume from canonical `.agent/**` state unless `/cook` synthesizes or receives a concrete replacement mission
|
|
79
82
|
- explicit slash commands other than `/cook` continue normally in the main chat
|
|
80
|
-
- ordinary main-chat discussion may clarify
|
|
83
|
+
- ordinary main-chat discussion may clarify, propose, or directly implement repo changes without entering workflow mode
|
|
81
84
|
|
|
82
85
|
## Typical examples
|
|
83
86
|
|
|
@@ -91,7 +94,7 @@ I want to add login redirect handling and tests.
|
|
|
91
94
|
|
|
92
95
|
## What happens when you run `/cook`
|
|
93
96
|
|
|
94
|
-
`/cook` first checks for a fresh explicit primary-agent handoff capsule as a compatibility intake path. If none is present, `/cook` synthesizes a startup brief from recent discussion using primary-agent-style context. New-workflow entry and done-workflow next-round entry still fail closed when that synthesis is too weak or planning-only. When a workflow is already active and no concrete replacement mission is available, `/cook` resumes from canonical `.agent/**` state.
|
|
97
|
+
`/cook` first checks for a fresh explicit primary-agent handoff capsule as a compatibility intake path. If none is present, `/cook` synthesizes a startup brief from recent discussion using primary-agent-style context. New-workflow entry and done-workflow next-round entry still fail closed when that synthesis is too weak or planning-only. When a workflow is already active and no concrete replacement mission is available, `/cook` resumes from canonical `.agent/**` state. None of this prevents ordinary-chat implementation when you choose not to enter workflow mode.
|
|
95
98
|
|
|
96
99
|
| Repo state | What you'll see |
|
|
97
100
|
|---|---|
|
|
@@ -942,7 +942,7 @@ export default function completionExtension(pi: ExtensionAPI) {
|
|
|
942
942
|
structuredDiscussionFailureDetail: COOK_STRUCTURED_DISCUSSION_FAILURE_DETAIL,
|
|
943
943
|
mainChatRerunGuidance: COOK_MAIN_CHAT_RERUN_GUIDANCE,
|
|
944
944
|
cookCommandSpec: {
|
|
945
|
-
description: "/cook workflow: synthesize a startup brief
|
|
945
|
+
description: "/cook workflow: optionally enter tracked workflow mode, synthesize a startup brief from explicit /cook entry, resume the current workflow from canonical state, or confirm a replacement mission",
|
|
946
946
|
},
|
|
947
947
|
buildContextProposalContinuationReason,
|
|
948
948
|
completionKickoff,
|
|
@@ -26,17 +26,16 @@ export type AdvisoryStartupBrief = {
|
|
|
26
26
|
|
|
27
27
|
export function buildCookHandoffBoundaryReminder(): string {
|
|
28
28
|
return [
|
|
29
|
-
"You are
|
|
30
|
-
"
|
|
31
|
-
"/cook is the only explicit entrypoint into long-running completion workflow.",
|
|
29
|
+
"You are in ordinary main chat unless the user explicitly runs /cook.",
|
|
30
|
+
"Ordinary chat may clarify requirements, discuss tradeoffs, refine scope, and directly implement requested repo changes, including multi-file work, when that is the most helpful response.",
|
|
32
31
|
"Do not proactively tell the user to run /cook just because a task looks workflow-worthy, and do not emit a ```cook_handoff``` capsule by default in ordinary chat.",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"If the user asks follow-up questions or wants to keep refining scope, continue helping in ordinary chat
|
|
36
|
-
"
|
|
32
|
+
"/cook is optional workflow mode for resumability, review, audit, canonical .agent state, or deliberate multi-session control; it is not required just to edit repo files in ordinary chat.",
|
|
33
|
+
"If the user wants direct implementation now, stay in ordinary chat and help directly instead of blocking on /cook.",
|
|
34
|
+
"If the user asks follow-up questions or wants to keep refining scope, continue helping naturally in ordinary chat.",
|
|
35
|
+
"If the user explicitly runs /cook, /cook will synthesize a startup brief from recent discussion using primary-agent-style context, then show Start/Cancel confirmation before canonical workflow state is rewritten.",
|
|
37
36
|
"Only provide a preview startup brief or ```cook_handoff``` capsule in ordinary chat when the user explicitly asks for that preview behavior.",
|
|
38
37
|
"Any preview capsule is startup intake for /cook only: do not present it as canonical .agent state, an active slice, or a persistent repo contract.",
|
|
39
|
-
"
|
|
38
|
+
"When you continue in ordinary chat, do not pretend /cook already started and do not silently rewrite discussion into canonical workflow state.",
|
|
40
39
|
].join(" ");
|
|
41
40
|
}
|
|
42
41
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@linimin/pi-letscook",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.62",
|
|
4
4
|
"description": "Pi package for long-running completion workflows with canonical .agent state, role-based subagents, continuity, and verification helpers.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"private": false,
|
package/scripts/release-check.sh
CHANGED
|
@@ -9,47 +9,46 @@ echo "[release-check] running control-plane validation, tracked .agent contract
|
|
|
9
9
|
bash .agent/verify_completion_control_plane.sh
|
|
10
10
|
git ls-files --error-unmatch .agent/README.md .agent/mission.md .agent/profile.json .agent/verify_completion_stop.sh .agent/verify_completion_control_plane.sh >/dev/null
|
|
11
11
|
|
|
12
|
-
echo "[release-check] verifying public /cook parity and
|
|
12
|
+
echo "[release-check] verifying public /cook parity and optional-workflow docs/help"
|
|
13
13
|
python3 - <<'PY'
|
|
14
14
|
from pathlib import Path
|
|
15
15
|
|
|
16
16
|
checks = {
|
|
17
17
|
"README.md": [
|
|
18
|
-
"
|
|
19
|
-
"Only explicit `/cook` enters
|
|
20
|
-
"Ordinary chat
|
|
21
|
-
"-
|
|
22
|
-
"-
|
|
23
|
-
"
|
|
24
|
-
"when a concrete replacement mission suggests replacing an active workflow, `/cook` shows a chooser before any canonical state rewrite",
|
|
18
|
+
"You can still implement directly in ordinary chat when you do not need workflow state.",
|
|
19
|
+
"Only explicit `/cook` enters workflow mode. Ordinary prompts stay in the main chat and go straight to the primary agent.",
|
|
20
|
+
"Ordinary chat can still directly implement repo changes. `/cook` is for the cases where you want workflow control rather than just implementation help.",
|
|
21
|
+
"- `/cook` is an optional workflow boundary and manual entry point",
|
|
22
|
+
"- ordinary main-chat discussion may clarify, propose, or directly implement repo changes without entering workflow mode",
|
|
23
|
+
"None of this prevents ordinary-chat implementation when you choose not to enter workflow mode.",
|
|
25
24
|
],
|
|
26
25
|
"CHANGELOG.md": [
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"updated
|
|
26
|
+
"made ordinary chat implementation-first again so the primary agent may directly edit repo files without requiring `/cook` when workflow state is unnecessary",
|
|
27
|
+
"repositioned `/cook` as optional workflow mode for confirm-first startup, resumability, review/audit flow, and canonical `.agent/**` state rather than as a mandatory implementation boundary",
|
|
28
|
+
"updated ordinary-chat boundary docs, reminders, and release-parity checks so they no longer tell the agent to block repo edits pending explicit `/cook`",
|
|
30
29
|
],
|
|
31
30
|
"extensions/completion/prompt-surfaces.ts": [
|
|
32
|
-
'"
|
|
33
|
-
'"
|
|
34
|
-
'"
|
|
31
|
+
'"Ordinary chat may clarify requirements, discuss tradeoffs, refine scope, and directly implement requested repo changes, including multi-file work, when that is the most helpful response."',
|
|
32
|
+
'"/cook is optional workflow mode for resumability, review, audit, canonical .agent state, or deliberate multi-session control; it is not required just to edit repo files in ordinary chat."',
|
|
33
|
+
'"If the user wants direct implementation now, stay in ordinary chat and help directly instead of blocking on /cook."',
|
|
35
34
|
],
|
|
36
35
|
"extensions/completion/index.ts": [
|
|
37
36
|
'"/cook failed closed because it could not derive a concrete startup brief from recent discussion. Clarify the mission, first slice, or verification intent in the main chat, then rerun /cook."',
|
|
38
|
-
'description: "/cook workflow: synthesize a startup brief
|
|
37
|
+
'description: "/cook workflow: optionally enter tracked workflow mode, synthesize a startup brief from explicit /cook entry, resume the current workflow from canonical state, or confirm a replacement mission"',
|
|
39
38
|
],
|
|
40
39
|
}
|
|
41
40
|
|
|
42
41
|
forbidden = {
|
|
43
42
|
"README.md": [
|
|
44
|
-
"
|
|
45
|
-
"
|
|
43
|
+
"mature long-running implementation still must not start before explicit `/cook`",
|
|
44
|
+
"Ordinary chat remains advisory until you explicitly run `/cook`.",
|
|
46
45
|
],
|
|
47
46
|
"extensions/completion/prompt-surfaces.ts": [
|
|
48
|
-
'"
|
|
47
|
+
'"Before that explicit /cook entry, do not begin long-running product implementation in ordinary chat, do not edit tracked product files for that workflow-level task, and do not act as though /cook had already been invoked."',
|
|
49
48
|
],
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
"skills/cook-handoff-boundary/SKILL.md": [
|
|
50
|
+
"Before that explicit `/cook` entry, the primary agent must stop short of long-running implementation for workflow-level tasks.",
|
|
51
|
+
"not edit tracked product files for that workflow-level task in ordinary chat",
|
|
53
52
|
],
|
|
54
53
|
}
|
|
55
54
|
|
package/scripts/smoke-test.sh
CHANGED
|
@@ -265,14 +265,14 @@ auto_resume = Path(sys.argv[5])
|
|
|
265
265
|
assert not reminder.exists(), 'ordinary non-/cook turn should not inject completion reminder solely from canonical state'
|
|
266
266
|
assert handoff.exists(), 'ordinary non-/cook turn should inject the /cook handoff boundary reminder'
|
|
267
267
|
handoff_text = handoff.read_text()
|
|
268
|
-
assert '
|
|
268
|
+
assert 'ordinary main chat unless the user explicitly runs /cook' in handoff_text, 'ordinary handoff reminder should preserve explicit /cook workflow entry'
|
|
269
|
+
assert 'directly implement requested repo changes, including multi-file work' in handoff_text, 'ordinary handoff reminder should allow direct ordinary-chat implementation'
|
|
269
270
|
assert 'Do not proactively tell the user to run /cook' in handoff_text, 'ordinary handoff reminder should keep ordinary chat neutral until explicit /cook entry'
|
|
270
|
-
assert '
|
|
271
|
-
assert '
|
|
272
|
-
assert 'do not begin long-running product implementation in ordinary chat' in handoff_text, 'ordinary handoff reminder should still block workflow-level implementation before /cook'
|
|
271
|
+
assert '/cook is optional workflow mode' in handoff_text, 'ordinary handoff reminder should position /cook as optional workflow mode'
|
|
272
|
+
assert 'If the user wants direct implementation now, stay in ordinary chat and help directly instead of blocking on /cook.' in handoff_text, 'ordinary handoff reminder should avoid blocking implementation on /cook'
|
|
273
273
|
assert 'Only provide a preview startup brief or ```cook_handoff``` capsule in ordinary chat when the user explicitly asks for that preview behavior.' in handoff_text, 'ordinary handoff reminder should restrict preview capsules to explicit preview requests'
|
|
274
274
|
assert 'startup brief from recent discussion using primary-agent-style context' in handoff_text, 'ordinary handoff reminder should describe deferred startup synthesis'
|
|
275
|
-
assert '
|
|
275
|
+
assert 'do not silently rewrite discussion into canonical workflow state' in handoff_text, 'ordinary handoff reminder should preserve non-canonical ordinary-chat behavior'
|
|
276
276
|
assert not auto_resume.exists(), 'ordinary non-/cook turn should not queue auto-resume before /cook activation'
|
|
277
277
|
assert 'Skipped completion workflow auto-resume prompt (test mode)' not in output, 'ordinary non-/cook turn should not attempt auto-resume'
|
|
278
278
|
PY
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cook-handoff-boundary
|
|
3
|
-
description: Ordinary-chat
|
|
3
|
+
description: Ordinary-chat contract for treating `/cook` as an optional workflow mode while still allowing direct repo implementation in main chat when workflow state is unnecessary.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# /cook Handoff Boundary
|
|
7
7
|
|
|
8
8
|
Load or summarize this contract when the primary agent is operating in ordinary main chat before the user has explicitly entered `/cook`.
|
|
9
9
|
|
|
10
|
-
This skill governs the
|
|
10
|
+
This skill governs the relationship between:
|
|
11
11
|
|
|
12
|
-
- ordinary main-chat discussion
|
|
13
|
-
-
|
|
12
|
+
- ordinary main-chat discussion and direct implementation
|
|
13
|
+
- optional transition into long-running completion workflow through `/cook`
|
|
14
14
|
|
|
15
15
|
## Core Contract
|
|
16
16
|
|
|
17
|
-
- Ordinary chat may be used to clarify requirements, discuss tradeoffs,
|
|
18
|
-
- `/cook` is
|
|
17
|
+
- Ordinary chat may be used to clarify requirements, discuss tradeoffs, refine scope, and directly implement requested repo changes.
|
|
18
|
+
- `/cook` is an explicit workflow entrypoint for users who want resumability, review, audit, or canonical `.agent/**` workflow state.
|
|
19
|
+
- `/cook` is optional. It is not required just because the work spans multiple files or looks substantial.
|
|
19
20
|
- Ordinary chat remains ordinary chat until the user explicitly runs `/cook`.
|
|
20
|
-
- Before that explicit `/cook` entry, the primary agent must stop short of long-running implementation for workflow-level tasks.
|
|
21
21
|
|
|
22
22
|
## What Ordinary Chat May Do
|
|
23
23
|
|
|
@@ -27,47 +27,49 @@ The primary agent may:
|
|
|
27
27
|
- discuss tradeoffs
|
|
28
28
|
- refine scope and constraints
|
|
29
29
|
- summarize likely mission, acceptance, or risks
|
|
30
|
-
-
|
|
30
|
+
- directly edit repo files when that is the most helpful response
|
|
31
|
+
- complete multi-file implementation in ordinary chat when workflow state is unnecessary
|
|
31
32
|
|
|
32
33
|
The primary agent should not:
|
|
33
34
|
|
|
34
|
-
- proactively tell the user to run `/cook`
|
|
35
|
+
- proactively tell the user to run `/cook` just because the task looks workflow-worthy
|
|
35
36
|
- proactively emit a `cook_handoff` capsule by default
|
|
36
|
-
- act as though workflow has already started
|
|
37
|
-
- rewrite ordinary-chat discussion into canonical workflow state
|
|
37
|
+
- act as though workflow has already started when it has not
|
|
38
|
+
- silently rewrite ordinary-chat discussion into canonical workflow state
|
|
38
39
|
|
|
39
|
-
## When
|
|
40
|
+
## When `/cook` Is Helpful
|
|
40
41
|
|
|
41
|
-
The primary agent
|
|
42
|
+
The primary agent may mention `/cook` as an optional tool when it would genuinely help, for example when:
|
|
42
43
|
|
|
43
|
-
- the
|
|
44
|
-
- the
|
|
45
|
-
- the
|
|
46
|
-
- the
|
|
44
|
+
- the work should be resumable across sessions
|
|
45
|
+
- the user wants a tracked mission in canonical `.agent/**` state
|
|
46
|
+
- the task benefits from explicit review / audit / stop-wave flow
|
|
47
|
+
- the user wants a confirm-first workflow boundary before a long-running effort
|
|
47
48
|
|
|
48
|
-
|
|
49
|
+
But even in those cases:
|
|
49
50
|
|
|
50
|
-
-
|
|
51
|
-
-
|
|
51
|
+
- do not force `/cook`
|
|
52
|
+
- do not frame `/cook` as mandatory for direct repo edits
|
|
53
|
+
- continue helping directly in ordinary chat unless the user explicitly chooses workflow mode
|
|
52
54
|
|
|
53
55
|
## Required Behavior Before Explicit `/cook`
|
|
54
56
|
|
|
55
|
-
|
|
57
|
+
Before the user explicitly runs `/cook`, the primary agent must:
|
|
56
58
|
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
- continue ordinary discussion naturally if the user keeps
|
|
60
|
-
-
|
|
59
|
+
- keep the interaction in ordinary chat
|
|
60
|
+
- directly implement requested repo changes when appropriate instead of blocking on workflow mode
|
|
61
|
+
- continue ordinary discussion naturally if the user keeps refining the task
|
|
62
|
+
- avoid claiming that canonical workflow state already exists unless `/cook` actually started it
|
|
61
63
|
|
|
62
64
|
## Deferred Handoff Model
|
|
63
65
|
|
|
64
66
|
When the user explicitly runs `/cook`:
|
|
65
67
|
|
|
66
|
-
- `/cook`
|
|
67
|
-
- `/cook`
|
|
68
|
-
- that synthesized startup brief is advisory intake only
|
|
68
|
+
- `/cook` synthesizes a startup brief from recent discussion using primary-agent-style context
|
|
69
|
+
- `/cook` shows Start / Cancel confirmation before canonical workflow state is rewritten
|
|
70
|
+
- that synthesized startup brief is advisory intake only until the user confirms startup
|
|
69
71
|
|
|
70
|
-
This means the primary agent does
|
|
72
|
+
This means the primary agent does not need to proactively attach startup capsules during ordinary chat just because the task looks ready.
|
|
71
73
|
|
|
72
74
|
## Optional Preview Behavior
|
|
73
75
|
|
|
@@ -110,7 +112,7 @@ Notes:
|
|
|
110
112
|
|
|
111
113
|
Suggested wording:
|
|
112
114
|
|
|
113
|
-
> We
|
|
115
|
+
> We can continue directly in ordinary chat if you want. If you prefer resumable workflow state, explicit review flow, or a confirm-first startup gate, you can run `/cook` and it will synthesize a startup brief from our recent discussion before workflow begins.
|
|
114
116
|
|
|
115
117
|
A short recap may include mission, scope, or acceptance, but that recap must not be presented as canonical plan state.
|
|
116
118
|
|
|
@@ -118,15 +120,14 @@ A short recap may include mission, scope, or acceptance, but that recap must not
|
|
|
118
120
|
|
|
119
121
|
Before the user explicitly runs `/cook`, the primary agent must not:
|
|
120
122
|
|
|
121
|
-
-
|
|
122
|
-
- modify tracked product files as part of that workflow-level task
|
|
123
|
-
- act as though `/cook` had already been invoked
|
|
123
|
+
- pretend `/cook` has already been invoked
|
|
124
124
|
- silently rewrite ordinary-chat discussion into active workflow state
|
|
125
|
-
-
|
|
125
|
+
- claim canonical `.agent/**` startup state exists when it does not
|
|
126
|
+
- refuse ordinary-chat implementation solely because `/cook` would also be possible
|
|
126
127
|
|
|
127
128
|
## Relationship To `completion-protocol`
|
|
128
129
|
|
|
129
|
-
This skill is only about pre-`/cook` ordinary-chat
|
|
130
|
+
This skill is only about pre-`/cook` ordinary-chat behavior.
|
|
130
131
|
|
|
131
132
|
After the user explicitly enters `/cook`, the separate `completion-protocol` skill governs:
|
|
132
133
|
|