@planu/cli 5.2.0 → 5.3.1

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.
Files changed (37) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/config/environment-schema.json +161 -21
  3. package/dist/config/hook-templates/planu-session-safeguard.sh +14 -4
  4. package/dist/config/release-policy.json +0 -8
  5. package/dist/engine/planu-core.darwin-arm64.node.manifest.json +7 -7
  6. package/dist/engine/planu-core.darwin-arm64.node.sbom.json +4 -4
  7. package/dist/engine/planu-core.darwin-x64.node.manifest.json +7 -7
  8. package/dist/engine/planu-core.darwin-x64.node.sbom.json +4 -4
  9. package/dist/engine/planu-core.linux-arm64-gnu.node.manifest.json +7 -7
  10. package/dist/engine/planu-core.linux-arm64-gnu.node.sbom.json +4 -4
  11. package/dist/engine/planu-core.linux-arm64-musl.node.manifest.json +7 -7
  12. package/dist/engine/planu-core.linux-arm64-musl.node.sbom.json +4 -4
  13. package/dist/engine/planu-core.linux-x64-gnu.node.manifest.json +7 -7
  14. package/dist/engine/planu-core.linux-x64-gnu.node.sbom.json +4 -4
  15. package/dist/engine/planu-core.linux-x64-musl.node.manifest.json +7 -7
  16. package/dist/engine/planu-core.linux-x64-musl.node.sbom.json +4 -4
  17. package/dist/engine/planu-core.win32-arm64-msvc.node.manifest.json +7 -7
  18. package/dist/engine/planu-core.win32-arm64-msvc.node.sbom.json +4 -4
  19. package/dist/engine/planu-core.win32-x64-msvc.node.manifest.json +7 -7
  20. package/dist/engine/planu-core.win32-x64-msvc.node.sbom.json +4 -4
  21. package/dist/engine/session-safeguard/autopush.js +8 -2
  22. package/dist/engine/validation/validation-freshness.d.ts +20 -1
  23. package/dist/engine/validation/validation-freshness.js +181 -21
  24. package/dist/engine/validator/analyzer.d.ts +5 -2
  25. package/dist/engine/validator/analyzer.js +81 -23
  26. package/dist/engine/validator/deep-code-checker.d.ts +10 -0
  27. package/dist/engine/validator/deep-code-checker.js +33 -0
  28. package/dist/engine/validator/test-evidence-grounding.d.ts +56 -0
  29. package/dist/engine/validator/test-evidence-grounding.js +187 -0
  30. package/dist/engine/validator.js +15 -4
  31. package/dist/tools/reconcile-session-safeguard-hook.js +14 -3
  32. package/dist/tools/validate.js +6 -2
  33. package/dist/types/analysis.d.ts +2 -0
  34. package/dist/types/validation-receipt.d.ts +7 -0
  35. package/package.json +20 -20
  36. package/planu-native.json +1 -1
  37. package/planu-plugin.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,47 @@
1
+ ## [5.3.1] - 2026-08-05
2
+
3
+ ### Bug Fixes
4
+ - fix(session-safeguard): abort detect via FETCH_HEAD, drop invalid push --ff-only, harden refs
5
+ - fix(session-safeguard): never autopush protected branches and detect pushed bump in release abort
6
+
7
+ ### Refactoring
8
+ - refactor(tests): split release-pipeline suite, harness cache, mirror auto-sync
9
+
10
+ ### Chores
11
+ - chore(planu): SPEC-1384 done state and SPEC-1385 dogfood bug spec
12
+ - chore(planu): SPEC-1379 done state
13
+ - chore(planu): split incidental session-context churn out of SPEC-1379 delta
14
+ - chore(planu): file SPEC-1381 challenge resolution, SPEC-1382 operator guides, SPEC-1383 validate budget dogfood specs
15
+ - chore(planu): SPEC-1378 done state and v5.3.0 session checkpoint
16
+
17
+
18
+ ## [5.3.0] - 2026-08-05
19
+
20
+ ### Features
21
+ - feat(watchers): ignore non-actionable root events in validation freshness watchers (SPEC-1340)
22
+ - feat(release): harden local release pipeline — auth preflight, receipt env isolation, publish retry, visibility wait (SPEC-1369)
23
+
24
+ ### Bug Fixes
25
+ - fix(release): accept npm 12 keyed pack JSON across release gates (SPEC-1339)
26
+ - fix(validator): stop marking provably implemented test-only criteria as indeterminate (SPEC-1367)
27
+ - fix(deps): raise brace-expansion and postcss transitive floors past advisories (SPEC-1338)
28
+ - fix(readiness): fail strict readiness when canonical BDD extraction returns zero criteria (SPEC-1321)
29
+ - fix(lifecycle): route implementation review digests to done gates without entering reconciliation (SPEC-1328)
30
+ - fix(privacy): redact minimality policy locators from persisted artifacts (SPEC-1334)
31
+ - fix(create-spec): remove hardcoded test-framework commands from generated specs (SPEC-1234)
32
+ - fix(challenge): preserve title evidence in event capability detection (SPEC-1235)
33
+ - fix(release): enforce proprietary license and canonical plugin tool parity (SPEC-1236)
34
+
35
+ ### Tests
36
+ - test(release): make release preflight/receipt regressions deterministic under full-suite load (SPEC-1207)
37
+ - test(release): reconcile full test suite with local-only release policy and rollback semantics (SPEC-1373)
38
+
39
+ ### Chores
40
+ - chore(deps): update 11 patch/minor dependencies
41
+ - chore(planu): close stale lifecycle for SPEC-1010/1011 tool-reliability specs and record SPEC-1010 tech debt
42
+ - chore(planu): file SPEC-1374/1375/1376 dogfood bug specs
43
+
44
+
1
45
  ## [5.2.0] - 2026-08-04
