peaks-loop 4.0.0-beta.25 → 4.0.0-beta.28

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
@@ -4,6 +4,51 @@
4
4
 
5
5
  ### Patch Changes
6
6
 
7
+ - Updated dependencies
8
+ - peaks-loop-shared@0.0.19
9
+ - peaks-loop-audit-independent@0.0.12
10
+ - peaks-loop-crystallization@0.0.13
11
+ - peaks-loop-doctor@0.0.12
12
+ - peaks-loop-final-review@0.0.12
13
+
14
+ ## 4.0.0
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies
19
+ - peaks-loop-shared@0.0.18
20
+ - peaks-loop-audit-independent@0.0.12
21
+ - peaks-loop-crystallization@0.0.13
22
+ - peaks-loop-doctor@0.0.12
23
+ - peaks-loop-final-review@0.0.12
24
+
25
+ ## 4.0.0-beta.26 — 2026-07-22 (peaks-loop-shared lockstep)
26
+
27
+ - Monorepo recurrence fix: `scripts/sync-version.mjs` now auto-bumps
28
+ `peaks-loop-shared` by 0.0.1 each time the root version is bumped,
29
+ gated by `PEAKS_AUTO_BUMP_SHARED=1` in the publish workflow's
30
+ `build` step. Without this, the publish workflow's
31
+ `isAlreadyPublished` guard short-circuits the shared subpackage
32
+ re-publish, leaving downstream `peaks -v` to read a stale
33
+ CLI_VERSION from the cached tarball. Tests: pretest/predev
34
+ invocations of sync-version are now no-ops w.r.t. the shared
35
+ version (no ratcheting during local dev loops).
36
+
37
+ ## 4.0.0
38
+
39
+ ### Patch Changes
40
+
41
+ - Updated dependencies
42
+ - peaks-loop-shared@0.0.18
43
+ - peaks-loop-audit-independent@0.0.12
44
+ - peaks-loop-crystallization@0.0.13
45
+ - peaks-loop-doctor@0.0.12
46
+ - peaks-loop-final-review@0.0.12
47
+
48
+ ## 4.0.0
49
+
50
+ ### Patch Changes
51
+
7
52
  - Updated dependencies
8
53
  - peaks-loop-shared@0.0.18
9
54
  - peaks-loop-audit-independent@0.0.12
@@ -27,6 +72,237 @@
27
72
 
28
73
  ### Patch Changes
29
74
 
