Policies
This page states what palm promises as of 2026-09-30, and what it does not.
palm --versionpalm check --offline| Topic | Policy |
|---|---|
| Versions | Semantic versioning, still on 0.x; pin an exact version in CI |
| Platforms | macOS and Linux; on Windows, inside WSL |
| Runtime | Node 22 or later, and git |
| Telemetry | None, and no update check |
| Network | git to the sources you declare, nothing else |
| Security reports | Private, through GitHub security advisories |
Versioning
Section titled “Versioning”palm follows semantic versioning and is on 0.x.
Before 1.0, a minor release may change commands, options or file formats, and the changelog says so.
A patch release fixes bugs without such changes.
Only the latest release receives fixes.
Pin the version your CI installs, such as npm install -g @paliontech/palm@0.2.0, and move it in a pull request.
A palm: key in palm.yaml that names the minimum version is planned for 0.3.
| Release | Focus |
|---|---|
| 0.2 | Sources in palm.yaml, lock version 3, committed generated files, palm check, hash-pinned consent, palm migrate |
| 0.3 | The personal palm.local.yaml and per-person disable, placement with at:, one carrier per harness, activation mapping, the hook mapping table, text diffs in --review, load cost in palm get, palm migrate removed |
| 1.0 | Every placement and hook mapping tested against the real CLIs of all six harnesses; native Windows considered |
File formats
Section titled “File formats”The lock carries version: 3.
palm 0.2 reads versions 1 and 2 only through palm migrate, and every other command names that command.
palm.yaml has no version key. palm detects the 0.1 format by its shape.
palm keeps your comments and key order in palm.yaml.
An unknown key on a source, an entry or an MCP server is a parse error that suggests the nearest key, so a typo never widens an entry in silence.
The old command grammar works for one release as hidden aliases, and removed commands print their replacement.
Platforms
Section titled “Platforms”| Platform | Status |
|---|---|
| macOS | Supported |
| Linux | Supported |
| Windows, inside WSL | Supported: WSL runs Linux. Keep the repository in the WSL file system. |
| Windows, native | Not supported in 0.2. It stays on the list for 1.0. Paths use the platform’s joiner, so a contributor can add it. |
Network
Section titled “Network”palm sends no telemetry, keeps no usage statistics and checks for no updates. It has no registry client, so it never looks up a name on a server. Its only connections are git to the hosts of the sources you declare.
| Command | Connects when |
|---|---|
palm install <source> |
always, to read the remote’s current tags for the listing or the first install; then to fetch a commit that is not cached |
palm install |
a locked commit is not cached, or a ref: changed |
palm update |
always, to read the remote’s tags and branches |
palm check |
a locked commit is not cached |
--offline forbids every connection, and a command that needs one fails with E_NETWORK.
Hooks and MCP servers that palm installs run inside your harness, not inside palm. Their own network use is outside these rules.
Security
Section titled “Security”Report a vulnerability privately through GitHub security advisories.
Do not open a public issue for it.
The repository’s SECURITY.md lists what is in scope and the response times.
The security model explains what palm trusts, asks and refuses.