@planu/cli 5.3.13 → 5.3.15
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 +30 -0
- package/dist/engine/cascade-hooks/hooks/housekeeping-on-done.hook.js +2 -3
- package/dist/engine/handoff-packager.d.ts +2 -2
- package/dist/engine/handoff-packager.js +5 -4
- package/dist/engine/housekeeping/find-stale-branches.d.ts +3 -3
- package/dist/engine/housekeeping/find-stale-branches.js +25 -29
- package/dist/engine/housekeeping/sweep-runner.js +105 -19
- package/dist/engine/planu-core.darwin-arm64.node.manifest.json +7 -7
- package/dist/engine/planu-core.darwin-arm64.node.sbom.json +8 -8
- package/dist/engine/planu-core.darwin-x64.node.manifest.json +7 -7
- package/dist/engine/planu-core.darwin-x64.node.sbom.json +8 -8
- package/dist/engine/planu-core.linux-arm64-gnu.node.manifest.json +7 -7
- package/dist/engine/planu-core.linux-arm64-gnu.node.sbom.json +8 -8
- package/dist/engine/planu-core.linux-arm64-musl.node.manifest.json +7 -7
- package/dist/engine/planu-core.linux-arm64-musl.node.sbom.json +8 -8
- package/dist/engine/planu-core.linux-x64-gnu.node.manifest.json +7 -7
- package/dist/engine/planu-core.linux-x64-gnu.node.sbom.json +8 -8
- package/dist/engine/planu-core.linux-x64-musl.node.manifest.json +7 -7
- package/dist/engine/planu-core.linux-x64-musl.node.sbom.json +8 -8
- package/dist/engine/planu-core.win32-arm64-msvc.node.manifest.json +7 -7
- package/dist/engine/planu-core.win32-arm64-msvc.node.sbom.json +8 -8
- package/dist/engine/planu-core.win32-x64-msvc.node.manifest.json +7 -7
- package/dist/engine/planu-core.win32-x64-msvc.node.sbom.json +8 -8
- package/dist/engine/spec-migrator/planu-root-cleaner.d.ts +2 -2
- package/dist/engine/spec-migrator/planu-root-cleaner.js +3 -2
- package/dist/engine/spec-migrator/strict-planu-cleanup.d.ts +2 -2
- package/dist/engine/spec-migrator/strict-planu-cleanup.js +18 -2
- package/dist/tools/git/cleanup-ops.d.ts +2 -2
- package/dist/tools/git/cleanup-ops.js +123 -58
- package/dist/tools/github-release-handler.js +3 -12
- package/dist/tools/housekeeping-sweep.d.ts +1 -0
- package/dist/tools/housekeeping-sweep.js +17 -10
- package/dist/tools/init-project/git-setup.d.ts +1 -0
- package/dist/tools/init-project/git-setup.js +7 -23
- package/dist/tools/init-project/handler.js +4 -1
- package/dist/tools/init-project/migration-runner.js +8 -1
- package/dist/tools/init-project/scaffold-writer.d.ts +1 -0
- package/dist/tools/init-project/scaffold-writer.js +1 -0
- package/dist/tools/update-status/batch.js +1 -1
- package/dist/tools/update-status/index.js +1 -0
- package/dist/tools/update-status-actions.d.ts +2 -2
- package/dist/tools/update-status-actions.js +20 -10
- package/dist/types/git.d.ts +19 -0
- package/dist/types/housekeeping.d.ts +9 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/spec-format.d.ts +3 -0
- package/package.json +11 -10
- package/planu-native.json +1 -1
- package/planu-plugin.json +1 -1
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
"version": 1,
|
|
5
5
|
"metadata": {
|
|
6
6
|
"component": {
|
|
7
|
-
"bom-ref": "pkg:cargo/planu-core@5.3.
|
|
7
|
+
"bom-ref": "pkg:cargo/planu-core@5.3.15",
|
|
8
8
|
"type": "library",
|
|
9
9
|
"name": "planu-core",
|
|
10
|
-
"version": "5.3.
|
|
10
|
+
"version": "5.3.15",
|
|
11
11
|
"hashes": [
|
|
12
12
|
{
|
|
13
13
|
"alg": "SHA-256",
|
|
14
|
-
"content": "
|
|
14
|
+
"content": "01ea24db6f97e97faeef630279a6ee999acb4a7562771459a2423a7598304253"
|
|
15
15
|
}
|
|
16
16
|
]
|
|
17
17
|
}
|
|
@@ -70,9 +70,9 @@
|
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
72
|
"type": "library",
|
|
73
|
-
"bom-ref": "pkg:cargo/bstr@1.13.
|
|
73
|
+
"bom-ref": "pkg:cargo/bstr@1.13.1",
|
|
74
74
|
"name": "bstr",
|
|
75
|
-
"version": "1.13.
|
|
75
|
+
"version": "1.13.1",
|
|
76
76
|
"externalReferences": [
|
|
77
77
|
{
|
|
78
78
|
"type": "distribution",
|
|
@@ -971,7 +971,7 @@
|
|
|
971
971
|
]
|
|
972
972
|
},
|
|
973
973
|
{
|
|
974
|
-
"ref": "pkg:cargo/bstr@1.13.
|
|
974
|
+
"ref": "pkg:cargo/bstr@1.13.1",
|
|
975
975
|
"dependsOn": [
|
|
976
976
|
"pkg:cargo/memchr@2.8.3",
|
|
977
977
|
"pkg:cargo/serde_core@1.0.228"
|
|
@@ -1049,7 +1049,7 @@
|
|
|
1049
1049
|
"ref": "pkg:cargo/globset@0.4.20",
|
|
1050
1050
|
"dependsOn": [
|
|
1051
1051
|
"pkg:cargo/aho-corasick@1.1.5",
|
|
1052
|
-
"pkg:cargo/bstr@1.13.
|
|
1052
|
+
"pkg:cargo/bstr@1.13.1",
|
|
1053
1053
|
"pkg:cargo/log@0.4.33",
|
|
1054
1054
|
"pkg:cargo/regex-automata@0.4.18",
|
|
1055
1055
|
"pkg:cargo/regex-syntax@0.8.11"
|
|
@@ -1106,7 +1106,7 @@
|
|
|
1106
1106
|
"dependsOn": []
|
|
1107
1107
|
},
|
|
1108
1108
|
{
|
|
1109
|
-
"ref": "pkg:cargo/planu-core@5.3.
|
|
1109
|
+
"ref": "pkg:cargo/planu-core@5.3.15",
|
|
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.
|
|
4
|
-
"engineVersion": "5.3.
|
|
5
|
-
"buildId": "1-5.3.
|
|
3
|
+
"cliVersion": "5.3.15",
|
|
4
|
+
"engineVersion": "5.3.15",
|
|
5
|
+
"buildId": "1-5.3.15-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": "
|
|
19
|
+
"artifactSha256": "77906aaa7ef35468fae4f48928d7fe427f6b42134f6ba27b7b10852a904a9063",
|
|
20
20
|
"sbom": {
|
|
21
21
|
"format": "CycloneDX-1.5",
|
|
22
22
|
"path": "planu-core.linux-arm64-musl.node.sbom.json",
|
|
23
|
-
"sha256": "
|
|
23
|
+
"sha256": "03b4827b05fb040843d38ede98208022adce12d8c584a6f4a909eab71d18b439"
|
|
24
24
|
},
|
|
25
25
|
"provenance": {
|
|
26
26
|
"builder": "scripts/build-rust-local.sh",
|
|
27
|
-
"sourceCommit": "
|
|
27
|
+
"sourceCommit": "14948c630bfb7a355391c10563934cc79e8bb167",
|
|
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": "
|
|
36
|
+
"value": "cK02P++x9IPGghpCbgzJx1roAidXZtDiELr8LDUtD6JfRGvOf6l3VwX+Lvd+cSz/dLK1cosRIjoeZFovhbTnDg=="
|
|
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.
|
|
7
|
+
"bom-ref": "pkg:cargo/planu-core@5.3.15",
|
|
8
8
|
"type": "library",
|
|
9
9
|
"name": "planu-core",
|
|
10
|
-
"version": "5.3.
|
|
10
|
+
"version": "5.3.15",
|
|
11
11
|
"hashes": [
|
|
12
12
|
{
|
|
13
13
|
"alg": "SHA-256",
|
|
14
|
-
"content": "
|
|
14
|
+
"content": "77906aaa7ef35468fae4f48928d7fe427f6b42134f6ba27b7b10852a904a9063"
|
|
15
15
|
}
|
|
16
16
|
]
|
|
17
17
|
}
|
|
@@ -70,9 +70,9 @@
|
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
72
|
"type": "library",
|
|
73
|
-
"bom-ref": "pkg:cargo/bstr@1.13.
|
|
73
|
+
"bom-ref": "pkg:cargo/bstr@1.13.1",
|
|
74
74
|
"name": "bstr",
|
|
75
|
-
"version": "1.13.
|
|
75
|
+
"version": "1.13.1",
|
|
76
76
|
"externalReferences": [
|
|
77
77
|
{
|
|
78
78
|
"type": "distribution",
|
|
@@ -971,7 +971,7 @@
|
|
|
971
971
|
]
|
|
972
972
|
},
|
|
973
973
|
{
|
|
974
|
-
"ref": "pkg:cargo/bstr@1.13.
|
|
974
|
+
"ref": "pkg:cargo/bstr@1.13.1",
|
|
975
975
|
"dependsOn": [
|
|
976
976
|
"pkg:cargo/memchr@2.8.3",
|
|
977
977
|
"pkg:cargo/serde_core@1.0.228"
|
|
@@ -1049,7 +1049,7 @@
|
|
|
1049
1049
|
"ref": "pkg:cargo/globset@0.4.20",
|
|
1050
1050
|
"dependsOn": [
|
|
1051
1051
|
"pkg:cargo/aho-corasick@1.1.5",
|
|
1052
|
-
"pkg:cargo/bstr@1.13.
|
|
1052
|
+
"pkg:cargo/bstr@1.13.1",
|
|
1053
1053
|
"pkg:cargo/log@0.4.33",
|
|
1054
1054
|
"pkg:cargo/regex-automata@0.4.18",
|
|
1055
1055
|
"pkg:cargo/regex-syntax@0.8.11"
|
|
@@ -1106,7 +1106,7 @@
|
|
|
1106
1106
|
"dependsOn": []
|
|
1107
1107
|
},
|
|
1108
1108
|
{
|
|
1109
|
-
"ref": "pkg:cargo/planu-core@5.3.
|
|
1109
|
+
"ref": "pkg:cargo/planu-core@5.3.15",
|
|
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.
|
|
4
|
-
"engineVersion": "5.3.
|
|
5
|
-
"buildId": "1-5.3.
|
|
3
|
+
"cliVersion": "5.3.15",
|
|
4
|
+
"engineVersion": "5.3.15",
|
|
5
|
+
"buildId": "1-5.3.15-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": "
|
|
19
|
+
"artifactSha256": "ef2493926703d865ea8673d8357a238058a32a64325050d3880518d8884f25f2",
|
|
20
20
|
"sbom": {
|
|
21
21
|
"format": "CycloneDX-1.5",
|
|
22
22
|
"path": "planu-core.linux-x64-gnu.node.sbom.json",
|
|
23
|
-
"sha256": "
|
|
23
|
+
"sha256": "c9934e8615cac53687cc3de64ba400212a12aa8653cb320f9435c131fde66026"
|
|
24
24
|
},
|
|
25
25
|
"provenance": {
|
|
26
26
|
"builder": "scripts/build-rust-local.sh",
|
|
27
|
-
"sourceCommit": "
|
|
27
|
+
"sourceCommit": "14948c630bfb7a355391c10563934cc79e8bb167",
|
|
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": "
|
|
36
|
+
"value": "AfBRj+G23Cdv1PqCjbZHpYdDXB5LW1JcgIbwcMstlFPhrv8ln9HTsyVOCE1PVl1ZeKMGP2YsTqgQj+XJb7tfBw=="
|
|
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.
|
|
7
|
+
"bom-ref": "pkg:cargo/planu-core@5.3.15",
|
|
8
8
|
"type": "library",
|
|
9
9
|
"name": "planu-core",
|
|
10
|
-
"version": "5.3.
|
|
10
|
+
"version": "5.3.15",
|
|
11
11
|
"hashes": [
|
|
12
12
|
{
|
|
13
13
|
"alg": "SHA-256",
|
|
14
|
-
"content": "
|
|
14
|
+
"content": "ef2493926703d865ea8673d8357a238058a32a64325050d3880518d8884f25f2"
|
|
15
15
|
}
|
|
16
16
|
]
|
|
17
17
|
}
|
|
@@ -70,9 +70,9 @@
|
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
72
|
"type": "library",
|
|
73
|
-
"bom-ref": "pkg:cargo/bstr@1.13.
|
|
73
|
+
"bom-ref": "pkg:cargo/bstr@1.13.1",
|
|
74
74
|
"name": "bstr",
|
|
75
|
-
"version": "1.13.
|
|
75
|
+
"version": "1.13.1",
|
|
76
76
|
"externalReferences": [
|
|
77
77
|
{
|
|
78
78
|
"type": "distribution",
|
|
@@ -971,7 +971,7 @@
|
|
|
971
971
|
]
|
|
972
972
|
},
|
|
973
973
|
{
|
|
974
|
-
"ref": "pkg:cargo/bstr@1.13.
|
|
974
|
+
"ref": "pkg:cargo/bstr@1.13.1",
|
|
975
975
|
"dependsOn": [
|
|
976
976
|
"pkg:cargo/memchr@2.8.3",
|
|
977
977
|
"pkg:cargo/serde_core@1.0.228"
|
|
@@ -1049,7 +1049,7 @@
|
|
|
1049
1049
|
"ref": "pkg:cargo/globset@0.4.20",
|
|
1050
1050
|
"dependsOn": [
|
|
1051
1051
|
"pkg:cargo/aho-corasick@1.1.5",
|
|
1052
|
-
"pkg:cargo/bstr@1.13.
|
|
1052
|
+
"pkg:cargo/bstr@1.13.1",
|
|
1053
1053
|
"pkg:cargo/log@0.4.33",
|
|
1054
1054
|
"pkg:cargo/regex-automata@0.4.18",
|
|
1055
1055
|
"pkg:cargo/regex-syntax@0.8.11"
|
|
@@ -1106,7 +1106,7 @@
|
|
|
1106
1106
|
"dependsOn": []
|
|
1107
1107
|
},
|
|
1108
1108
|
{
|
|
1109
|
-
"ref": "pkg:cargo/planu-core@5.3.
|
|
1109
|
+
"ref": "pkg:cargo/planu-core@5.3.15",
|
|
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.
|
|
4
|
-
"engineVersion": "5.3.
|
|
5
|
-
"buildId": "1-5.3.
|
|
3
|
+
"cliVersion": "5.3.15",
|
|
4
|
+
"engineVersion": "5.3.15",
|
|
5
|
+
"buildId": "1-5.3.15-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": "
|
|
19
|
+
"artifactSha256": "be770ad8fff0c70d1adf1599af7b60a9e0055e133890476e08e04c88c3f28c69",
|
|
20
20
|
"sbom": {
|
|
21
21
|
"format": "CycloneDX-1.5",
|
|
22
22
|
"path": "planu-core.linux-x64-musl.node.sbom.json",
|
|
23
|
-
"sha256": "
|
|
23
|
+
"sha256": "efd3cf900ecd753f0bee1eba0c6ecc8bd21d4f405e5d346f0fbe58972cf65da4"
|
|
24
24
|
},
|
|
25
25
|
"provenance": {
|
|
26
26
|
"builder": "scripts/build-rust-local.sh",
|
|
27
|
-
"sourceCommit": "
|
|
27
|
+
"sourceCommit": "14948c630bfb7a355391c10563934cc79e8bb167",
|
|
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": "
|
|
36
|
+
"value": "tiDSdVl5hTKNRg88FbcmEwUh4rXFh7OGfMzb9fV3BqwBAwSA/XktD4rXe4YZyBy75Kebo11zW+gp3DMnf+KECA=="
|
|
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.
|
|
7
|
+
"bom-ref": "pkg:cargo/planu-core@5.3.15",
|
|
8
8
|
"type": "library",
|
|
9
9
|
"name": "planu-core",
|
|
10
|
-
"version": "5.3.
|
|
10
|
+
"version": "5.3.15",
|
|
11
11
|
"hashes": [
|
|
12
12
|
{
|
|
13
13
|
"alg": "SHA-256",
|
|
14
|
-
"content": "
|
|
14
|
+
"content": "be770ad8fff0c70d1adf1599af7b60a9e0055e133890476e08e04c88c3f28c69"
|
|
15
15
|
}
|
|
16
16
|
]
|
|
17
17
|
}
|
|
@@ -70,9 +70,9 @@
|
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
72
|
"type": "library",
|
|
73
|
-
"bom-ref": "pkg:cargo/bstr@1.13.
|
|
73
|
+
"bom-ref": "pkg:cargo/bstr@1.13.1",
|
|
74
74
|
"name": "bstr",
|
|
75
|
-
"version": "1.13.
|
|
75
|
+
"version": "1.13.1",
|
|
76
76
|
"externalReferences": [
|
|
77
77
|
{
|
|
78
78
|
"type": "distribution",
|
|
@@ -971,7 +971,7 @@
|
|
|
971
971
|
]
|
|
972
972
|
},
|
|
973
973
|
{
|
|
974
|
-
"ref": "pkg:cargo/bstr@1.13.
|
|
974
|
+
"ref": "pkg:cargo/bstr@1.13.1",
|
|
975
975
|
"dependsOn": [
|
|
976
976
|
"pkg:cargo/memchr@2.8.3",
|
|
977
977
|
"pkg:cargo/serde_core@1.0.228"
|
|
@@ -1049,7 +1049,7 @@
|
|
|
1049
1049
|
"ref": "pkg:cargo/globset@0.4.20",
|
|
1050
1050
|
"dependsOn": [
|
|
1051
1051
|
"pkg:cargo/aho-corasick@1.1.5",
|
|
1052
|
-
"pkg:cargo/bstr@1.13.
|
|
1052
|
+
"pkg:cargo/bstr@1.13.1",
|
|
1053
1053
|
"pkg:cargo/log@0.4.33",
|
|
1054
1054
|
"pkg:cargo/regex-automata@0.4.18",
|
|
1055
1055
|
"pkg:cargo/regex-syntax@0.8.11"
|
|
@@ -1106,7 +1106,7 @@
|
|
|
1106
1106
|
"dependsOn": []
|
|
1107
1107
|
},
|
|
1108
1108
|
{
|
|
1109
|
-
"ref": "pkg:cargo/planu-core@5.3.
|
|
1109
|
+
"ref": "pkg:cargo/planu-core@5.3.15",
|
|
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.
|
|
4
|
-
"engineVersion": "5.3.
|
|
5
|
-
"buildId": "1-5.3.
|
|
3
|
+
"cliVersion": "5.3.15",
|
|
4
|
+
"engineVersion": "5.3.15",
|
|
5
|
+
"buildId": "1-5.3.15-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": "
|
|
19
|
+
"artifactSha256": "583b397fb748d8ce083c4b7d412800789e8b08d6cfcdf51dbb00ca8f16b790c3",
|
|
20
20
|
"sbom": {
|
|
21
21
|
"format": "CycloneDX-1.5",
|
|
22
22
|
"path": "planu-core.win32-arm64-msvc.node.sbom.json",
|
|
23
|
-
"sha256": "
|
|
23
|
+
"sha256": "ed94ce39f49489d682bc80cce95eb3ef04bafd64ed7fd7d8ea6def8b12c9a458"
|
|
24
24
|
},
|
|
25
25
|
"provenance": {
|
|
26
26
|
"builder": "scripts/build-rust-local.sh",
|
|
27
|
-
"sourceCommit": "
|
|
27
|
+
"sourceCommit": "14948c630bfb7a355391c10563934cc79e8bb167",
|
|
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": "
|
|
36
|
+
"value": "gaOwCaYMRwh0TEujBu7Rabl255fJETQEAo4i+NFVpamCPo5YWa2sknnxsbm/ZM4iX9YLD1W5S1MeYFUcwVrIAg=="
|
|
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.
|
|
7
|
+
"bom-ref": "pkg:cargo/planu-core@5.3.15",
|
|
8
8
|
"type": "library",
|
|
9
9
|
"name": "planu-core",
|
|
10
|
-
"version": "5.3.
|
|
10
|
+
"version": "5.3.15",
|
|
11
11
|
"hashes": [
|
|
12
12
|
{
|
|
13
13
|
"alg": "SHA-256",
|
|
14
|
-
"content": "
|
|
14
|
+
"content": "583b397fb748d8ce083c4b7d412800789e8b08d6cfcdf51dbb00ca8f16b790c3"
|
|
15
15
|
}
|
|
16
16
|
]
|
|
17
17
|
}
|
|
@@ -70,9 +70,9 @@
|
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
72
|
"type": "library",
|
|
73
|
-
"bom-ref": "pkg:cargo/bstr@1.13.
|
|
73
|
+
"bom-ref": "pkg:cargo/bstr@1.13.1",
|
|
74
74
|
"name": "bstr",
|
|
75
|
-
"version": "1.13.
|
|
75
|
+
"version": "1.13.1",
|
|
76
76
|
"externalReferences": [
|
|
77
77
|
{
|
|
78
78
|
"type": "distribution",
|
|
@@ -971,7 +971,7 @@
|
|
|
971
971
|
]
|
|
972
972
|
},
|
|
973
973
|
{
|
|
974
|
-
"ref": "pkg:cargo/bstr@1.13.
|
|
974
|
+
"ref": "pkg:cargo/bstr@1.13.1",
|
|
975
975
|
"dependsOn": [
|
|
976
976
|
"pkg:cargo/memchr@2.8.3",
|
|
977
977
|
"pkg:cargo/serde_core@1.0.228"
|
|
@@ -1049,7 +1049,7 @@
|
|
|
1049
1049
|
"ref": "pkg:cargo/globset@0.4.20",
|
|
1050
1050
|
"dependsOn": [
|
|
1051
1051
|
"pkg:cargo/aho-corasick@1.1.5",
|
|
1052
|
-
"pkg:cargo/bstr@1.13.
|
|
1052
|
+
"pkg:cargo/bstr@1.13.1",
|
|
1053
1053
|
"pkg:cargo/log@0.4.33",
|
|
1054
1054
|
"pkg:cargo/regex-automata@0.4.18",
|
|
1055
1055
|
"pkg:cargo/regex-syntax@0.8.11"
|
|
@@ -1106,7 +1106,7 @@
|
|
|
1106
1106
|
"dependsOn": []
|
|
1107
1107
|
},
|
|
1108
1108
|
{
|
|
1109
|
-
"ref": "pkg:cargo/planu-core@5.3.
|
|
1109
|
+
"ref": "pkg:cargo/planu-core@5.3.15",
|
|
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.
|
|
4
|
-
"engineVersion": "5.3.
|
|
5
|
-
"buildId": "1-5.3.
|
|
3
|
+
"cliVersion": "5.3.15",
|
|
4
|
+
"engineVersion": "5.3.15",
|
|
5
|
+
"buildId": "1-5.3.15-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": "
|
|
19
|
+
"artifactSha256": "612e2d929b12f1011da69ddcc598cbd251123294b52cfe7c04cd921e18d46ad7",
|
|
20
20
|
"sbom": {
|
|
21
21
|
"format": "CycloneDX-1.5",
|
|
22
22
|
"path": "planu-core.win32-x64-msvc.node.sbom.json",
|
|
23
|
-
"sha256": "
|
|
23
|
+
"sha256": "b6f3af124aeadba537605434bc406ac76f0bd798244edfbe31566b5011989207"
|
|
24
24
|
},
|
|
25
25
|
"provenance": {
|
|
26
26
|
"builder": "scripts/build-rust-local.sh",
|
|
27
|
-
"sourceCommit": "
|
|
27
|
+
"sourceCommit": "14948c630bfb7a355391c10563934cc79e8bb167",
|
|
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": "
|
|
36
|
+
"value": "2W3TfOtk1zUPWqx2o2a9DmJPT1rSEBL0kLVOrZfggV/B/hEWC5KgLZs0Cy9w6kE5QeWTeGQZ1spl12XVCdAZDQ=="
|
|
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.
|
|
7
|
+
"bom-ref": "pkg:cargo/planu-core@5.3.15",
|
|
8
8
|
"type": "library",
|
|
9
9
|
"name": "planu-core",
|
|
10
|
-
"version": "5.3.
|
|
10
|
+
"version": "5.3.15",
|
|
11
11
|
"hashes": [
|
|
12
12
|
{
|
|
13
13
|
"alg": "SHA-256",
|
|
14
|
-
"content": "
|
|
14
|
+
"content": "612e2d929b12f1011da69ddcc598cbd251123294b52cfe7c04cd921e18d46ad7"
|
|
15
15
|
}
|
|
16
16
|
]
|
|
17
17
|
}
|
|
@@ -70,9 +70,9 @@
|
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
72
|
"type": "library",
|
|
73
|
-
"bom-ref": "pkg:cargo/bstr@1.13.
|
|
73
|
+
"bom-ref": "pkg:cargo/bstr@1.13.1",
|
|
74
74
|
"name": "bstr",
|
|
75
|
-
"version": "1.13.
|
|
75
|
+
"version": "1.13.1",
|
|
76
76
|
"externalReferences": [
|
|
77
77
|
{
|
|
78
78
|
"type": "distribution",
|
|
@@ -971,7 +971,7 @@
|
|
|
971
971
|
]
|
|
972
972
|
},
|
|
973
973
|
{
|
|
974
|
-
"ref": "pkg:cargo/bstr@1.13.
|
|
974
|
+
"ref": "pkg:cargo/bstr@1.13.1",
|
|
975
975
|
"dependsOn": [
|
|
976
976
|
"pkg:cargo/memchr@2.8.3",
|
|
977
977
|
"pkg:cargo/serde_core@1.0.228"
|
|
@@ -1049,7 +1049,7 @@
|
|
|
1049
1049
|
"ref": "pkg:cargo/globset@0.4.20",
|
|
1050
1050
|
"dependsOn": [
|
|
1051
1051
|
"pkg:cargo/aho-corasick@1.1.5",
|
|
1052
|
-
"pkg:cargo/bstr@1.13.
|
|
1052
|
+
"pkg:cargo/bstr@1.13.1",
|
|
1053
1053
|
"pkg:cargo/log@0.4.33",
|
|
1054
1054
|
"pkg:cargo/regex-automata@0.4.18",
|
|
1055
1055
|
"pkg:cargo/regex-syntax@0.8.11"
|
|
@@ -1106,7 +1106,7 @@
|
|
|
1106
1106
|
"dependsOn": []
|
|
1107
1107
|
},
|
|
1108
1108
|
{
|
|
1109
|
-
"ref": "pkg:cargo/planu-core@5.3.
|
|
1109
|
+
"ref": "pkg:cargo/planu-core@5.3.15",
|
|
1110
1110
|
"dependsOn": [
|
|
1111
1111
|
"pkg:cargo/core-foundation@0.10.1",
|
|
1112
1112
|
"pkg:cargo/hmac@0.12.1",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CleanupResult } from '../../types/index.js';
|
|
1
|
+
import type { CleanupResult, HousekeepingAuthority } from '../../types/index.js';
|
|
2
2
|
export type { CleanupResult };
|
|
3
3
|
/** Remove all non-canonical files from planu/ root and per-spec directories. */
|
|
4
|
-
export declare function cleanPlanuRoot(planuDir: string, projectPath?: string): Promise<CleanupResult>;
|
|
4
|
+
export declare function cleanPlanuRoot(planuDir: string, projectPath?: string, authority?: HousekeepingAuthority): Promise<CleanupResult>;
|
|
5
5
|
//# sourceMappingURL=planu-root-cleaner.d.ts.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { dirname } from 'node:path';
|
|
3
3
|
import { runStrictPlanuCleanup } from './strict-planu-cleanup.js';
|
|
4
4
|
/** Remove all non-canonical files from planu/ root and per-spec directories. */
|
|
5
|
-
export async function cleanPlanuRoot(planuDir, projectPath) {
|
|
5
|
+
export async function cleanPlanuRoot(planuDir, projectPath, authority = { mode: 'report' }) {
|
|
6
6
|
const root = projectPath ?? dirname(planuDir);
|
|
7
|
-
const strict = await runStrictPlanuCleanup(root);
|
|
7
|
+
const strict = await runStrictPlanuCleanup(root, authority);
|
|
8
8
|
const deletedRootFiles = [];
|
|
9
9
|
const deletedSpecFiles = [];
|
|
10
10
|
for (const path of [...strict.deleted, ...strict.merged]) {
|
|
@@ -20,6 +20,7 @@ export async function cleanPlanuRoot(planuDir, projectPath) {
|
|
|
20
20
|
deletedRootFiles,
|
|
21
21
|
deletedSpecFiles,
|
|
22
22
|
totalDeleted: strict.deleted.length + strict.merged.length,
|
|
23
|
+
proposed: strict.proposed,
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
26
|
//# sourceMappingURL=planu-root-cleaner.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { StrictPlanuCleanupResult, StrictPlanuValidationOptions, StrictPlanuValidationResult } from '../../types/index.js';
|
|
1
|
+
import type { StrictPlanuCleanupResult, StrictPlanuValidationOptions, StrictPlanuValidationResult, HousekeepingAuthority } from '../../types/index.js';
|
|
2
2
|
import { PLANU_CANONICAL_POLICY } from './planu-canonical-policy.js';
|
|
3
|
-
export declare function runStrictPlanuCleanup(projectPath: string): Promise<StrictPlanuCleanupResult>;
|
|
3
|
+
export declare function runStrictPlanuCleanup(projectPath: string, authority?: HousekeepingAuthority): Promise<StrictPlanuCleanupResult>;
|
|
4
4
|
export declare function validateStrictPlanuLayout(projectPath: string, options?: StrictPlanuValidationOptions): Promise<StrictPlanuValidationResult>;
|
|
5
5
|
export { PLANU_CANONICAL_POLICY };
|
|
6
6
|
//# sourceMappingURL=strict-planu-cleanup.d.ts.map
|
|
@@ -139,8 +139,24 @@ async function shouldDeleteOrphanSpecDir(specDir) {
|
|
|
139
139
|
// Keeping them without spec.md leaves a permanently non-canonical orphan behind.
|
|
140
140
|
return !entries.includes('spec.md');
|
|
141
141
|
}
|
|
142
|
-
export async function runStrictPlanuCleanup(projectPath) {
|
|
143
|
-
|
|
142
|
+
export async function runStrictPlanuCleanup(projectPath, authority = { mode: 'report' }) {
|
|
143
|
+
if (authority.mode === 'report') {
|
|
144
|
+
const validation = await validateStrictPlanuLayout(projectPath);
|
|
145
|
+
return {
|
|
146
|
+
mode: 'report',
|
|
147
|
+
deleted: [],
|
|
148
|
+
merged: [],
|
|
149
|
+
proposed: validation.offenders,
|
|
150
|
+
gitignoreUpdated: false,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
const result = {
|
|
154
|
+
mode: 'execute',
|
|
155
|
+
deleted: [],
|
|
156
|
+
merged: [],
|
|
157
|
+
proposed: [],
|
|
158
|
+
gitignoreUpdated: false,
|
|
159
|
+
};
|
|
144
160
|
const planuDir = join(projectPath, 'planu');
|
|
145
161
|
if (!existsSync(planuDir)) {
|
|
146
162
|
return result;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ToolResult, GitConfig, SpecDoneCleanupResult } from '../../types/index.js';
|
|
1
|
+
import type { ToolResult, GitConfig, HousekeepingAuthority, SpecDoneCleanupResult } from '../../types/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* AC-02: Eliminate gone branches + remote prune.
|
|
4
4
|
* AC-03: List stale stashes (>7d); drop if force=true.
|
|
@@ -11,5 +11,5 @@ export declare function handleCleanup(projectId: string, config?: GitConfig): Pr
|
|
|
11
11
|
* AC-01: When a spec is marked done, clean its worktree, local branch, and remote branch.
|
|
12
12
|
* Best-effort — never throws. Caller should fire-and-forget or log result.
|
|
13
13
|
*/
|
|
14
|
-
export declare function cleanupSpecOnDone(projectPath: string, specId: string, gitBranch: string | undefined): Promise<SpecDoneCleanupResult>;
|
|
14
|
+
export declare function cleanupSpecOnDone(projectPath: string, specId: string, gitBranch: string | undefined, authority?: HousekeepingAuthority): Promise<SpecDoneCleanupResult>;
|
|
15
15
|
//# sourceMappingURL=cleanup-ops.d.ts.map
|