@planu/cli 5.3.18 → 5.3.19

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,3 +1,21 @@
1
+ ## [5.3.19] - 2026-08-11
2
+
3
+ ### Bug Fixes
4
+ - fix(spec-1492): size release budgets to the longest child chain per test
5
+ - fix(spec-1492): coordinate release-harness spawn and test budgets
6
+ - fix(spec-1486): raise load-tolerant timeout budgets in script-gate and heartbeat tests
7
+ - fix(spec-1482): update validate.test.ts lint timeout and message assertions per review
8
+ - fix(spec-1482): honor mid-run lint evidence on timeout and right-size lint caps
9
+
10
+ ### Chores
11
+ - chore(spec-1492): record done transition with review and traceability evidence
12
+ - chore(spec-1486): record done transition with traceability and validation evidence
13
+ - chore(spec-1486): approve arbitrated script-gate timeout spec with dual-review evidence
14
+ - chore(spec-1486): add durable-job-heartbeat beforeAll hookTimeout reproducer
15
+ - chore(spec-1482): record done transition with traceability and validation evidence
16
+ - chore(spec-1482): approve arbitrated lint-gate timeout spec with dual-review evidence
17
+
18
+
1
19
  ## [5.3.18] - 2026-08-11
2
20
 
3
21
  ### Bug Fixes
@@ -14,7 +14,7 @@
14
14
  "maximumOutputBufferBytes": 67108864
15
15
  },
16
16
  "lintValidation": {
17
- "defaultTimeoutMs": 90000,
17
+ "defaultTimeoutMs": 180000,
18
18
  "minimumTimeoutMs": 1000,
19
19
  "maximumTimeoutMs": 1800000
20
20
  },
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "validation": {
30
30
  "defaultDeadlineMs": 1800000,
31
- "durableLintTimeoutMs": 150000,
31
+ "durableLintTimeoutMs": 170000,
32
32
  "perGateTimeoutMs": 180000,
33
33
  "complianceCommandTimeoutMs": 900000,
34
34
  "noProgressTimeoutMs": 960000,
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
- "cliVersion": "5.3.18",
4
- "engineVersion": "5.3.18",
5
- "buildId": "1-5.3.18-aarch64-apple-darwin",
3
+ "cliVersion": "5.3.19",
4
+ "engineVersion": "5.3.19",
5
+ "buildId": "1-5.3.19-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": "5fed530a8afc4fe8dca40839db0eae5d27430c21291c7b4152204a67f69a0f07",
20
+ "artifactSha256": "1f29dabb50c539571c4cd0faa56ddf0229692c0ec2542a15e9ea9124f9ca74e7",
21
21
  "sbom": {
22
22
  "format": "CycloneDX-1.5",
23
23
  "path": "planu-core.darwin-arm64.node.sbom.json",
24
- "sha256": "1667d84a334ea1d0a77aaa2a52fe09e4bddabae03012da6b8a60c36719a50eaf"
24
+ "sha256": "620c8503c3912de3e6b75075689ee5b649c8f6be9962bc21fc8276280b09e279"
25
25
  },
26
26
  "provenance": {
27
27
  "builder": "scripts/build-rust-local.sh",
28
- "sourceCommit": "3c1b6c73402a7d249e53f8805fe8429de38e43ac",
28
+ "sourceCommit": "e9af0aeaf88c4328b735fb324d518b1b1804e948",
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": "CK7fkEl65ZldoIdkXqxFNABEHNghZ2zt/7aIcmmwP2LiwhuYvYL8H4OHFM6aeojGqpgXoia4MXuC12WcACR3Dw=="
37
+ "value": "k9AVxzI04bgfuND1J5nY8MpjxvR6HhT3NGf79eXCj3e0LPkesc0thPA18JeZhiSV7rhHzAG3carMNNCiZ1vfCg=="
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.3.18",
7
+ "bom-ref": "pkg:cargo/planu-core@5.3.19",
8
8
  "type": "library",
9
9
  "name": "planu-core",
10
- "version": "5.3.18",
10
+ "version": "5.3.19",
11
11
  "hashes": [
12
12
  {
13
13
  "alg": "SHA-256",
14
- "content": "5fed530a8afc4fe8dca40839db0eae5d27430c21291c7b4152204a67f69a0f07"
14
+ "content": "1f29dabb50c539571c4cd0faa56ddf0229692c0ec2542a15e9ea9124f9ca74e7"
15
15
  }
16
16
  ]
17
17
  }
@@ -1106,7 +1106,7 @@
1106
1106
  "dependsOn": []
1107
1107
  },