2
46
 
3
47
  ### Features
@@ -8,10 +8,34 @@
8
8
  "sensitivity": "secret",
9
9
  "default": null
10
10
  },
11
- { "name": "PLANU_AUTO_DRIFT", "type": "boolean", "scope": "runtime", "sensitivity": "public", "default": null },
12
- { "name": "PLANU_COMMENT", "type": "string", "scope": "runtime", "sensitivity": "public", "default": null },
13
- { "name": "PLANU_DISABLE_HOOKS", "type": "boolean", "scope": "runtime", "sensitivity": "public", "default": null },
14
- { "name": "PLANU_DRIFT_THRESHOLD", "type": "number", "scope": "runtime", "sensitivity": "public", "default": null },
11
+ {
12
+ "name": "PLANU_AUTO_DRIFT",
13
+ "type": "boolean",
14
+ "scope": "runtime",
15
+ "sensitivity": "public",
16
+ "default": null
17
+ },
18
+ {
19
+ "name": "PLANU_COMMENT",
20
+ "type": "string",
21
+ "scope": "runtime",
22
+ "sensitivity": "public",
23
+ "default": null
24
+ },
25
+ {
26
+ "name": "PLANU_DISABLE_HOOKS",
27
+ "type": "boolean",
28
+ "scope": "runtime",
29
+ "sensitivity": "public",
30
+ "default": null
31
+ },
32
+ {
33
+ "name": "PLANU_DRIFT_THRESHOLD",
34
+ "type": "number",
35
+ "scope": "runtime",
36
+ "sensitivity": "public",
37
+ "default": null
38
+ },
15
39
  {
16
40
  "name": "PLANU_ENABLE_AUTOCOMMIT",
17
41
  "type": "boolean",
@@ -26,7 +50,13 @@
26
50
  "sensitivity": "public",
27
51
  "default": null
28
52
  },
29
- { "name": "PLANU_FIGMA_CLIENT_ID", "type": "string", "scope": "runtime", "sensitivity": "public", "default": null },
53
+ {
54
+ "name": "PLANU_FIGMA_CLIENT_ID",
55
+ "type": "string",
56
+ "scope": "runtime",
57
+ "sensitivity": "public",
58
+ "default": null
59
+ },
30
60
  {
31
61
  "name": "PLANU_FIGMA_CLIENT_SECRET",
32
62
  "type": "string",
@@ -55,7 +85,13 @@
55
85
  "sensitivity": "private",
56
86
  "default": null
57
87
  },
58
- { "name": "PLANU_HOST", "type": "string", "scope": "runtime", "sensitivity": "public", "default": null },
88
+ {
89
+ "name": "PLANU_HOST",
90
+ "type": "string",
91
+ "scope": "runtime",
92
+ "sensitivity": "public",
93
+ "default": null
94
+ },
59
95
  {
60
96
  "name": "PLANU_MAX_PARALLEL_AGENTS",
61
97
  "type": "number",
@@ -63,7 +99,13 @@
63
99
  "sensitivity": "public",
64
100
  "default": null
65
101
  },
66
- { "name": "PLANU_MAX_TS_WATCHERS", "type": "number", "scope": "runtime", "sensitivity": "public", "default": null },
102
+ {
103
+ "name": "PLANU_MAX_TS_WATCHERS",
104
+ "type": "number",
105
+ "scope": "runtime",
106
+ "sensitivity": "public",
107
+ "default": null
108
+ },
67
109
  {
68
110
  "name": "PLANU_MONTHLY_BUDGET_USD",
69
111
  "type": "number",
@@ -71,7 +113,13 @@
71
113
  "sensitivity": "private",
72
114
  "default": null
73
115
  },
