@peakflo/agent-harness 0.2.1-rc.3 → 0.2.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.
Files changed (2) hide show
  1. package/README.md +30 -0
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -36,4 +36,34 @@ Optional flags include `--health-port <port>`, `--runtime <desktop|self-hosted>`
36
36
  `--workspace-root <path>`, and `--github-proxy-port <port>`. Run
37
37
  `npx @peakflo/agent-harness@rc --help` for the full list.
38
38
 
39
+ ## Releasing
40
+
41
+ `.github/scripts/agent-harness-release.mjs` publishes this package
42
+ automatically: an rc from `main` on every push, a final from `production`.
43
+ **`version` in this package's `package.json` is a FLOOR, not the release** —
44
+ the lowest version the pipeline may produce, not the version it will produce.
45
+ The pipeline reads the registry and computes the actual version on every run:
46
+
47
+ 1. `latestFinal` = the highest already-published **final** (non-prerelease)
48
+ version that is `>= floor`.
49
+ 2. If this tree's content is byte-identical to `latestFinal`'s (ignoring only
50
+ the `version` field), there is nothing to publish on **either** channel —
51
+ `latestFinal` is reused as the version to pin. This is the common case:
52
+ most deploys do not touch the harness at all.
53
+ 3. Otherwise `next = max(floor, patch(latestFinal) + 1)` — or just `floor`
54
+ when there is no `latestFinal` at or above it (a floor a human just
55
+ raised). The rc channel publishes `${next}-rc.N` (reusing an identical
56
+ existing rc rather than republishing); the final channel publishes `next`,
57
+ after confirming an rc of `next` has this exact content.
58
+
59
+ **A routine patch release needs no PR at all** — pushing a harness change to
60
+ `main` and then to `production` is enough; the version above `floor` is
61
+ computed, not hand-written. **A minor or major bump is still a human
62
+ decision**: raise `version` in `packages/agent-harness/package.json` (e.g.
63
+ `0.2.1` -> `0.3.0`) and the next computed release starts from there.
64
+
65
+ See the comments above `contentDigest()`, `planRelease()` and `release()` in
66
+ `agent-harness-release.mjs` for the full reasoning, including how two
67
+ concurrent runs are kept from publishing the same version.
68
+
39
69
  Licensed under the MIT License. See [LICENSE](./LICENSE).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peakflo/agent-harness",
3
- "version": "0.2.1-rc.3",
3
+ "version": "0.2.2",
4
4
  "description": "Headless Peakflo coding-agent harness. One codebase, three hosting modes: a Daytona cloud sandbox, a customer VM, and the 20x desktop.",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",