1108
1108
  {
1109
- "ref": "pkg:cargo/planu-core@5.3.18",
1109
+ "ref": "pkg:cargo/planu-core@5.3.19",
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.3.18",
4
- "engineVersion": "5.3.18",
5
- "buildId": "1-5.3.18-x86_64-apple-darwin",
3
+ "cliVersion": "5.3.19",
4
+ "engineVersion": "5.3.19",
5
+ "buildId": "1-5.3.19-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": "8287182c1b0be484146f92ee90db5423295e1bd00b8384660de534dc6e29c49d",
20
+ "artifactSha256": "5bebf7e10b2ee79d20a9ceba9312fbb67cfdd73ab79f95097df688d5a265d2e5",
21
21
  "sbom": {
22
22
  "format": "CycloneDX-1.5",
23
23
  "path": "planu-core.darwin-x64.node.sbom.json",
24
- "sha256": "9514dae23ab932c585e3fec8df947fc144d8f815b2680f2be34291ce97a07f07"
24
+ "sha256": "e089459f8b41d8a9ef8c0e64c5a9b6d862f693c8b1db0cb3415471bf96051f38"
25
25
  },
26
26
  "provenance": {
27
27
  "builder": "scripts/build-rust-local.sh",
28
- "sourceCommit": "3c1b6c73402a7d249e53f8805fe8429de38e43ac",
28
+ "sourceCommit": "e9af0aeaf88c4328b735fb324d518b1b1804e948",
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": "jxjKFUe/Z6Rnmk97m9rMwg8b0I7zQwOWmovYV50P0M0EAjQkaId91vUI76QQaY4DM1NeUgsnqvzj4UtUQrdZAQ=="
37
+ "value": "RoGPcSKkwm8KAccKoWPJDVP4us/idkZTkcoEGHIppoLstMsOhsul77ttEVUimGQQGwW3dEsgPYbppsHiRqBDDA=="
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.3.18",
7
+ "bom-ref": "pkg:cargo/planu-core@5.3.19",
8
8
  "type": "library",
9
9
  "name": "planu-core",
10
- "version": "5.3.18",
10
+ "version": "5.3.19",
11
11
  "hashes": [
12
12
  {
13
13
  "alg": "SHA-256",
14
- "content": "8287182c1b0be484146f92ee90db5423295e1bd00b8384660de534dc6e29c49d"
14
+ "content": "5bebf7e10b2ee79d20a9ceba9312fbb67cfdd73ab79f95097df688d5a265d2e5"
15
15
  }
16
16
  ]
17
17
  }
@@ -1106,7 +1106,7 @@
1106
1106
  "dependsOn": []
1107
1107
  },