74
- { "name": "PLANU_NATIVE_PATH", "type": "string", "scope": "runtime", "sensitivity": "private", "default": null },
116
+ {
117
+ "name": "PLANU_NATIVE_PATH",
118
+ "type": "string",
119
+ "scope": "runtime",
120
+ "sensitivity": "private",
121
+ "default": null
122
+ },
75
123
  {
76
124
  "name": "PLANU_NETWORK_CONSENT",
77
125
  "type": "string",
@@ -79,8 +127,20 @@
79
127
  "sensitivity": "private",
80
128
  "default": null
81
129
  },
82
- { "name": "PLANU_OFFLINE", "type": "boolean", "scope": "runtime", "sensitivity": "public", "default": null },
83
- { "name": "PLANU_PLUGINS_DIR", "type": "string", "scope": "runtime", "sensitivity": "private", "default": null },
130
+ {
131
+ "name": "PLANU_OFFLINE",
132
+ "type": "boolean",
133
+ "scope": "runtime",
134
+ "sensitivity": "public",
135
+ "default": null
136
+ },
137
+ {
138
+ "name": "PLANU_PLUGINS_DIR",
139
+ "type": "string",
140
+ "scope": "runtime",
141
+ "sensitivity": "private",
142
+ "default": null
143
+ },
84
144
  {
85
145
  "name": "PLANU_PROJECT_DATA_DIR",
86
146
  "type": "string",
@@ -88,7 +148,13 @@
88
148
  "sensitivity": "private",
89
149
  "default": null
90
150
  },
91
- { "name": "PLANU_PROJECT_PATH", "type": "string", "scope": "runtime", "sensitivity": "private", "default": null },
151
+ {
152
+ "name": "PLANU_PROJECT_PATH",
153
+ "type": "string",
154
+ "scope": "runtime",
155
+ "sensitivity": "private",
156
+ "default": null
157
+ },
92
158
  {
93
159
  "name": "PLANU_QA_CHECK_TIMEOUT_MS",
94
160
  "type": "number",
@@ -96,11 +162,41 @@
96
162
  "sensitivity": "public",
97
163
  "default": null
98
164
  },
99
- { "name": "PLANU_RECORD_CASSETTES", "type": "boolean", "scope": "test", "sensitivity": "public", "default": null },
100
- { "name": "PLANU_REGISTRY_URL", "type": "string", "scope": "runtime", "sensitivity": "public", "default": null },
101
- { "name": "PLANU_SAGA_CHAOS", "type": "string", "scope": "test", "sensitivity": "public", "default": null },
102
- { "name": "PLANU_SESSION_BUDGET", "type": "number", "scope": "runtime", "sensitivity": "private", "default": null },
103
- { "name": "PLANU_SESSION_ID", "type": "string", "scope": "runtime", "sensitivity": "private", "default": null },
165
+ {
166
+ "name": "PLANU_RECORD_CASSETTES",
167
+ "type": "boolean",
168
+ "scope": "test",
169
+ "sensitivity": "public",
170
+ "default": null
171
+ },
172
+ {
173
+ "name": "PLANU_REGISTRY_URL",
174
+ "type": "string",
175
+ "scope": "runtime",
176
+ "sensitivity": "public",
177
+ "default": null
178
+ },
179
+ {
180
+ "name": "PLANU_SAGA_CHAOS",
181
+ "type": "string",
182
+ "scope": "test",
183
+ "sensitivity": "public",
184
+ "default": null
185
+ },
186
+ {
187
+ "name": "PLANU_SESSION_BUDGET",
188
+ "type": "number",
189
+ "scope": "runtime",
190
+ "sensitivity": "private",
191
+ "default": null
192
+ },
193
+ {
194
+ "name": "PLANU_SESSION_ID",
195
+ "type": "string",
196
+ "scope": "runtime",
197
+ "sensitivity": "private",
198
+ "default": null
199
+ },
104
200
  {
105
201
  "name": "PLANU_SUPPRESS_AUTOCOMMIT",
106
202
  "type": "boolean",
@@ -108,7 +204,13 @@
108
204
  "sensitivity": "public",
109
205
  "default": null
110
206
  },
