@linimin/pi-letscook 0.1.35 → 0.1.37

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 CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.37
4
+
5
+ ### Changed
6
+
7
+ - documented `/cook` as the single public discussion-first workflow command for startup, active-workflow continue/refocus, and done-workflow next-round flows
8
+ - reframed `/cook <text>` in public docs/help copy as a temporary compatibility shim instead of the primary workflow entrypoint, without removing it from the shipped runtime
9
+ - documented the fail-closed ambiguous-discussion behavior and approval-only Start/Cancel gate before canonical-state writes
10
+ - added release-gated public-parity assertions for README/help/changelog `/cook` single-command copy so docs drift fails closed before packaging
11
+ - simplified the README opening so first-time users can understand the problem `/cook` solves, what the extension provides, and how to start using it without reading the full control-plane details first
12
+
3
13
  ## 0.1.35
4
14
 
5
15
  ### Changed
package/README.md CHANGED
@@ -1,28 +1,26 @@
1
1
  # @linimin/pi-letscook
2
2
 
3
- A Pi extension that adds `/cook` for resumable long-running workflows backed by repo-local canonical state in `.agent/**`.
3
+ A Pi extension that turns `/cook` into a discussion-driven repo-local workflow command for long-running coding work.
4
4
 
5
- `@linimin/pi-letscook` is for work that does not fit in a single chat turn:
5
+ ## Why this exists
6
6
 
7
- - start from a goal or from recent discussion
8
- - resume later from repo-local workflow state
9
- - refocus an active workflow without losing control of the mission
10
- - drive implementation through isolated completion roles
11
- - keep verification, review, audit, and stop checks tied to the repo
7
+ Normal chat is good for one-off tasks. It is much worse for work that needs to:
12
8
 
13
- ## Why use it
9
+ - continue across sessions
10
+ - stay anchored to one mission
11
+ - resume from repo state instead of chat memory
12
+ - keep review, audit, and verification tied to the repo
14
13
 
15
- Use this package when you want `/cook` to behave like a real project workflow command instead of a one-shot prompt.
14
+ `@linimin/pi-letscook` solves that by storing canonical workflow state in `.agent/**` and using `/cook` as one discussion-first command to start, continue, refocus, or advance the workflow.
16
15
 
17
- It gives you:
16
+ ## What you get
18
17
 
19
- - **one command** for start, resume, and refocus
20
- - **repo-local canonical state** under `.agent/**`
21
- - **durable canonical verification evidence** in `.agent/verification-evidence.json`
22
- - **model-assisted startup proposals** from recent discussion
23
- - **explicit-goal anchoring** when you want the mission to stay fixed
24
- - **isolated completion roles** via `completion_role`
25
- - **deterministic verification** through repo-local scripts and regression checks
18
+ - one command: `/cook`
19
+ - repo-local canonical state in `.agent/**`
20
+ - resumable long-running workflows
21
+ - discussion-first startup, continue, refocus, and next-round routing
22
+ - temporary `/cook <text>` compatibility input when you need to anchor the mission explicitly
23
+ - deterministic verification, review, audit, and stop checks
26
24
 
27
25
  ## Install
28
26
 
@@ -34,99 +32,56 @@ Then run `/reload` in Pi.
34
32
 
35
33
  ## Quick start
36
34
 
37
- Start from an explicit goal:
38
-
39
- ```text
40
- /cook build feature X end-to-end with tests and docs
41
- ```
42
-
43
- Resume an active workflow:
35
+ Primary entrypoint:
44
36
 
45
37
  ```text
46
38
  /cook
47
39
  ```
48
40
 
49
- Replace the active workflow with a different goal:
50
-
51
- ```text
52
- /cook fix onboarding crash first, with regression tests
53
- ```
54
-
55
- Start the next round after the previous workflow is already done:
56
-
57
- ```text
58
- /cook improve startup proposal confirmation UX
59
- ```
60
-
61
- ## How `/cook` behaves
41
+ Use bare `/cook` after you discuss the mission in the main chat. The same command can:
62
42
 