1108
1108
  {
1109
- "ref": "pkg:cargo/planu-core@5.3.18",
1109
+ "ref": "pkg:cargo/planu-core@5.3.19",
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.3.18",
4
- "engineVersion": "5.3.18",
5
- "buildId": "1-5.3.18-aarch64-unknown-linux-gnu",
3
+ "cliVersion": "5.3.19",
4
+ "engineVersion": "5.3.19",
5
+ "buildId": "1-5.3.19-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": "2fe96f2baf1f4b811d038cb004bdb59436f6bb18c38cbc0936adf2f3d776f1e0",
19
+ "artifactSha256": "3bae36e956b7ae1000706731713917fdaa24c65ae12907b6852eba1a705accac",
20
20
  "sbom": {
21
21
  "format": "CycloneDX-1.5",
22
22
  "path": "planu-core.linux-arm64-gnu.node.sbom.json",
23
- "sha256": "aaa7a6dc91c4720a456807fc76edc5293e01bb328d4830866500b197661b00c3"
23
+ "sha256": "171d4acf8dccf16b0bf0748ed4fed01a9448fa43a4e50deb007b3cd52185feac"
24
24
  },
25
25
  "provenance": {
26
26
  "builder": "scripts/build-rust-local.sh",
27
- "sourceCommit": "3c1b6c73402a7d249e53f8805fe8429de38e43ac",
27
+ "sourceCommit": "e9af0aeaf88c4328b735fb324d518b1b1804e948",
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": "OZu14HADvXX9A0jSQYjeOqU0dI4MczkRXSHbUfGrKKOY/pLLJkfBDsnsLbs5XgSp/V1oSQQDQ0rsDOCRl2WhBg=="
36
+ "value": "XxTKMBfrdh1tWiGdgZ4bKrI8Ky5c/nP/vuxbK7EC1Aq+YZtioEgCgfBdBI5w4uyw8p1GXoBBhQx9fTIq2pL0Bg=="
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.3.18",
7
+ "bom-ref": "pkg:cargo/planu-core@5.3.19",
8
8
  "type": "library",
9
9
  "name": "planu-core",
10
- "version": "5.3.18",
10
+ "version": "5.3.19",
11
11
  "hashes": [
12
12
  {
13
13
  "alg": "SHA-256",
14
- "content": "2fe96f2baf1f4b811d038cb004bdb59436f6bb18c38cbc0936adf2f3d776f1e0"
14
+ "content": "3bae36e956b7ae1000706731713917fdaa24c65ae12907b6852eba1a705accac"
15
15
  }
16
16
  ]
17
17
  }
@@ -1106,7 +1106,7 @@
1106
1106
  "dependsOn": []
1107
1107
  },
1108
1108
  {
1109
- "ref": "pkg:cargo/planu-core@5.3.18",
1109
+ "ref": "pkg:cargo/planu-core@5.3.19",
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.3.18",
4
- "engineVersion": "5.3.18",
5
- "buildId": "1-5.3.18-aarch64-unknown-linux-musl",
3
+ "cliVersion": "5.3.19",
4
+ "engineVersion": "5.3.19",
5
+ "buildId": "1-5.3.19-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": "5749d44caef4716e9def75bb6d9bf630d6a14bbf2f1630d483036b9a0f7fb244",
19
+ "artifactSha256": "b8ea8cacc4350859fd4fb3bd81c6101e649137c65b6bb5440909bb51d0c37fcb",
20
20
  "sbom": {
21
21
  "format": "CycloneDX-1.5",
22
22
  "path": "planu-core.linux-arm64-musl.node.sbom.json",
23
- "sha256": "206a3e0d16affa390afee3880296b9822d98f31dbd9f2d02e560b14419ecb41c"
23
+ "sha256": "fd28a7413c135a39576a1056a5deead78338371e8073fd20b6abd199845411a2"
24
24
  },
25
25
  "provenance": {
26
26
  "builder": "scripts/build-rust-local.sh",
27
- "sourceCommit": "3c1b6c73402a7d249e53f8805fe8429de38e43ac",
27
+ "sourceCommit": "e9af0aeaf88c4328b735fb324d518b1b1804e948",
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": "cJ2vBlGhEl/fnE+iYdmGff9ghJujeqt77VGbZZJeQWfyB3YcZdf298M9REEQfr7QgQeExyjJHE3l9AExHo3aAg=="
36
+ "value": "o7uTG1xKYJ+riU+mv007RF+WYaEjDsRaO4IZcSe5WPixwGPpRWvwlpLfR48jcAq3WvnLl2a4mgV32OJNiFgRCw=="
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.3.18",
7
+ "bom-ref": "pkg:cargo/planu-core@5.3.19",
8
8
  "type": "library",
9
9
  "name": "planu-core",
10
- "version": "5.3.18",
10
+ "version": "5.3.19",
11
11
  "hashes": [
12
12
  {
13
13
  "alg": "SHA-256",
14
- "content": "5749d44caef4716e9def75bb6d9bf630d6a14bbf2f1630d483036b9a0f7fb244"
14
+ "content": "b8ea8cacc4350859fd4fb3bd81c6101e649137c65b6bb5440909bb51d0c37fcb"
15
15
  }
16
16
  ]
17
17
  }
@@ -1106,7 +1106,7 @@
1106
1106
  "dependsOn": []
1107
1107
  },