111
- { "name": "PLANU_TELEMETRY", "type": "string", "scope": "runtime", "sensitivity": "public", "default": null },
207
+ {
208
+ "name": "PLANU_TELEMETRY",
209
+ "type": "string",
210
+ "scope": "runtime",
211
+ "sensitivity": "public",
212
+ "default": null
213
+ },
112
214
  {
113
215
  "name": "PLANU_TELEMETRY_CONSENT_VERSION",
114
216
  "type": "string",
@@ -123,9 +225,27 @@
123
225
  "sensitivity": "public",
124
226
  "default": null
125
227
  },
126
- { "name": "PLANU_TELEMETRY_TOKEN", "type": "string", "scope": "runtime", "sensitivity": "secret", "default": null },
127
- { "name": "PLANU_TIMING", "type": "boolean", "scope": "runtime", "sensitivity": "public", "default": null },
128
- { "name": "PLANU_TOOL_TIMEOUT_MS", "type": "number", "scope": "runtime", "sensitivity": "public", "default": null },
228
+ {
229
+ "name": "PLANU_TELEMETRY_TOKEN",
230
+ "type": "string",
231
+ "scope": "runtime",
232
+ "sensitivity": "secret",
233
+ "default": null
234
+ },
235
+ {
236
+ "name": "PLANU_TIMING",
237
+ "type": "boolean",
238
+ "scope": "runtime",
239
+ "sensitivity": "public",
240
+ "default": null
241
+ },
242
+ {
243
+ "name": "PLANU_TOOL_TIMEOUT_MS",
244
+ "type": "number",
245
+ "scope": "runtime",
246
+ "sensitivity": "public",
247
+ "default": null
248
+ },
129
249
  {
130
250
  "name": "PLANU_VALIDATE_LINT_TIMEOUT_MS",
131
251
  "type": "number",
@@ -133,7 +253,27 @@
133
253
  "sensitivity": "public",
134
254
  "default": null
135
255
  },
136
- { "name": "PLANU_VERBOSE_OUTPUT", "type": "boolean", "scope": "runtime", "sensitivity": "public", "default": null }
256
+ {
257
+ "name": "PLANU_VALIDATE_PROBE",
258
+ "type": "string",
259
+ "scope": "runtime",
260
+ "sensitivity": "public",
261
+ "default": null
262
+ },
263
+ {
264
+ "name": "PLANU_VALIDATE_PROBE_TIMEOUT_MS",
265
+ "type": "number",
266
+ "scope": "runtime",
267
+ "sensitivity": "public",
268
+ "default": null
269
+ },
270
+ {
271
+ "name": "PLANU_VERBOSE_OUTPUT",
272
+ "type": "boolean",
273
+ "scope": "runtime",
274
+ "sensitivity": "public",
275
+ "default": null
276
+ }
137
277
  ],
138
278
  "dynamicPatterns": [
139
279
  {
@@ -7,10 +7,20 @@ mkdir -p "$(dirname "$log")"
7
7
  echo "[$(date -u +%FT%TZ)] PreCompaction safeguard fired"
8
8
  cd "${CLAUDE_PROJECT_DIR:-.}" || exit 0
9
9
  current=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "")
10
- if [[ -n "$current" && "$current" != "HEAD" ]]; then
11
- # ff-only push, never force, never overwrite remote
12
- git push origin "$current" --no-verify 2>&1 || echo "push failed or nothing to push"
13
- fi
10
+ case "$current" in
11
+ ""|HEAD|main|master|develop|release|production)
12
+ # SPEC-1379: never autopush protected branches mirrors PROTECTED_BRANCHES
13
+ # in src/engine/session-safeguard/autopush.ts. --no-verify below is safe
14
+ # ONLY because of this guard; remove one, remove both.
15
+ echo "skip: protected or detached ($current)"
16
+ ;;
17
+ *)
18
+ # No --force: the remote rejects any non-fast-forward push, so this can
19
+ # never overwrite remote history. --end-of-options hardens against
20
+ # refnames that start with a dash.
21
+ git push --no-verify --end-of-options origin "$current" 2>&1 || echo "push failed or nothing to push"
22
+ ;;
23
+ esac
14
24
  } >> "$log" 2>&1
15
25
 
16
26
  exit 0
@@ -96,13 +96,5 @@
96
96
  { "id": "CC", "command": "clang" },
97
97
  { "id": "CXX", "command": "clang++" }
98
98
  ]
99
- },
100
- "workflowActions": {
101
- "actions/checkout": "d23441a48e516b6c34aea4fa41551a30e30af803",
102
- "actions/setup-node": "249970729cb0ef3589644e2896645e5dc5ba9c38",
103
- "actions/upload-artifact": "b7c566a772e6b6bfb58ed0dc250532a479d7789f",
104
- "pnpm/action-setup": "fc06bc1257f339d1d5d8b3a19a8cae5388b55320",
105
- "dtolnay/rust-toolchain": "2c7215f132e9ebf062739d9130488b56d53c060c",
106
- "Swatinem/rust-cache": "e18b497796c12c097a38f9edb9d0641fb99eee32"
107
99
  }