63
- `/cook` is the only public workflow command, but it behaves differently depending on the current canonical workflow state.
43
+ - start a brand-new workflow from recent discussion
44
+ - continue the current workflow when recent discussion still matches it, or when discussion is too weak or ambiguous to justify a refocus
45
+ - surface a conservative refocus chooser when recent discussion clearly points to a different workflow
46
+ - start the next workflow round after the previous one is `done`
64
47
 
65
- | Repo state | `/cook` | `/cook <goal>` |
66
- |---|---|---|
67
- | No canonical workflow yet | Uses the proposal analyst to summarize recent discussion into a startup proposal, then asks for confirmation | Builds a startup proposal anchored on the explicit goal, optionally enriching it from recent discussion, then asks for confirmation |
68
- | Active workflow exists | Resumes the active workflow from canonical `.agent/**` state | First asks whether to continue the current workflow or replace it, then uses a final Start/Cancel approval gate before any replacement state is written |
69
- | Previous workflow is already `done` | Uses the proposal analyst to summarize recent discussion into the next workflow round, then asks for confirmation | Starts the next workflow round directly from the explicit goal |
70
-
71
- ## Startup proposal behavior
72
-
73
- ### `/cook <goal>`
74
-
75
- When you provide an explicit goal:
76
-
77
- - the explicit goal stays the mission anchor
78
- - recent discussion is supplemental only
79
- - recent discussion may enrich scope, constraints, and acceptance details when analyst output is available
80
-
81
- Example:
48
+ Temporary compatibility shim when you need to anchor the mission explicitly:
82
49
 
83
50
  ```text
84
- /cook Build feature X with tests and docs
51
+ /cook build feature X end-to-end with tests and docs
85
52
  ```
86
53
 
87
- ### `/cook` without a goal
54
+ On startup and next-round flows, if recent discussion is missing, weak, or ambiguous, bare `/cook` fails closed and leaves canonical `.agent/**` state unchanged until the discussion is clarified.
88
55
 
89
- When you do **not** provide a goal:
56
+ ## How `/cook` works
90
57
 
91
- - `/cook` uses the proposal analyst to summarize recent discussion into a startup proposal
92
- - the proposal is shown in a custom approval-only confirmation UI before canonical state is written
93
- - if analyst output is unavailable, provide an explicit goal with `/cook <goal>`
58
+ Bare `/cook` is now the primary workflow entrypoint. `/cook <text>` is still supported as a temporary compatibility shim, and it uses the same proposal/routing pipeline while treating the explicit text as the mission anchor when provided.
94
59
 
95
- Example:
60
+ | Repo state | Bare `/cook` (primary) | Temporary `/cook <text>` compatibility shim |
61
+ |---|---|---|
62
+ | No workflow yet | Summarizes recent discussion into a startup proposal, then asks for approval with **Start** or **Cancel**. If the discussion is weak or ambiguous, `/cook` fails closed without writing `.agent/**` state. | Uses the same startup proposal and approval-only **Start**/**Cancel** gate, but the explicit text anchors the proposed mission. |
63
+ | Active workflow exists | Reads the current mission plus recent non-command discussion. Matching or unclear discussion resumes from canonical `.agent/**` state. Clear replacement discussion opens a chooser first, then only rewrites canonical state after the follow-on **Start** confirmation. | Uses the same discussion-first routing pipeline. The explicit text is only a temporary compatibility anchor; `/cook` can still continue unchanged or route through the chooser plus final **Start**/**Cancel** replacement confirmation. |
64
+ | Previous workflow is `done` | Starts the next round from recent discussion, then asks for approval with **Start** or **Cancel**. Ambiguous discussion fails closed without rewriting canonical state. | Uses the same next-round proposal and approval-only gate, but the explicit text anchors the next mission. |
96
65
 
97
- ```text
98
- /cook
99
- ```
66
+ ## Approval-only confirmation and fail-closed behavior
100
67
 
101
- ## Confirmation UI
68
+ All startup, next-round, and replacement proposals are **approval-only**:
102
69
 