1108
1108
  {
1109
- "ref": "pkg:cargo/planu-core@5.3.18",
1109
+ "ref": "pkg:cargo/planu-core@5.3.19",
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.3.18",
4
- "engineVersion": "5.3.18",
5
- "buildId": "1-5.3.18-x86_64-unknown-linux-gnu",
3
+ "cliVersion": "5.3.19",
4
+ "engineVersion": "5.3.19",
5
+ "buildId": "1-5.3.19-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": "ddcf0b909005c6dd5b5833ca2380979f50b11a081b883e449ce044476ef4da90",
19
+ "artifactSha256": "24e74e2c669c2a68b3b35874d6bd65d2b22c51ecc308dde4e203727b45af34ac",
20
20
  "sbom": {
21
21
  "format": "CycloneDX-1.5",
22
22
  "path": "planu-core.linux-x64-gnu.node.sbom.json",
23
- "sha256": "26c6d0f0dd9558bd863fb3bcdc092cb8821ae6635495503d1ca513595a830ed6"
23
+ "sha256": "276a8cafd588761c52939bb47de450d95227b6059768760f20a8897ca4738f3e"
24
24
  },
25
25
  "provenance": {
26
26
  "builder": "scripts/build-rust-local.sh",
27
- "sourceCommit": "3c1b6c73402a7d249e53f8805fe8429de38e43ac",
27
+ "sourceCommit": "e9af0aeaf88c4328b735fb324d518b1b1804e948",
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": "DHqxCc8X0fG9/Obugix+X+KLWWAxiVaw//r9ba1EgVA+kaE2C4nQbFGp+qcYa+XDcjmfHRJudQrf0dTwXI4QCg=="
36
+ "value": "y2qW0O1YsGy1zVa9o85ZsxfAkvkMH1qez8hihVbF2HSoeDoZCKpHBEC3gODewKem4FcerHydbf22hJzw8fQ7Ag=="
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.3.18",
7
+ "bom-ref": "pkg:cargo/planu-core@5.3.19",
8
8
  "type": "library",
9
9
  "name": "planu-core",
10
- "version": "5.3.18",
10
+ "version": "5.3.19",
11
11
  "hashes": [
12
12
  {
13
13
  "alg": "SHA-256",
14
- "content": "ddcf0b909005c6dd5b5833ca2380979f50b11a081b883e449ce044476ef4da90"
14
+ "content": "24e74e2c669c2a68b3b35874d6bd65d2b22c51ecc308dde4e203727b45af34ac"
15
15
  }
16
16
  ]
17
17
  }
@@ -1106,7 +1106,7 @@
1106
1106
  "dependsOn": []
1107
1107
  },
1108
1108
  {
1109
- "ref": "pkg:cargo/planu-core@5.3.18",
1109
+ "ref": "pkg:cargo/planu-core@5.3.19",
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.3.18",
4
- "engineVersion": "5.3.18",
5
- "buildId": "1-5.3.18-x86_64-unknown-linux-musl",
3
+ "cliVersion": "5.3.19",
4
+ "engineVersion": "5.3.19",
5
+ "buildId": "1-5.3.19-x86_64-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": "x64",
18
18
  "libc": "musl",
19
- "artifactSha256": "7d251de39b960c7bcdbfd2770c7a778bdb8fe532a45def6206a5ac4ba349bf89",
19
+ "artifactSha256": "bcf8d3bb268ed20fe1c1b2619e284445303c049108270dc594904f4c962dfd5d",
20
20
  "sbom": {
21
21
  "format": "CycloneDX-1.5",
22
22
  "path": "planu-core.linux-x64-musl.node.sbom.json",
23
- "sha256": "c826c2dabe78e17d3e83788eb69548ff0f06a0c29c1a95d215956562fd63e0ab"
23
+ "sha256": "95d23130209a76b4f1110c40e0a80480edc7e01470b0a8022b486e169ade12dd"
24
24
  },
25
25
  "provenance": {
26
26
  "builder": "scripts/build-rust-local.sh",
27
- "sourceCommit": "3c1b6c73402a7d249e53f8805fe8429de38e43ac",
27
+ "sourceCommit": "e9af0aeaf88c4328b735fb324d518b1b1804e948",
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": "W8mvPSxXSz7L0Ce0N+xQeeqMy0Nx87dcW53m1QmdR7dqSo2S5MsB26XVHn/Yn/QmD4bP2vjEdG1RAYVgh4XgCQ=="
36
+ "value": "n8r1wcRsd2/3j03/G6HQsvBfozDUGYh4r2um6IJY9Lt9fi8DjmQZh8tTDxkIN4AspCa7+ZzLv2w7xGSHd4CnCw=="
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.3.18",
7
+ "bom-ref": "pkg:cargo/planu-core@5.3.19",
8
8
  "type": "library",
9
9
  "name": "planu-core",
10
- "version": "5.3.18",
10
+ "version": "5.3.19",
11
11
  "hashes": [
12
12
  {
13
13
  "alg": "SHA-256",
14
- "content": "7d251de39b960c7bcdbfd2770c7a778bdb8fe532a45def6206a5ac4ba349bf89"
14
+ "content": "bcf8d3bb268ed20fe1c1b2619e284445303c049108270dc594904f4c962dfd5d"
15
15
  }
16
16
  ]
17
17
  }
@@ -1106,7 +1106,7 @@
1106
1106
  "dependsOn": []
1107
1107
  },