108
100
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
- "cliVersion": "5.2.0",
4
- "engineVersion": "5.2.0",
5
- "buildId": "1-5.2.0-aarch64-apple-darwin",
3
+ "cliVersion": "5.3.1",
4
+ "engineVersion": "5.3.1",
5
+ "buildId": "1-5.3.1-aarch64-apple-darwin",
6
6
  "protocolAbi": 1,
7
7
  "capabilityAbi": 2,
8
8
  "nodeApiAbi": 4,
@@ -17,15 +17,15 @@
17
17
  "platform": "darwin",
18
18
  "arch": "arm64",
19
19
  "libc": null,
20
- "artifactSha256": "d651b32dc2ec3d58adc720400cab3cfd0114388d2697c861038b913cda3ad711",
20
+ "artifactSha256": "9496b35ee4f02409d2ba5d5a32b07069f188bbe39b88ab0cc3a350fe476dce2a",
21
21
  "sbom": {
22
22
  "format": "CycloneDX-1.5",
23
23
  "path": "planu-core.darwin-arm64.node.sbom.json",
24
- "sha256": "28c7421f2ee232830c3150449c51d89a494e2a4841a39af4348dcaaccb27f6cc"
24
+ "sha256": "1e8ba252b6c59727c3572a4cc086f55900f1dfbe2f8b52ab01efbb566825bf27"
25
25
  },
26
26
  "provenance": {
27
27
  "builder": "scripts/build-rust-local.sh",
28
- "sourceCommit": "121065e63e9fd2c067367e286ecba619ecc3f18a",
28
+ "sourceCommit": "cff22e20c8f95a4081485b852254fa5fbe1532ef",
29
29
  "sourceTreeDirty": false,
30
30
  "sourceDateEpoch": 1,
31
31
  "rustToolchain": "rustc 1.95.0 (59807616e 2026-04-14)",
@@ -34,6 +34,6 @@
34
34
  "signature": {
35
35
  "algorithm": "Ed25519",
36
36
  "keyId": "e2ee765cb5ad9fbdc433ece332bce26d746d5e350b3acde0721a4c8c6337ff7b",
37
- "value": "9R5L33t90yHh/8SXCNpjSRbCoIJ8wooiMtvkHpCKr1ByDK13NiUuH3v0uLiquqXbf4r6mMe5K4bWQ63nm/XQBg=="
37
+ "value": "shwkLDoc3YH1TfCx9BXJ3sWZFkQnmUw5PF5ix0NUQIJ9zy79t1+97tCj+XxYMHr5/aEdAleDSI14AHARpTb+AQ=="
38
38
  }
39
39
  }
@@ -4,14 +4,14 @@
4
4
  "version": 1,
5
5
  "metadata": {
6
6
  "component": {
7
- "bom-ref": "pkg:cargo/planu-core@5.2.0",
7
+ "bom-ref": "pkg:cargo/planu-core@5.3.1",
8
8
  "type": "library",
9
9
  "name": "planu-core",
10
- "version": "5.2.0",
10
+ "version": "5.3.1",
11
11
  "hashes": [
12
12
  {
13
13
  "alg": "SHA-256",
14
- "content": "d651b32dc2ec3d58adc720400cab3cfd0114388d2697c861038b913cda3ad711"
14
+ "content": "9496b35ee4f02409d2ba5d5a32b07069f188bbe39b88ab0cc3a350fe476dce2a"
15
15
  }
16
16
  ]
17
17
  }
@@ -1106,7 +1106,7 @@
1106
1106
  "dependsOn": []
1107
1107
  },
