planr 1.7.1 → 1.7.2

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/README.md CHANGED
@@ -174,6 +174,7 @@ The watcher is likewise a human-only observer. It defaults to the condensed diag
174
174
 
175
175
  ## What's new
176
176
 
177
+ - **1.7.2 — Reproducible release candidates:** Locked the pnpm workspace inventory, made external eval fixtures self-contained, refreshed reviewed workflow runtimes, and made all four published architectures execute the exact tagged version before upload. Model-backed evaluation remains a local, candidate-bound maintainer gate; this patch makes no unmeasured speed or quality claim. See the [1.7.2 changelog](CHANGELOG.md#172---2026-07-25) and [release guidance](https://planr.so/docs/operations/release).
177
178
  - **1.7.1 — Leaner agent guidance and safer local releases:** Slimmed the hot-path Planr skills while preserving their execution and review contracts, moved maintainer benchmark inputs and results outside the public repository, added a fail-closed local release-evidence gate without API keys in CI, and verified the optional external Switchloom v0.3.2 integration. The public 1.7 eval CLI remains available in this patch. See the [1.7.1 changelog](CHANGELOG.md#171---2026-07-25) and [release guidance](https://planr.so/docs/operations/release).
178
179
  - **1.7.0 — Evidence-backed evaluations:** Added durable eval suites, runs, comparisons, invalidation and rescoring, correctness/quality/performance gates, cost per verified success, and effort recommendations. The complete workflow is available through the CLI; MCP only mirrors selected surfaces and is optional. Security gates now cover repository leaks, vulnerable dependencies, workflow hardening, privacy, and forbidden staged files. See the [Eval Contract](docs/contracts/EVAL_CONTRACT_V1.md), [CLI Reference](https://planr.so/docs/reference/cli), and the [1.7.0 changelog](CHANGELOG.md#170---2026-07-22).
179
180
  - **1.6.0 — Human map observation:** Added a condensed boxed diagram, live two-terminal watching, accessible state colors, and clearer satisfied dependency routes. These views are intentionally for human supervision; agents keep using the default tree or JSON snapshots. See [Task Graph Model](https://planr.so/docs/concepts/graph-and-readiness), [CLI Reference](https://planr.so/docs/reference/cli), and the [1.6.0 changelog](CHANGELOG.md#160---2026-07-21).
package/docs/RELEASE.md CHANGED
@@ -16,8 +16,14 @@ Published npm versions bundle platform-native binaries; see <https://planr.so/do
16
16
 
17
17
  `scripts/release.sh` is the only supported release path. The version lives in
18
18
  `Cargo.toml`; `package.json`, both plugin manifests under `plugins/planr/`, and
19
- `.cursor-plugin/plugin.json` must match it. Manual tagging skips this sync and
20
- ships stale versions.
19
+ `.cursor-plugin/plugin.json` must match it. Generated CLI and MCP references
20
+ must match the currently committed version before the release branch merges.
21
+ After bumping on clean `main`, the script refreshes pnpm's derived workspace
22
+ metadata with the frozen lockfile and rejects any lockfile byte change. It then
23
+ builds, regenerates, and strictly checks both references before staging them in
24
+ the same atomic release commit as the six synchronized version files. Manual
25
+ tagging or pre-generating a future version skips this ownership boundary and
26
+ can ship stale references.
21
27
 
22
28
  ```bash
23
29
  export PLANR_RELEASE_EVAL_SUITE="$HOME/projects/planr-evals/suites/planr-lean-skills-dogfood.suite.json"
@@ -36,6 +42,11 @@ candidate-revision digests, and creation/expiry timestamps. Prompts,
36
42
  completions, credentials, personal paths, raw runs, reports, databases, and the
37
43
  receipt itself are never committed to Planr.
38
44
 
45
+ Fixture paths inside the private suite resolve relative to the suite file's
46
+ directory. The external eval workspace must therefore contain its complete
47
+ fixture tree; release verification does not read ignored files from the Planr
48
+ checkout.
49
+
39
50
  Generate the candidate revision with
40
51
  `node scripts/verify-release-eval-receipt.mjs --print-candidate-revision`. At
41
52
  release time the candidate binary canonicalizes the explicitly supplied suite,
@@ -48,10 +59,12 @@ effective-treatment proof.
48
59
  The script enforces, in order:
49
60
 
50
61
  1. branch is `main`, worktree is clean, `CHANGELOG.md` already has a committed `## [x.y.z]` section, and the tag does not exist;
51
- 2. the version is written into all synchronized manifests plus `Cargo.lock`;
52
- 3. the candidate binary validates the sanitized receipt, observed effective treatment, candidate binding, and existing Planr comparison/gate before any Git mutation;
53
- 4. deterministic gates: `cargo test` (including manifest drift), `npm pack --dry-run`, and `scripts/security-local.sh` (betterleaks + trivy);
54
- 5. one mechanical commit `release x.y.z: <summary>`, an annotated `vx.y.z` tag carrying that summary, and a single push of branch plus tag.
62
+ 2. the version is written into all synchronized manifests;
63
+ 3. `pnpm install --frozen-lockfile` refreshes installed workspace metadata, and any `pnpm-lock.yaml` byte change stops the release before build, references, gates, or Git mutation;
64
+ 4. the build synchronizes `Cargo.lock`, and the bumped candidate regenerates and strictly verifies both generated references before any later gate or Git mutation;
65
+ 5. the candidate binary validates the sanitized receipt, observed effective treatment, candidate binding, and existing Planr comparison/gate before any Git mutation;
66
+ 6. deterministic gates: `cargo test` (including manifest drift), `npm pack --dry-run`, and `scripts/security-local.sh` (betterleaks + trivy);
67
+ 7. one mechanical commit containing the six version files plus both generated references, an annotated `vx.y.z` tag carrying that summary, and a single push of branch plus tag.
55
68
 
56
69
  Two independent gates back the script:
57
70
 
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "planr",
3
- "version": "1.7.1",
3
+ "version": "1.7.2",
4
4
  "description": "Local-first planning and execution coordination for coding agents.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -25,7 +25,10 @@
25
25
  "security:staged": "node scripts/hooks/block-forbidden-staged-files.mjs",
26
26
  "build:native": "cargo build --release",
27
27
  "test": "cargo test",
28
+ "verify:github-actions": "node scripts/verify-github-actions.mjs && node scripts/test-verify-github-actions.mjs",
29
+ "verify:pnpm-workspace": "node scripts/verify-pnpm-workspace.mjs",
28
30
  "verify:release-eval-gate": "node scripts/test-release-eval-gate.mjs",
31
+ "verify:release-script": "node scripts/test-release-script.mjs",
29
32
  "pack:check": "npm pack --dry-run",
30
33
  "docs:dev": "pnpm --filter @planr/docs dev",
31
34
  "docs:alchemy:dev": "pnpm --filter @planr/docs alchemy:dev",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "planr",
3
3
  "description": "Skill-driven planning and execution loop for coding agents: one planr entry point, an autonomous planr-loop, and evidence-backed task graph skills powered by the planr CLI.",
4
- "version": "1.7.1",
4
+ "version": "1.7.2",
5
5
  "author": {
6
6
  "name": "instructa"
7
7
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "planr",
3
- "version": "1.7.1",
3
+ "version": "1.7.2",
4
4
  "description": "Skill-driven planning and execution loop for coding agents: one $planr entry point, an autonomous $planr-loop, and evidence-backed task graph skills powered by the planr CLI.",
5
5
  "author": {
6
6
  "name": "instructa",