1108
1108
  {
1109
- "ref": "pkg:cargo/planu-core@5.3.18",
1109
+ "ref": "pkg:cargo/planu-core@5.3.19",
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.3.18",
4
- "engineVersion": "5.3.18",
5
- "buildId": "1-5.3.18-aarch64-pc-windows-msvc",
3
+ "cliVersion": "5.3.19",
4
+ "engineVersion": "5.3.19",
5
+ "buildId": "1-5.3.19-aarch64-pc-windows-msvc",
6
6
  "protocolAbi": 1,
7
7
  "capabilityAbi": 2,
8
8
  "nodeApiAbi": 4,
@@ -16,15 +16,15 @@
16
16
  "platform": "win32",
17
17
  "arch": "arm64",
18
18
  "libc": null,
19
- "artifactSha256": "43386818ebe7d5acac484fa8e4a38a8508b7b2baa17b421d1720a5133ae25022",
19
+ "artifactSha256": "cd4ce0597447372d8e88d0e4f64e02d249691e956775f7f37d5688f0f5bb2c96",
20
20
  "sbom": {
21
21
  "format": "CycloneDX-1.5",
22
22
  "path": "planu-core.win32-arm64-msvc.node.sbom.json",
23
- "sha256": "b4571ec45d947374617a7f4315c1be522111e9ad49f63023febdef3d4c6e3fb1"
23
+ "sha256": "e6d80cbdbac2a647206fa053b628d045a5529393cb44821d67cd35e569ced76d"
24
24
  },
25
25
  "provenance": {
26
26
  "builder": "scripts/build-rust-local.sh",
27
- "sourceCommit": "3c1b6c73402a7d249e53f8805fe8429de38e43ac",
27
+ "sourceCommit": "e9af0aeaf88c4328b735fb324d518b1b1804e948",
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": "kWkreQpknVVatNtjxmRVdggvQnemK2iIIrcHwZqwISsdPfmnXLHv+X0LmJlpOs1rqXh85FIAJmm2Z6Dz+9YkAw=="
36
+ "value": "Q6ts91GmwqdSwLe1GvNRHFSsCGykhIzWc5O3IwpHnNZFfDz3LTH2Ja0Fxb/k7FSHpz4UyYnmPt3HwB/6j7y/AQ=="
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.3.18",
7
+ "bom-ref": "pkg:cargo/planu-core@5.3.19",
8
8
  "type": "library",
9
9
  "name": "planu-core",
10
- "version": "5.3.18",
10
+ "version": "5.3.19",
11
11
  "hashes": [
12
12
  {
13
13
  "alg": "SHA-256",
14
- "content": "43386818ebe7d5acac484fa8e4a38a8508b7b2baa17b421d1720a5133ae25022"
14
+ "content": "cd4ce0597447372d8e88d0e4f64e02d249691e956775f7f37d5688f0f5bb2c96"
15
15
  }
16
16
  ]
17
17
  }
@@ -1106,7 +1106,7 @@
1106
1106
  "dependsOn": []
1107
1107
  },