1108
1108
  {
1109
- "ref": "pkg:cargo/planu-core@5.2.0",
1109
+ "ref": "pkg:cargo/planu-core@5.3.1",
1110
1110
  "dependsOn": [
1111
1111
  "pkg:cargo/core-foundation@0.10.1",
1112
1112
  "pkg:cargo/hmac@0.12.1",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
- "cliVersion": "5.2.0",
4
- "engineVersion": "5.2.0",
5
- "buildId": "1-5.2.0-x86_64-apple-darwin",
3
+ "cliVersion": "5.3.1",
4
+ "engineVersion": "5.3.1",
5
+ "buildId": "1-5.3.1-x86_64-apple-darwin",
6
6
  "protocolAbi": 1,
7
7
  "capabilityAbi": 2,
8
8
  "nodeApiAbi": 4,
@@ -17,15 +17,15 @@
17
17
  "platform": "darwin",
18
18
  "arch": "x64",
19
19
  "libc": null,
20
- "artifactSha256": "931a0f6bc94744521f33e6ac46fb7293fe49b14d225d76446e27dd7117f12ad9",
20
+ "artifactSha256": "8835b07d4b8a9d96c2c38d5ba7a0ee31f556a68bab2c49f3c397d813a0b467e9",
21
21
  "sbom": {
22
22
  "format": "CycloneDX-1.5",
23
23
  "path": "planu-core.darwin-x64.node.sbom.json",
24
- "sha256": "ec531e41f6e0ef14b7fb2727370f817b761d28ae510c93790555796f5e2fac19"
24
+ "sha256": "cd3fde2fa5c346e6f6b4ee377eec73e63ac20ae85d6793769c33f49ce884e181"
25
25
  },
26
26
  "provenance": {
27
27
  "builder": "scripts/build-rust-local.sh",
28
- "sourceCommit": "121065e63e9fd2c067367e286ecba619ecc3f18a",
28
+ "sourceCommit": "cff22e20c8f95a4081485b852254fa5fbe1532ef",
29
29
  "sourceTreeDirty": false,
30
30
  "sourceDateEpoch": 1,
31
31
  "rustToolchain": "rustc 1.95.0 (59807616e 2026-04-14)",
@@ -34,6 +34,6 @@
34
34
  "signature": {
35
35
  "algorithm": "Ed25519",
36
36
  "keyId": "e2ee765cb5ad9fbdc433ece332bce26d746d5e350b3acde0721a4c8c6337ff7b",
37
- "value": "mgppJ+aunLo8AOPqEdBnmAXfDYzWQzdmehp7AASRUk8Wyk9/mQm9A22K5T5NiUN3flTqQCLPT6ZN2L9eWp5VCw=="
37
+ "value": "BQIqLTSOP1v1gEBU6wBRH9d2G+81wpqFTtpxI1ObAfMEv22/HmXMhDieRK7ijSdhaJ0OwRE3qprfFqbYJ30pAg=="
38
38
  }
39
39
  }
@@ -4,14 +4,14 @@
4
4
  "version": 1,
5
5
  "metadata": {
6
6
  "component": {
7
- "bom-ref": "pkg:cargo/planu-core@5.2.0",
7
+ "bom-ref": "pkg:cargo/planu-core@5.3.1",
8
8
  "type": "library",
9
9
  "name": "planu-core",
10
- "version": "5.2.0",
10
+ "version": "5.3.1",
11
11
  "hashes": [
12
12
  {
13
13
  "alg": "SHA-256",
14
- "content": "931a0f6bc94744521f33e6ac46fb7293fe49b14d225d76446e27dd7117f12ad9"
14
+ "content": "8835b07d4b8a9d96c2c38d5ba7a0ee31f556a68bab2c49f3c397d813a0b467e9"
15
15
  }
16
16
  ]
17
17
  }
@@ -1106,7 +1106,7 @@
1106
1106
  "dependsOn": []
1107
1107
  },
1108
1108
  {
1109
- "ref": "pkg:cargo/planu-core@5.2.0",
1109
+ "ref": "pkg:cargo/planu-core@5.3.1",
1110
1110
  "dependsOn": [
1111
1111
  "pkg:cargo/core-foundation@0.10.1",
1112
1112
  "pkg:cargo/hmac@0.12.1",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
- "cliVersion": "5.2.0",
4
- "engineVersion": "5.2.0",
5
- "buildId": "1-5.2.0-aarch64-unknown-linux-gnu",
3
+ "cliVersion": "5.3.1",
4
+ "engineVersion": "5.3.1",
5
+ "buildId": "1-5.3.1-aarch64-unknown-linux-gnu",
6
6
  "protocolAbi": 1,
7
7
  "capabilityAbi": 2,
8
8
  "nodeApiAbi": 4,
@@ -16,15 +16,15 @@
16
16
  "platform": "linux",
17
17
  "arch": "arm64",
18
18
  "libc": "glibc",
19
- "artifactSha256": "9cb0106828b7045ee7c4c4f70fbbcaabc67f09f1a3466a034b171c4e326cce4c",
19
+ "artifactSha256": "aa7ba305602ab0cc30ed8859ae7b8aea49fc319161d583a84a39c43fc3080b2d",
20
20
  "sbom": {
21
21
  "format": "CycloneDX-1.5",
22
22
  "path": "planu-core.linux-arm64-gnu.node.sbom.json",
23
- "sha256": "2204168dd49b9d8b05854175868efb7a38a00af37081451c273b8c5a4d34dc99"
23
+ "sha256": "70863618fef07e482c7e5b70b7ec0f2eb86aeabb3639b458364d99be726d02b3"
24
24
  },
25
25
  "provenance": {
26
26
  "builder": "scripts/build-rust-local.sh",
27
- "sourceCommit": "121065e63e9fd2c067367e286ecba619ecc3f18a",
27
+ "sourceCommit": "cff22e20c8f95a4081485b852254fa5fbe1532ef",
28
28
  "sourceTreeDirty": false,
29
29
  "sourceDateEpoch": 1,
30
30
  "rustToolchain": "rustc 1.95.0 (59807616e 2026-04-14)",
@@ -33,6 +33,6 @@
33
33
  "signature": {
34
34
  "algorithm": "Ed25519",
35
35
  "keyId": "e2ee765cb5ad9fbdc433ece332bce26d746d5e350b3acde0721a4c8c6337ff7b",
36
- "value": "sW/k0JsHybFw0odijKvzrpwNrYV9u58gCSE+IUdh6AAd810hXnmnmnnH4YugGOVhW8nLQyRhdEuimwwv5yn7Aw=="
36
+ "value": "kwHa3R8NyX8dZ2Bb2+5+fMVTipEy8C0oHJ0P0LadjVhd5KJaXqfLPIu6a+rUkq9v/j1AUievoDE/BhgN8ukzBA=="
37
37
  }
38
38
  }
@@ -4,14 +4,14 @@
4
4
  "version": 1,
5
5
  "metadata": {
6
6
  "component": {
7
- "bom-ref": "pkg:cargo/planu-core@5.2.0",
7
+ "bom-ref": "pkg:cargo/planu-core@5.3.1",
8
8
  "type": "library",
9
9
  "name": "planu-core",
10
- "version": "5.2.0",
10
+ "version": "5.3.1",
11
11
  "hashes": [
12
12
  {
13
13
  "alg": "SHA-256",
14
- "content": "9cb0106828b7045ee7c4c4f70fbbcaabc67f09f1a3466a034b171c4e326cce4c"
14
+ "content": "aa7ba305602ab0cc30ed8859ae7b8aea49fc319161d583a84a39c43fc3080b2d"
15
15
  }
16
16
  ]
17
17
  }
@@ -1106,7 +1106,7 @@
1106
1106
  "dependsOn": []
1107
1107
  },
1108
1108
  {
1109
- "ref": "pkg:cargo/planu-core@5.2.0",
1109
+ "ref": "pkg:cargo/planu-core@5.3.1",
1110
1110
  "dependsOn": [
1111
1111
  "pkg:cargo/core-foundation@0.10.1",
1112
1112
  "pkg:cargo/hmac@0.12.1",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
- "cliVersion": "5.2.0",
4
- "engineVersion": "5.2.0",
5
- "buildId": "1-5.2.0-aarch64-unknown-linux-musl",
3
+ "cliVersion": "5.3.1",
4
+ "engineVersion": "5.3.1",
5
+ "buildId": "1-5.3.1-aarch64-unknown-linux-musl",
6
6
  "protocolAbi": 1,
7
7
  "capabilityAbi": 2,
8
8
  "nodeApiAbi": 4,
@@ -16,15 +16,15 @@
16
16
  "platform": "linux",
17
17
  "arch": "arm64",
18
18
  "libc": "musl",
19
- "artifactSha256": "264f16f835f526770fc5cda53eb3eba3f5fa37c656a0e7759dd485d3500d1586",
19
+ "artifactSha256": "d767b6ef1ec48f8bd745e02d39a53ef0efa052a15c3370ba65d3365e817cf454",
20
20
  "sbom": {
21
21
  "format": "CycloneDX-1.5",
22
22
  "path": "planu-core.linux-arm64-musl.node.sbom.json",
23
- "sha256": "67a2fcee3e745158d476fba6893d43b89861386e2e66c30af6a6db56e05909d5"
23
+ "sha256": "cf84110894384279fa1712a7b582767dd1dbebc72c1f4d3b53937d45109edc19"
24
24
  },
25
25
  "provenance": {
26
26
  "builder": "scripts/build-rust-local.sh",
27
- "sourceCommit": "121065e63e9fd2c067367e286ecba619ecc3f18a",
27
+ "sourceCommit": "cff22e20c8f95a4081485b852254fa5fbe1532ef",
28
28
  "sourceTreeDirty": false,
29
29
  "sourceDateEpoch": 1,
30
30
  "rustToolchain": "rustc 1.95.0 (59807616e 2026-04-14)",
@@ -33,6 +33,6 @@
33
33
  "signature": {
34
34
  "algorithm": "Ed25519",
35
35
  "keyId": "e2ee765cb5ad9fbdc433ece332bce26d746d5e350b3acde0721a4c8c6337ff7b",
36
- "value": "/cAY9D72vw0NV5qgc9/xcy1dn9N+FSY39fzTGKsdz9ZJziYoROvuhjeb927Mm1oELvCQKBi198AVypNdzyUFDA=="
36
+ "value": "0jHhH3Ng3cOPbyiCfBZqdMVbp7i3tP7JnViKwaJqEF65k1M4NTootCYDahfaxcOPQbdyywqgoGBn9D/c8x6dAA=="
37
37
  }
38
38
  }
@@ -4,14 +4,14 @@
4
4
  "version": 1,
5
5
  "metadata": {
6
6
  "component": {
7
- "bom-ref": "pkg:cargo/planu-core@5.2.0",
7
+ "bom-ref": "pkg:cargo/planu-core@5.3.1",
8
8
  "type": "library",
9
9
  "name": "planu-core",
10
- "version": "5.2.0",
10
+ "version": "5.3.1",
11
11
  "hashes": [
12
12
  {
13
13
  "alg": "SHA-256",
14
- "content": "264f16f835f526770fc5cda53eb3eba3f5fa37c656a0e7759dd485d3500d1586"
14
+ "content": "d767b6ef1ec48f8bd745e02d39a53ef0efa052a15c3370ba65d3365e817cf454"
15
15
  }
16
16
  ]
17
17
  }
@@ -1106,7 +1106,7 @@
1106
1106
  "dependsOn": []
1107
1107
  },
1108
1108
  {
1109
- "ref": "pkg:cargo/planu-core@5.2.0",
1109
+ "ref": "pkg:cargo/planu-core@5.3.1",
1110
1110
  "dependsOn": [
1111
1111
  "pkg:cargo/core-foundation@0.10.1",
1112
1112
  "pkg:cargo/hmac@0.12.1",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
- "cliVersion": "5.2.0",
4
- "engineVersion": "5.2.0",
5
- "buildId": "1-5.2.0-x86_64-unknown-linux-gnu",
3
+ "cliVersion": "5.3.1",
4
+ "engineVersion": "5.3.1",
5
+ "buildId": "1-5.3.1-x86_64-unknown-linux-gnu",
6
6
  "protocolAbi": 1,
7
7
  "capabilityAbi": 2,
8
8
  "nodeApiAbi": 4,
@@ -16,15 +16,15 @@
16
16
  "platform": "linux",
17
17
  "arch": "x64",
18
18
  "libc": "glibc",
19
- "artifactSha256": "828e4ca1e0aac93c5a3ae1c4f8a306cc7eb306e765ea459cb323359075fe19ec",
19
+ "artifactSha256": "121e0cde6094d4812a1003f5e8d271c73180f87253d242c0ef2a3ce020114fb2",
20
20
  "sbom": {
21
21
  "format": "CycloneDX-1.5",
22
22
  "path": "planu-core.linux-x64-gnu.node.sbom.json",
23
- "sha256": "035c63d02524a08605052a620bdd97d27b07e08db791cd495a39274d74848013"
23
+ "sha256": "2fe67e0205c5a0893ab618f92cbe53b862b286018e30ebd93a4bb35570d9e53f"
24
24
  },
25
25
  "provenance": {
26
26
  "builder": "scripts/build-rust-local.sh",
27
- "sourceCommit": "121065e63e9fd2c067367e286ecba619ecc3f18a",
27
+ "sourceCommit": "cff22e20c8f95a4081485b852254fa5fbe1532ef",
28
28
  "sourceTreeDirty": false,
29
29
  "sourceDateEpoch": 1,
30
30
  "rustToolchain": "rustc 1.95.0 (59807616e 2026-04-14)",
@@ -33,6 +33,6 @@
33
33
  "signature": {
34
34
  "algorithm": "Ed25519",
35
35
  "keyId": "e2ee765cb5ad9fbdc433ece332bce26d746d5e350b3acde0721a4c8c6337ff7b",
36
- "value": "l1u8RhJUsZO4qDxupk9ePmsfzp1AoQ78Qjujkk6HuJ3/3SyFAYSoLVK8L3QnM2kOIzga7fgkHfnk9iz4ebMWDw=="
36
+ "value": "PANQkfk6g7pqHmExCM2voq4U2WCuJX1cbaWm8K4T/QCPNzWE4TmGoG5vQN4k80VCIyjTFz5IA5Ope+XmNhnZCA=="
37
37
  }
38
38
  }