@linimin/pi-letscook 0.1.45 → 0.1.47
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 +10 -1
- package/README.md +13 -13
- package/extensions/completion/driver.ts +673 -0
- package/extensions/completion/index.ts +468 -3488
- package/extensions/completion/policy-guards.ts +110 -0
- package/extensions/completion/prompt-surfaces.ts +536 -0
- package/extensions/completion/proposal.ts +1217 -0
- package/extensions/completion/role-runner.ts +460 -0
- package/extensions/completion/state-store.ts +458 -0
- package/extensions/completion/status-surface.ts +516 -0
- package/extensions/completion/transcription.ts +77 -0
- package/extensions/completion/types.ts +87 -0
- package/package.json +1 -1
- package/scripts/active-slice-contract-test.sh +5 -4
- package/scripts/canonical-evidence-artifact-test.sh +4 -4
- package/scripts/context-proposal-test.sh +295 -23
- package/scripts/legacy-cleanup-test.sh +107 -0
- package/scripts/observability-status-test.sh +39 -0
- package/scripts/refocus-test.sh +6 -6
- package/scripts/release-check.sh +17 -16
- package/scripts/role-runner-contract-test.sh +44 -0
- package/scripts/rubric-contract-test.sh +8 -6
- package/scripts/smoke-test.sh +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.1.47
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- removed inline `/cook <text>` argument support so bare `/cook` is now the only supported workflow entrypoint
|
|
10
|
+
- made runtime, deterministic regressions, README guidance, and packaged release parity fail closed when command arguments are passed instead of discussion driving proposal derivation
|
|
11
|
+
- made bare `/cook` weight the latest clear implementation intent ahead of older background discussion, preserve alternate recent missions for chooser-driven disambiguation, and summarize each candidate directly in the active-workflow chooser instead of forcing a single guessed replacement path
|
|
12
|
+
- made bare `/cook` suppress reopening already completed or already verified work by comparing recent discussion against canonical mission, active-slice, and verification-evidence context before startup/refocus proposal confirmation
|
|
13
|
+
|
|
5
14
|
## 0.1.44
|
|
6
15
|
|
|
7
16
|
### Fixed
|
|
@@ -18,7 +27,7 @@
|
|
|
18
27
|
|
|
19
28
|
### Changed
|
|
20
29
|
|
|
21
|
-
- allowed `/cook <hint>` as an analyst-only high-priority prompt that
|
|
30
|
+
- historically allowed `/cook <hint>` as an analyst-only high-priority prompt that focused proposal derivation without bypassing the existing approval-only Start/Cancel confirmation gate or canonical fail-closed routing; that inline-argument path has since been removed so bare `/cook` is now the only supported entrypoint
|
|
22
31
|
|
|
23
32
|
## 0.1.41
|
|
24
33
|
|
package/README.md
CHANGED
|
@@ -32,33 +32,32 @@ Then run `/reload` in Pi.
|
|
|
32
32
|
|
|
33
33
|
## Quick start
|
|
34
34
|
|
|
35
|
-
Primary
|
|
35
|
+
Primary entrypoint:
|
|
36
36
|
|
|
37
37
|
```text
|
|
38
38
|
/cook
|
|
39
|
-
/cook <hint>
|
|
40
39
|
```
|
|
41
40
|
|
|
42
|
-
Use `/cook` after you discuss the mission in the main chat.
|
|
41
|
+
Use bare `/cook` after you discuss the mission in the main chat. The same command can:
|
|
43
42
|
|
|
44
43
|
- start a brand-new workflow from recent discussion
|
|
45
44
|
- continue the current workflow when recent discussion still matches it, or when discussion is too weak or ambiguous to justify a refocus
|
|
46
45
|
- surface a conservative refocus chooser when recent discussion clearly points to a different workflow
|
|
47
46
|
- start the next workflow round after the previous one is `done`
|
|
48
47
|
|
|
49
|
-
`/cook` expects recent main-chat discussion to describe concrete repo changes. README/CHANGELOG updates still count as concrete repo changes, but assistant-produced summaries and plan/spec/design-doc/proposal-only artifacts do not.
|
|
48
|
+
`/cook` expects recent main-chat discussion to describe concrete repo changes. README/CHANGELOG updates still count as concrete repo changes, but assistant-produced summaries and plan/spec/design-doc/proposal-only artifacts do not. `/cook <text>` is no longer supported; put mission text in the main chat, then rerun bare `/cook`.
|
|
50
49
|
|
|
51
|
-
On startup and next-round flows, if recent discussion is missing, weak, ambiguous, assistant-produced, or only describes planning artifacts instead of concrete repo changes, `/cook` fails closed, leaves canonical `.agent/**` state unchanged, and tells you to clarify the mission in the main chat before rerunning `/cook`.
|
|
50
|
+
On startup and next-round flows, if recent discussion is missing, weak, ambiguous, assistant-produced, or only describes planning artifacts instead of concrete repo changes, `/cook` fails closed, leaves canonical `.agent/**` state unchanged, and tells you to clarify the mission in the main chat before rerunning `/cook`.
|
|
52
51
|
|
|
53
52
|
## How `/cook` works
|
|
54
53
|
|
|
55
|
-
Bare `/cook`
|
|
54
|
+
Bare `/cook` is the only supported workflow entrypoint.
|
|
56
55
|
|
|
57
56
|
| Repo state | `/cook` behavior |
|
|
58
57
|
|---|---|
|
|
59
|
-
| No workflow yet | Summarizes recent main-chat discussion,
|
|
60
|
-
| Active workflow exists | Reads the current mission plus recent non-command main-chat discussion
|
|
61
|
-
| Previous workflow is `done` | Starts the next round from recent main-chat discussion,
|
|
58
|
+
| No workflow yet | Summarizes recent main-chat discussion into a startup proposal, weighting the latest clear implementation intent ahead of older background discussion, then asks for approval with **Start** or **Cancel**. If the discussion is weak, ambiguous, assistant-produced, or only a plan/spec/design-doc/proposal artifact instead of concrete repo changes, `/cook` fails closed without writing `.agent/**` state and tells you to clarify the mission in the main chat before rerunning bare `/cook`. |
|
|
59
|
+
| Active workflow exists | Reads the current mission plus recent non-command main-chat discussion. Matching or unclear discussion resumes from canonical `.agent/**` state. Clear replacement discussion about different concrete repo changes opens a chooser first, then only rewrites canonical state after the follow-on **Start** confirmation. If recent discussion implies more than one plausible replacement mission, `/cook` keeps the current workflow parked behind a multi-candidate chooser instead of silently resuming or guessing. Assistant/summary artifacts or plan/spec/design-doc/proposal-only context do not refocus the workflow. `/cook <text>` is rejected without running proposal routing or rewriting workflow state. |
|
|
60
|
+
| Previous workflow is `done` | Starts the next round from recent main-chat discussion, then asks for approval with **Start** or **Cancel**. Weak, ambiguous, assistant-produced, or planning-artifact-only discussion fails closed without rewriting canonical state and tells you to clarify the mission in the main chat before rerunning bare `/cook`. Recent discussion that only restates already-completed or already-verified work also fails closed instead of reopening the finished mission. `/cook <text>` is rejected before any next-round proposal is derived. |
|
|
62
61
|
|
|
63
62
|
## Approval-only confirmation and fail-closed behavior
|
|
64
63
|
|
|
@@ -68,17 +67,18 @@ All startup, next-round, and replacement proposals are **approval-only**:
|
|
|
68
67
|
- actions are only **Start** and **Cancel**
|
|
69
68
|
- **Cancel** is side-effect free: discuss changes in the main chat and rerun `/cook`
|
|
70
69
|
|
|
71
|
-
When `/cook` cannot derive a clear startup, next-round, or replacement proposal for concrete repo changes from recent main-chat discussion
|
|
70
|
+
When `/cook` cannot derive a clear startup, next-round, or replacement proposal for concrete repo changes from recent main-chat 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 `/cook`. Tracked docs-only work such as README/CHANGELOG updates is still execution-ready, but assistant-produced summaries and plan/spec/design-doc/proposal-only artifacts are not enough to start or refocus a workflow on their own. `/cook <text>` also fails closed immediately and tells you to move that text into the main chat before rerunning bare `/cook`.
|
|
72
71
|
|
|
73
|
-
When an active workflow already exists and recent discussion
|
|
72
|
+
When an active workflow already exists and recent discussion suggests a different workflow, `/cook` shows a separate chooser first. The chooser can stay conservative or list multiple candidate replacements when the latest discussion contains more than one plausible implementation goal:
|
|
74
73
|
|
|
75
74
|
- **Continue current workflow**
|
|
76
75
|
- **Start new workflow from recent discussion**
|
|
76
|
+
- **Start alternate workflow from recent discussion** (when a second plausible mission exists)
|
|
77
77
|
- **Cancel**
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
Chooser options summarize each candidate mission with its latest scope/constraint/acceptance highlights before the follow-on approval-only Start/Cancel gate. Canonical `.agent/**` state changes still happen only after **Start** is accepted.
|
|
80
80
|
|
|
81
|
-
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.
|
|
81
|
+
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 plus any alternate-mission / suppression notes in canonical continuation state before the re-ground round begins.
|
|
82
82
|
|
|
83
83
|
## Observability
|
|
84
84
|
|