1108
1108
  {
1109
- "ref": "pkg:cargo/planu-core@5.3.18",
1109
+ "ref": "pkg:cargo/planu-core@5.3.19",
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.3.18",
4
- "engineVersion": "5.3.18",
5
- "buildId": "1-5.3.18-x86_64-pc-windows-msvc",
3
+ "cliVersion": "5.3.19",
4
+ "engineVersion": "5.3.19",
5
+ "buildId": "1-5.3.19-x86_64-pc-windows-msvc",
6
6
  "protocolAbi": 1,
7
7
  "capabilityAbi": 2,
8
8
  "nodeApiAbi": 4,
@@ -16,15 +16,15 @@
16
16
  "platform": "win32",
17
17
  "arch": "x64",
18
18
  "libc": null,
19
- "artifactSha256": "017329ba941530655f52d8bfda224dc64da19fd998af72a4047e4f8837116b81",
19
+ "artifactSha256": "52f66ae85f8307c276934133b19976072b258cdb4f94d961d57576236ab3022c",
20
20
  "sbom": {
21
21
  "format": "CycloneDX-1.5",
22
22
  "path": "planu-core.win32-x64-msvc.node.sbom.json",
23
- "sha256": "5f6b8d9d3df9dac089f07f3e96c6e8c3d456db7f23fba6f051bea23bdb463e20"
23
+ "sha256": "bb2a21e048c3c9eaa0b97a637028c4380383188ea5250744970b5e7e7951deb1"
24
24
  },
25
25
  "provenance": {
26
26
  "builder": "scripts/build-rust-local.sh",
27
- "sourceCommit": "3c1b6c73402a7d249e53f8805fe8429de38e43ac",
27
+ "sourceCommit": "e9af0aeaf88c4328b735fb324d518b1b1804e948",
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": "n05uJoOniOELxpoTVp25r7wDI1U+Z2hu6VI9mkxXLvBFGcPhWeoGJ1W+igcNkEiOA26Ihn88fGsT04ALFHntCQ=="
36
+ "value": "gP3XXy5qnghDAD21CrkLi1sw/adG+TqD1e/bxdAucDMc9+piwOyosQZe3+Ou/wYTZKgZddL2iZnHJzUA1FlDAA=="
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.3.18",
7
+ "bom-ref": "pkg:cargo/planu-core@5.3.19",
8
8
  "type": "library",
9
9
  "name": "planu-core",
10
- "version": "5.3.18",
10
+ "version": "5.3.19",
11
11
  "hashes": [
12
12
  {
13
13
  "alg": "SHA-256",
14
- "content": "017329ba941530655f52d8bfda224dc64da19fd998af72a4047e4f8837116b81"
14
+ "content": "52f66ae85f8307c276934133b19976072b258cdb4f94d961d57576236ab3022c"
15
15
  }
16
16
  ]
17
17
  }
@@ -1106,7 +1106,7 @@
1106
1106
  "dependsOn": []
1107
1107
  },