75
+ - Updated dependencies
76
+ - peaks-loop-shared@0.0.18
77
+ - peaks-loop-audit-independent@0.0.12
78
+ - peaks-loop-crystallization@0.0.13
79
+ - peaks-loop-doctor@0.0.12
80
+ - peaks-loop-final-review@0.0.12
81
+
82
+ ## 4.0.0
83
+
84
+ ### Patch Changes
85
+
86
+ - Updated dependencies
87
+ - peaks-loop-shared@0.0.18
88
+ - peaks-loop-audit-independent@0.0.12
89
+ - peaks-loop-crystallization@0.0.13
90
+ - peaks-loop-doctor@0.0.12
91
+ - peaks-loop-final-review@0.0.12
92
+
93
+ ## 4.0.0
94
+
95
+ ### Patch Changes
96
+
97
+ - Updated dependencies
98
+ - peaks-loop-shared@0.0.18
99
+ - peaks-loop-audit-independent@0.0.12
100
+ - peaks-loop-crystallization@0.0.13
101
+ - peaks-loop-doctor@0.0.12
102
+ - peaks-loop-final-review@0.0.12
103
+
104
+ ## 4.0.0
105
+
106
+ ### Patch Changes
107
+
108
+ - Updated dependencies
109
+ - peaks-loop-shared@0.0.18
110
+ - peaks-loop-audit-independent@0.0.12
111
+ - peaks-loop-crystallization@0.0.13
112
+ - peaks-loop-doctor@0.0.12
113
+ - peaks-loop-final-review@0.0.12
114
+
115
+ ## 4.0.0
116
+
117
+ ### Patch Changes
118
+
119
+ - Updated dependencies
120
+ - peaks-loop-shared@0.0.18
121
+ - peaks-loop-audit-independent@0.0.12
122
+ - peaks-loop-crystallization@0.0.13
123
+ - peaks-loop-doctor@0.0.12
124
+ - peaks-loop-final-review@0.0.12
125
+
126
+ ## 4.0.0
127
+
128
+ ### Patch Changes
129
+
130
+ - Updated dependencies
131
+ - peaks-loop-shared@0.0.18
132
+ - peaks-loop-audit-independent@0.0.12
133
+ - peaks-loop-crystallization@0.0.13
134
+ - peaks-loop-doctor@0.0.12
135
+ - peaks-loop-final-review@0.0.12
136
+
137
+ ## 4.0.0
138
+
139
+ ### Patch Changes
140
+
141
+ - Updated dependencies
142
+ - peaks-loop-shared@0.0.18
143
+ - peaks-loop-audit-independent@0.0.12
144
+ - peaks-loop-crystallization@0.0.13
145
+ - peaks-loop-doctor@0.0.12
146
+ - peaks-loop-final-review@0.0.12
147
+
148
+ ## 4.0.0
149
+
150
+ ### Patch Changes
151
+
152
+ - Updated dependencies
153
+ - peaks-loop-shared@0.0.18
154
+ - peaks-loop-audit-independent@0.0.12
155
+ - peaks-loop-crystallization@0.0.13
156
+ - peaks-loop-doctor@0.0.12
157
+ - peaks-loop-final-review@0.0.12
158
+
159
+ ## 4.0.0
160
+
161
+ ### Patch Changes
162
+
163
+ - Updated dependencies
164
+ - peaks-loop-shared@0.0.18
165
+ - peaks-loop-audit-independent@0.0.12
166
+ - peaks-loop-crystallization@0.0.13
167
+ - peaks-loop-doctor@0.0.12
168
+ - peaks-loop-final-review@0.0.12
169
+
170
+ ## 4.0.0
171
+
172
+ ### Patch Changes
173
+
174
+ - Updated dependencies
175
+ - peaks-loop-shared@0.0.18
176
+ - peaks-loop-audit-independent@0.0.12
177
+ - peaks-loop-crystallization@0.0.13
178
+ - peaks-loop-doctor@0.0.12
179
+ - peaks-loop-final-review@0.0.12
180
+
181
+ ## 4.0.0
182
+
183
+ ### Patch Changes
184
+
185
+ - Updated dependencies
186
+ - peaks-loop-shared@0.0.18
187
+ - peaks-loop-audit-independent@0.0.12
188
+ - peaks-loop-crystallization@0.0.13
189
+ - peaks-loop-doctor@0.0.12
190
+ - peaks-loop-final-review@0.0.12
191
+
192
+ ## 4.0.0
193
+
194
+ ### Patch Changes
195
+
196
+ - Updated dependencies
197
+ - peaks-loop-shared@0.0.18
198
+ - peaks-loop-audit-independent@0.0.12
199
+ - peaks-loop-crystallization@0.0.13
200
+ - peaks-loop-doctor@0.0.12
201
+ - peaks-loop-final-review@0.0.12
202
+
203
+ ## 4.0.0
204
+
205
+ ### Patch Changes
206
+
207
+ - Updated dependencies
208
+ - peaks-loop-shared@0.0.18
209
+ - peaks-loop-audit-independent@0.0.12
210
+ - peaks-loop-crystallization@0.0.13
211
+ - peaks-loop-doctor@0.0.12
212
+ - peaks-loop-final-review@0.0.12
213
+
214
+ ## 4.0.0
215
+
216
+ ### Patch Changes
217
+
218
+ - Updated dependencies
219
+ - peaks-loop-shared@0.0.18
220
+ - peaks-loop-audit-independent@0.0.12
221
+ - peaks-loop-crystallization@0.0.13
222
+ - peaks-loop-doctor@0.0.12
223
+ - peaks-loop-final-review@0.0.12
224
+
225
+ ## 4.0.0
226
+
227
+ ### Patch Changes
228
+
229
+ - Updated dependencies
230
+ - peaks-loop-shared@0.0.18
231
+ - peaks-loop-audit-independent@0.0.12
232
+ - peaks-loop-crystallization@0.0.13
233
+ - peaks-loop-doctor@0.0.12
234
+ - peaks-loop-final-review@0.0.12
235
+
236
+ ## 4.0.0
237
+
238
+ ### Patch Changes
239
+
240
+ - Updated dependencies
241
+ - peaks-loop-shared@0.0.18
242
+ - peaks-loop-audit-independent@0.0.12
243
+ - peaks-loop-crystallization@0.0.13
244
+ - peaks-loop-doctor@0.0.12
245
+ - peaks-loop-final-review@0.0.12
246
+
247
+ ## 4.0.0
248
+
249
+ ### Patch Changes
250
+
251
+ - Updated dependencies
252
+ - peaks-loop-shared@0.0.18
253
+ - peaks-loop-audit-independent@0.0.12
254
+ - peaks-loop-crystallization@0.0.13
255
+ - peaks-loop-doctor@0.0.12
256
+ - peaks-loop-final-review@0.0.12
257
+
258
+ ## 4.0.0
259
+
260
+ ### Patch Changes
261
+
262
+ - Updated dependencies
263
+ - peaks-loop-shared@0.0.18
264
+ - peaks-loop-audit-independent@0.0.12
265
+ - peaks-loop-crystallization@0.0.13
266
+ - peaks-loop-doctor@0.0.12
267
+ - peaks-loop-final-review@0.0.12
268
+
269
+ ## 4.0.0
270
+
271
+ ### Patch Changes
272
+
273
+ - Updated dependencies
274
+ - peaks-loop-shared@0.0.18
275
+ - peaks-loop-audit-independent@0.0.12
276
+ - peaks-loop-crystallization@0.0.13
277
+ - peaks-loop-doctor@0.0.12
278
+ - peaks-loop-final-review@0.0.12
279
+
280
+ ## 4.0.0
281
+
282
+ ### Patch Changes
283
+
284
+ - Updated dependencies
285
+ - peaks-loop-shared@0.0.15
286
+ - peaks-loop-audit-independent@0.0.11
287
+ - peaks-loop-crystallization@0.0.12
288
+ - peaks-loop-doctor@0.0.11
289
+ - peaks-loop-final-review@0.0.11
290
+
291
+ ## 4.0.0
292
+
293
+ ### Patch Changes
294
+
295
+ - Updated dependencies
296
+ - peaks-loop-shared@0.0.15
297
+ - peaks-loop-audit-independent@0.0.11
298
+ - peaks-loop-crystallization@0.0.12
299
+ - peaks-loop-doctor@0.0.11
300
+ - peaks-loop-final-review@0.0.11
301
+
302
+ ## 4.0.0
303
+
304
+ ### Patch Changes
305
+
30
306
  - Updated dependencies
