@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.
- package/README.md +30 -0
- 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.
|
|
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",
|