1108
1108
  {
1109
- "ref": "pkg:cargo/planu-core@5.3.18",
1109
+ "ref": "pkg:cargo/planu-core@5.3.19",
1110
1110
  "dependsOn": [
1111
1111
  "pkg:cargo/core-foundation@0.10.1",
1112
1112
  "pkg:cargo/hmac@0.12.1",
@@ -110,9 +110,21 @@ export async function runLintCheck(projectPath, lintCommand, context = {}) {
110
110
  catch (err) {
111
111
  if (isCommandTimeout(err)) {
112
112
  const seconds = Math.round(timeoutMs / 1000);
113
- const output = `Lint command timed out after ${String(seconds)}s and was skipped so validate can complete within MCP request limits. ` +
114
- `Run \`${plan.executedCommand}\` manually before marking the spec done, or set PLANU_VALIDATE_LINT_TIMEOUT_MS for an explicit full lint pass.`;
115
113
  console.warn(`[Planu] lintCheck timed out: command="${plan.executedCommand}" cwd="${projectPath}" timeoutMs=${String(timeoutMs)}`);
114
+ if (context.projectId) {
115
+ const receipt = readMatchingValidationEvidence(context.projectId, evidenceInput);
116
+ if (receipt) {
117
+ return {
118
+ passed: true,
119
+ command,
120
+ issueCount: 0,
121
+ output: `(reused lint evidence ${receipt.key} recorded ${receipt.completedAt} after in-run timeout)`,
122
+ };
123
+ }
124
+ }
125
+ const output = `Lint gate failed: lint timed out after ${String(seconds)}s and could not be verified. ` +
126
+ 'Validate reuses recorded lint evidence for an unchanged tree on the next run, so re-running validate after a successful in-process lint pass clears the gate. ' +
127
+ 'PLANU_VALIDATE_LINT_TIMEOUT_MS only applies when the MCP server process is started with it set.';
116
128
  if (context.projectId) {
117
129
  recordValidationOutcome({
118
130
  projectId: context.projectId,
@@ -123,8 +135,8 @@ export async function runLintCheck(projectPath, lintCommand, context = {}) {
123
135
  durationMs: timeoutMs,
124
136
  output,
125
137
  reason: context.specId
126
- ? `Lint exceeded its deadline while validating ${context.specId}; the degraded result is non-blocking.`
127
- : 'Lint exceeded its canonical deadline; the degraded result is non-blocking.',
138
+ ? `Lint exceeded its deadline while validating ${context.specId}; the gate remains failing until lint evidence exists.`
139
+ : 'Lint exceeded its canonical deadline; the gate remains failing until lint evidence exists.',
128
140
  source: 'local:planu-validate',
129
141
  });
130
142
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planu/cli",
3
- "version": "5.3.18",
3
+ "version": "5.3.19",
4
4
  "description": "Planu — MCP Server for Spec Driven Development with native Rust acceleration for hot paths. Cross-platform (Linux/macOS/Windows, x64/arm64, glibc/musl).",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -35,14 +35,14 @@
35
35
  "packageName": "@planu/core"
36
36
  },
37
37
  "optionalDependencies": {
38
- "@planu/core-darwin-arm64": "5.3.18",
39
- "@planu/core-darwin-x64": "5.3.18",
40
- "@planu/core-linux-arm64-gnu": "5.3.18",
41
- "@planu/core-linux-arm64-musl": "5.3.18",
42
- "@planu/core-linux-x64-gnu": "5.3.18",
43
- "@planu/core-linux-x64-musl": "5.3.18",
44
- "@planu/core-win32-arm64-msvc": "5.3.18",
45
- "@planu/core-win32-x64-msvc": "5.3.18"
38
+ "@planu/core-darwin-arm64": "5.3.19",
39
+ "@planu/core-darwin-x64": "5.3.19",
40
+ "@planu/core-linux-arm64-gnu": "5.3.19",
41
+ "@planu/core-linux-arm64-musl": "5.3.19",
42
+ "@planu/core-linux-x64-gnu": "5.3.19",
43
+ "@planu/core-linux-x64-musl": "5.3.19",
44
+ "@planu/core-win32-arm64-msvc": "5.3.19",
45
+ "@planu/core-win32-x64-msvc": "5.3.19"
46
46
  },
47
47
  "engines": {
48
48
  "node": ">=24.0.0"
package/planu-native.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dev.planu.native",
3
3
  "displayName": "Planu Native Lightweight Surface",
4
- "version": "5.3.18",
4
+ "version": "5.3.19",
5
5
  "packageName": "@planu/cli",
6
6
  "modes": {
7
7
  "lightweight": {
package/planu-plugin.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "dev.planu.cli",
3
3
  "displayName": "Planu — Spec Driven Development",
4
4
  "description": "Manage software specs, estimations, and autonomous SDD workflows. Language-agnostic MCP server for Claude Code.",
5
- "version": "5.3.18",
5
+ "version": "5.3.19",
6
6
  "icon": "assets/plugin/icon.svg",
7
7
  "command": ["npx", "@planu/cli@latest"],
8
8
  "packageName": "@planu/cli",