31
307
  - peaks-loop-shared@0.0.15
32
308
  - peaks-loop-audit-independent@0.0.11
package/README-en.md CHANGED
@@ -5,10 +5,12 @@
5
5
  ### You talk. It runs the entire engineering chain for you — beyond just code, twice-run flows sediment into local tactics.
6
6
 
7
7
  [![npm](https://img.shields.io/npm/v/peaks-loop?style=for-the-badge&logo=npm&logoColor=white&color=cb3837)](https://www.npmjs.com/package/peaks-loop)
8
+ [![publish](https://img.shields.io/github/actions/workflow/status/SquabbyZ/peaks-loop/publish.yml?style=for-the-badge&logo=githubactions&logoColor=white&label=publish)](https://github.com/SquabbyZ/peaks-loop/actions/workflows/publish.yml)
9
+ [![ci](https://img.shields.io/github/actions/workflow/status/SquabbyZ/peaks-loop/ci.yml?style=for-the-badge&logo=githubactions&logoColor=white&label=ci)](https://github.com/SquabbyZ/peaks-loop/actions/workflows/ci.yml)
8
10
  [![license](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](./LICENSE)
9
- [![node](https://img.shields.io/badge/node-%E2%89%A520-339933?style=for-the-badge&logo=node.js&logoColor=white)](https://www.npmjs.com/package/peaks-loop)
11
+ [[![node](https://img.shields.io/badge/node-%E2%89%A520-339933?style=for-the-badge&logo=node.js&logoColor=white)](https://www.npmjs.com/package/peaks-loop)
10
12
  [![tests](https://img.shields.io/badge/tests-5%2C439%20passed-22c55e?style=for-the-badge&logo=vitest&logoColor=white)](#status)
11
- [![stars](https://img.shields.io/github/stars/SquabbyZ/peaks-loop?style=for-the-badge&logo=github&logoColor=white)](https://github.com/SquabbyZ/peaks-loop/stargazers)
13
+ [![stars](https://img.shields.io/github/stars/SquabbyZ/peaks-loop?style=for-the-badge&logo=github&github=github&logoColor=white)](https://github.com/SquabbyZ/peaks-loop/stargazers)
12
14
 
13
15
  **English** · [简体中文](./README.md)
14
16
 
@@ -123,7 +125,7 @@ Every lane opens with **one slash command**.
123
125
 
124
126
  | | |
125
127
  | --- | --- |
126
- | **Latest** | [`4.0.0-beta.25`](https://github.com/SquabbyZ/peaks-loop/releases) — 4.x GA is in the works |
128
+ | **Latest** | [`4.0.0-beta.28`](https://github.com/SquabbyZ/peaks-loop/releases) — 4.x GA is in the works |
127
129
  | **Domains** | Code (`peaks-code`) · Content (`peaks-content`) · Project health (`peaks-doctor`) · Issue sweep (`peaks-issue-fix-orchestrator`) · Custom SOP (`peaks-sop`) · Cross-domain primitives (`peaks-solo` dispatcher · `peaks-resume` · `peaks-status` · `peaks-test`) |
128
130
  | **Sediment pool** | `~/.peaks/` local pool · twice-clean runs auto-promote to a bee · broken runs come back for you to redefine · the bee grows with your taste |
129
131
  | **Test suite** | 5,439 passed · 19 skipped · 0 failed |
package/README.md CHANGED
@@ -5,10 +5,12 @@
5
5
  ### 你说话,它替你跑完一整条工程流水线 —— 不止写代码,跑两次就沉淀成本地战术。
6
6
 
7
7
  [![npm](https://img.shields.io/npm/v/peaks-loop?style=for-the-badge&logo=npm&logoColor=white&color=cb3837)](https://www.npmjs.com/package/peaks-loop)
8
+ [![publish](https://img.shields.io/github/actions/workflow/status/SquabbyZ/peaks-loop/publish.yml?style=for-the-badge&logo=githubactions&logoColor=white&label=publish)](https://github.com/SquabbyZ/peaks-loop/actions/workflows/publish.yml)
9
+ [![ci](https://img.shields.io/github/actions/workflow/status/SquabbyZ/peaks-loop/ci.yml?style=for-the-badge&logo=githubactions&logoColor=white&label=ci)](https://github.com/SquabbyZ/peaks-loop/actions/workflows/ci.yml)
8
10
  [![license](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](./LICENSE)
9
11
  [![node](https://img.shields.io/badge/node-%E2%89%A520-339933?style=for-the-badge&logo=node.js&logoColor=white)](https://www.npmjs.com/package/peaks-loop)
10
12
  [![tests](https://img.shields.io/badge/tests-5%2C439%20passed-22c55e?style=for-the-badge&logo=vitest&logoColor=white)](#status)
11
- [![stars](https://img.shields.io/github/stars/SquabbyZ/peaks-loop?style=for-the-badge&logo=github&logoColor=white)](https://github.com/SquabbyZ/peaks-loop/stargazers)
13
+ [![stars](https://img.shields.io/github/stars/SquabbyZ/peaks-loop?style=for-the-badge&logo=github&github=github&logoColor=white)](https://github.com/SquabbyZ/peaks-loop/stargazers)
12
14
 
13
15
  [English](./README-en.md) · **简体中文**
14
16
 
@@ -123,7 +125,7 @@ npm i -g peaks-loop
123
125
 
124
126
  | | |
125
127
  | --- | --- |
126
- | **最新版本** | [`4.0.0-beta.25`](https://github.com/SquabbyZ/peaks-loop/releases) — 4.x 正式版筹备中 |
128
+ | **最新版本** | [`4.0.0-beta.28`](https://github.com/SquabbyZ/peaks-loop/releases) — 4.x 正式版筹备中 |
127
129
  | **覆盖域** | 代码(`peaks-code`) · 内容(`peaks-content`) · 项目健康(`peaks-doctor`) · 批量修 issue(`peaks-issue-fix-orchestrator`) · 自定义 SOP(`peaks-sop`) · 通用原语(`peaks-solo` 分诊 / `peaks-resume` 续 / `peaks-status` 看 / `peaks-test` 测) |
128
130
  | **沉淀池** | `~/.peaks/` 本地池 · 跑两次自动晋升成 bee · 跑翻车让你重定义 · bee 跟着你的口味长 |
129
131
  | **测试套件** | 5,439 passed · 19 skipped · 0 failed |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peaks-loop",
3
- "version": "4.0.0-beta.25",
3
+ "version": "4.0.0-beta.28",
4
4
  "description": "Loop Engineering CLI — workflow primitive / loop guards / evaluators / slice orchestration",
5
5
  "author": "SquabbyZ",
6
6
  "license": "MIT",
@@ -55,13 +55,13 @@
55
55
  "yaml": "^2.9.0",
56
56
  "zod": "^3.25.76",
57
57
  "peaks-loop-audit-independent": "0.0.11",
58
- "peaks-loop-crystallization": "0.0.12",
59
58
  "peaks-loop-doctor": "0.0.11",
60
- "peaks-loop-mut": "0.1.0",
61
59
  "peaks-loop-final-review": "0.0.11",
60
+ "peaks-loop-mut": "0.1.0",
62
61
  "peaks-loop-job-snapshot": "0.0.5",
62
+ "peaks-loop-crystallization": "0.0.12",
63
63
  "peaks-loop-shared-channel": "0.0.5",
64
- "peaks-loop-shared": "0.0.17"
64
+ "peaks-loop-shared": "0.0.18"
65
65
  },
66
66
  "peerDependencies": {
67
67
  "@alibaba-group/open-code-review": "1.3.1"
@@ -18,6 +18,47 @@ writeFileSync(
18
18
  `export const CLI_VERSION = ${JSON.stringify(version)};\n`,
19
19
  );
20
20
 
21
+ // 2026-07-22 follow-up (post-monorepo recurrence): automatically bump
22
+ // `peaks-loop-shared`'s own package.json version so the npm pack always
23
+ // ships a fresh tarball. Pre-monorepo this never recurred because the
24
+ // root was the only published artifact; in monorepo mode the shared
25
+ // subpackage's tarball gets cached on the registry with stale CLI_VERSION
26
+ // when only the root version changes, and `npm install` re-uses that
27
+ // cached tarball because peaks-loop<ver>'s package.json still pins
28
+ // `peaks-loop-shared@<old>`. Bumping the shared version forces a fresh
29
+ // tarball upload. Read-modify-write on the shared package's package.json
30
+ // only — the shared package is private, so its version field doesn't
31
+ // appear in any consumer's package.json (the peaks-loop dependency
32
+ // rewrite is still handled by the publish pack step).
33
+ //
34
+ // SAFETY: this auto-bump only runs when invoked from the publish
35
+ // `build` step (i.e. on the CI runner producing a release). It does NOT
36
+ // run for `pretest` / `predev` / `prepublish` / `pretest:coverage` —
37
+ // otherwise a local dev loop would ratchet the shared version upward
38
+ // by 0.0.1 every test run and the working tree would diverge from the
39
+ // last git tag. The gate is `process.env.PEAKS_AUTO_BUMP_SHARED === '1'`.
40
+ //
41
+ // Skip the bump when the existing shared version is NOT a clean
42
+ // x.y.z SemVer (some test fixtures use markers like `9.9.9-oldsub`).
43
+ // In that case, leave the version alone and let the test that set
44
+ // the marker continue to work.
45
+ if (process.env.PEAKS_AUTO_BUMP_SHARED === '1') {
46
+ const sharedPkgPath = resolve('packages/peaks-loop-shared/package.json');
47
+ const sharedPkg = JSON.parse(readFileSync(sharedPkgPath, 'utf8'));
48
+ const sharedVersion = sharedPkg.version;
49
+ const sharedVersionMatch = /^(\d+)\.(\d+)\.(\d+)$/.exec(sharedVersion);
50
+ if (sharedVersionMatch) {
51
+ const nextSharedVersion = `${sharedVersionMatch[1]}.${sharedVersionMatch[2]}.${Number(sharedVersionMatch[3]) + 1}`;
52
+ sharedPkg.version = nextSharedVersion;
53
+ writeFileSync(sharedPkgPath, JSON.stringify(sharedPkg, null, 2) + '\n');
54
+ console.log(`[sync-version] bumped peaks-loop-shared ${sharedVersion} -> ${nextSharedVersion} (root ${version})`);
55
+ } else {
56
+ console.log(`[sync-version] peaks-loop-shared version "${sharedVersion}" is not x.y.z; skipping auto-bump`);
57
+ }
58
+ } else {
59
+ console.log(`[sync-version] peaks-loop-shared auto-bump skipped (PEAKS_AUTO_BUMP_SHARED not set)`);
60
+ }
61
+
21
62
  // 2026-07-22 follow-up (Bug-04 root-cause fix): the previous version of
22
63
  // this script wrote `version.ts` only, then handed off to `tsc`. Tsc's
23
64
  // incremental-build cache compares `version.ts` only by mtime + size —