103
- Startup and replacement confirmation use a custom approval-only UI that:
70
+ - the proposal body is shown separately from actions
71
+ - actions are only **Start** and **Cancel**
72
+ - **Cancel** is side-effect free: discuss changes in the main chat and rerun `/cook`
104
73
 
105
- - renders the proposal body separately from the action list
106
- - keeps Mission / Scope / Constraints / Acceptance readable as a content area
107
- - renders analyst-derived **Critique and risks** separately from the non-editable proposal body
108
- - renders recommended `task_type` / `evaluation_profile` routing hints separately from both the proposal body and the action list
109
- - presents explicit actions for:
110
- - **Start**
111
- - **Cancel**
112
- - treats the proposal as approval-only: if it needs changes, Cancel, discuss them in the main chat, and rerun `/cook`
74
+ When bare `/cook` cannot derive a clear startup, next-round, or replacement proposal from recent discussion, it fails closed instead of guessing. That means no canonical `.agent/**` state is created or rewritten until the discussion is clarified or you temporarily pass `/cook <text>`.
113
75
 
114
- When an active workflow already exists and you run `/cook <goal>`, `/cook` still shows a separate chooser first:
76
+ When an active workflow already exists and recent discussion clearly suggests a different workflow, `/cook` shows a separate chooser first:
115
77
 
116
78
  - **Continue current workflow**
117
- - **Abandon current workflow and start this new one**
79
+ - **Start new workflow from recent discussion**
118
80
  - **Cancel**
119
81
 
120
- Only the follow-on startup/replacement proposal uses the approval-only Start/Cancel gate.
121
-
122
- When you accept startup or refocus from that flow, `/cook` now persists the chosen `task_type` and `evaluation_profile` across `.agent/profile.json`, `.agent/state.json`, `.agent/plan.json`, and `.agent/active-slice.json`, and records the accepted critique outcome in canonical continuation state before the re-ground round begins.
123
-
124
- The same approval-only confirmation flow is reused across:
82
+ Only the follow-on startup/replacement proposal uses the approval-only Start/Cancel gate, and canonical `.agent/**` state changes happen only after **Start** is accepted.
125
83
 
126
- - discussion-only startup
127
- - explicit-goal startup
128
- - next-round startup after completion
129
- - replacement-workflow startup
84
+ When you accept startup or refocus from that flow, `/cook` persists the chosen `task_type` and `evaluation_profile` across `.agent/profile.json`, `.agent/state.json`, `.agent/plan.json`, and `.agent/active-slice.json`, and records the accepted critique outcome in canonical continuation state before the re-ground round begins.
130
85
 
131
86
  ## Observability
132
87
 
@@ -269,7 +224,7 @@ npm run rubric-contract-test
269
224
  npm run release-check
270
225
  ```
271
226
 
272
- `npm run release-check` is the broad packaged-release verifier. It begins with `bash .agent/verify_completion_control_plane.sh`, so missing or stale `.agent/verification-evidence.json` parity fails closed before the broader suite runs, then reruns the startup/refocus/context checks — including the critique-aware `/cook` confirmation regression and the smoke auto-resume prompt path — includes deterministic canonical evidence artifact coverage and includes deterministic active-slice contract coverage plus observability coverage, evaluator calibration, and the rubric-contract regression, and finishes with `npm pack --dry-run`.
227
+ `npm run release-check` is the broad packaged-release verifier. It begins with `bash .agent/verify_completion_control_plane.sh`, so missing or stale `.agent/verification-evidence.json` parity fails closed before the broader suite runs, then asserts the shipped single-command `/cook` public parity surfaces in `README.md`, `CHANGELOG.md`, and the `/cook` help/fail-closed copy in `extensions/completion/index.ts`, reruns the startup/refocus/context checks — including the critique-aware `/cook` confirmation regression and the smoke auto-resume prompt path — includes deterministic canonical evidence artifact coverage and includes deterministic active-slice contract coverage plus observability coverage, evaluator calibration, and the rubric-contract regression, and finishes with `npm pack --dry-run`.
273
228
 
274
229
  ## Release
275
230