@linimin/pi-letscook 0.1.36 → 0.1.39
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 +22 -2
- package/README.md +27 -27
- package/extensions/completion/index.ts +465 -206
- package/package.json +1 -1
- package/scripts/active-slice-contract-test.sh +45 -1
- package/scripts/canonical-evidence-artifact-test.sh +45 -1
- package/scripts/context-proposal-test.sh +462 -131
- package/scripts/refocus-test.sh +260 -28
- package/scripts/release-check.sh +63 -1
- package/scripts/smoke-test.sh +88 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.39
|
|
4
4
|
|
|
5
5
|
### Changed
|
|
6
6
|
|
|
7
|
+
- aligned public docs and packaged release-gate parity around bare `/cook` as the only supported workflow entrypoint
|
|
8
|
+
- updated operator-facing fail-closed guidance to send users back to the main chat to clarify the mission before rerunning bare `/cook`
|
|
9
|
+
- refreshed `scripts/release-check.sh` so packaged parity now fails closed on the bare-only contract while still covering the supported startup, refocus, and context flows
|
|
10
|
+
|
|
11
|
+
## 0.1.38
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- normalized discussion-derived `/cook` missions through shared proposal finalization so planning-phrased startup, next-round, and bare active-refocus discussions now resolve to implementation-result missions only when scope or acceptance clearly point to shipped code/test/doc/runtime changes
|
|
16
|
+
- preserved genuine planning missions for explicit plan/spec/design-doc/migration-plan/proposal and support-docs-only discussions, while keeping ambiguous generic scope fail-closed instead of promoting it into a new mission
|
|
17
|
+
- aligned analyst-derived and strict structured-fallback `/cook` proposal paths behind the same mission-normalization rules, added deterministic regressions for planning-only preservation and ambiguous-scope fail-closed behavior, and kept the existing approval-only Start/Cancel rewrite gate intact
|
|
18
|
+
|
|
19
|
+
## 0.1.37
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- documented `/cook` as the single public discussion-first workflow command for startup, active-workflow continue/refocus, and done-workflow next-round flows
|
|
24
|
+
- reframed the public docs/help copy around `/cook` as the discussion-first workflow entrypoint and documented the conservative fail-closed clarification path before the later runtime removal
|
|
25
|
+
- documented the fail-closed ambiguous-discussion behavior and approval-only Start/Cancel gate before canonical-state writes
|
|
26
|
+
- added release-gated public-parity assertions for README/help/changelog `/cook` single-command copy so docs drift fails closed before packaging
|
|
7
27
|
- 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
|
|
8
28
|
|
|
9
29
|
## 0.1.35
|
|
@@ -92,7 +112,7 @@
|
|
|
92
112
|
### Changed
|
|
93
113
|
|
|
94
114
|
- `/cook` with no goal can now propose a context-derived startup plan for confirmation when no active workflow exists, including starting a fresh next round after the previous workflow already reached `done`
|
|
95
|
-
-
|
|
115
|
+
- historically added goal-anchored startup proposals from inline `/cook` arguments before canonical writes, plus more explicit active-workflow replacement wording and direct next-round startup after a completed workflow; that old inline-argument path is no longer supported now that bare `/cook` is the only public entrypoint
|
|
96
116
|
|
|
97
117
|
## 0.1.24
|
|
98
118
|
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @linimin/pi-letscook
|
|
2
2
|
|
|
3
|
-
A Pi extension that turns `/cook` into a repo-local workflow command for long-running coding work.
|
|
3
|
+
A Pi extension that turns `/cook` into a discussion-driven repo-local workflow command for long-running coding work.
|
|
4
4
|
|
|
5
5
|
## Why this exists
|
|
6
6
|
|
|
@@ -11,14 +11,15 @@ Normal chat is good for one-off tasks. It is much worse for work that needs to:
|
|
|
11
11
|
- resume from repo state instead of chat memory
|
|
12
12
|
- keep review, audit, and verification tied to the repo
|
|
13
13
|
|
|
14
|
-
`@linimin/pi-letscook` solves that by storing canonical workflow state in `.agent/**` and using `/cook` to start,
|
|
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.
|
|
15
15
|
|
|
16
16
|
## What you get
|
|
17
17
|
|
|
18
18
|
- one command: `/cook`
|
|
19
19
|
- repo-local canonical state in `.agent/**`
|
|
20
20
|
- resumable long-running workflows
|
|
21
|
-
- startup
|
|
21
|
+
- discussion-first startup, continue, refocus, and next-round routing
|
|
22
|
+
- fail-closed guidance that sends you back to the main chat when the mission still needs clarification
|
|
22
23
|
- deterministic verification, review, audit, and stop checks
|
|
23
24
|
|
|
24
25
|
## Install
|
|
@@ -31,49 +32,48 @@ Then run `/reload` in Pi.
|
|
|
31
32
|
|
|
32
33
|
## Quick start
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
```text
|
|
37
|
-
/cook build feature X end-to-end with tests and docs
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Resume an active workflow:
|
|
35
|
+
Primary entrypoint:
|
|
41
36
|
|
|
42
37
|
```text
|
|
43
38
|
/cook
|
|
44
39
|
```
|
|
45
40
|
|
|
46
|
-
|
|
41
|
+
Use bare `/cook` after you discuss the mission in the main chat. The same command can:
|
|
47
42
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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`
|
|
47
|
+
|
|
48
|
+
On startup and next-round flows, if recent discussion is missing, weak, or ambiguous, bare `/cook` fails closed, leaves canonical `.agent/**` state unchanged, and tells you to clarify the mission in the main chat before rerunning bare `/cook`.
|
|
51
49
|
|
|
52
50
|
## How `/cook` works
|
|
53
51
|
|
|
54
|
-
`/cook` is the only
|
|
52
|
+
Bare `/cook` is the only supported workflow entrypoint.
|
|
55
53
|
|
|
56
|
-
| Repo state | `/cook` |
|
|
57
|
-
|
|
58
|
-
| No workflow yet | Summarizes recent discussion into a startup proposal, then asks for approval
|
|
59
|
-
| Active workflow exists |
|
|
60
|
-
| Previous workflow is `done` | Starts the next round from recent discussion
|
|
54
|
+
| Repo state | Bare `/cook` |
|
|
55
|
+
|---|---|
|
|
56
|
+
| 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 and tells you to clarify the mission in the main chat before rerunning bare `/cook`. |
|
|
57
|
+
| 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. |
|
|
58
|
+
| 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 and tells you to clarify the mission in the main chat before rerunning bare `/cook`. |
|
|
61
59
|
|
|
62
|
-
##
|
|
60
|
+
## Approval-only confirmation and fail-closed behavior
|
|
63
61
|
|
|
64
|
-
|
|
62
|
+
All startup, next-round, and replacement proposals are **approval-only**:
|
|
65
63
|
|
|
66
64
|
- the proposal body is shown separately from actions
|
|
67
65
|
- actions are only **Start** and **Cancel**
|
|
68
|
-
-
|
|
66
|
+
- **Cancel** is side-effect free: discuss changes in the main chat and rerun `/cook`
|
|
67
|
+
|
|
68
|
+
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 in the main chat and you rerun bare `/cook`.
|
|
69
69
|
|
|
70
|
-
When an active workflow already exists and
|
|
70
|
+
When an active workflow already exists and recent discussion clearly suggests a different workflow, `/cook` shows a separate chooser first:
|
|
71
71
|
|
|
72
72
|
- **Continue current workflow**
|
|
73
|
-
- **
|
|
73
|
+
- **Start new workflow from recent discussion**
|
|
74
74
|
- **Cancel**
|
|
75
75
|
|
|
76
|
-
Only the follow-on startup/replacement proposal uses the approval-only Start/Cancel gate.
|
|
76
|
+
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.
|
|
77
77
|
|
|
78
78
|
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.
|
|
79
79
|
|
|
@@ -218,7 +218,7 @@ npm run rubric-contract-test
|
|
|
218
218
|
npm run release-check
|
|
219
219
|
```
|
|
220
220
|
|
|
221
|
-
`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`.
|
|
221
|
+
`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`.
|
|
222
222
|
|
|
223
223
|
## Release
|
|
224
224
|
|