From 6f6c3ef076f6c13f044e1289c8f6ffbd6aed309d Mon Sep 17 00:00:00 2001 From: cairn-intern Date: Thu, 27 Aug 2026 20:09:42 +0000 Subject: [PATCH 1/3] docs: name the five supported targets and drop Plan 9 as a review gate Plan 9 has never compiled and is not a release or CI target. Reviews still asked for plan9 shims. Document the five release platforms as the supported set so unsupported GOOS is not a review criterion. Fixes Gitlawb/zero#817 --- .coderabbit.yaml | 3 +++ AGENTS.md | 5 +++++ CONTRIBUTING.md | 16 ++++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 389bad081..88d2a1b14 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -29,6 +29,9 @@ reviews: - path: "tests/**/*.ts" instructions: | Review tests for Bun test idioms, deterministic behavior, and meaningful coverage of safety decisions, provider/runtime flows, session events, and TUI command behavior. + - path: "**/*.go" + instructions: | + Do not request Plan 9 or other unsupported GOOS shims. Supported targets are the five release platforms (linux-x64, linux-arm64, macos-arm64, macos-x64, windows-x64). Other GOOS values are not a review criterion. tools: github-checks: timeout_ms: 300000 diff --git a/AGENTS.md b/AGENTS.md index 5965f8b5e..3a1fd429b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -81,6 +81,11 @@ These classes drive multi-round reviews. Fix them before requesting review: assert raw `t.TempDir()` spellings (`/var` vs `/private/var` on macOS, short paths on Windows). Prefer one cross-platform function with small `GOOS` checks over duplicated helpers that drift. +- **Supported targets only:** The five release platforms in CONTRIBUTING.md + (`linux-x64`, `linux-arm64`, `macos-arm64`, `macos-x64`, `windows-x64`) are + the supported set. Other `GOOS` values, including `plan9`, are unsupported + and are not a review criterion. Do not block a PR for failing to compile on + an unsupported `GOOS`. Tests may use `plan9` as a fixture for "unsupported". - **Security edges:** Keep secrets out of argv, env dumps, and logs. Redact success and error paths (including stderr). Fail closed on ownership, lease, and permission checks. Do not rely on pre-open path resolution diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ddd8bdeff..e0e04c140 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -126,6 +126,22 @@ not enough. Dependency changes need a clear project benefit, such as fixing a specific bug, addressing a security issue, improving compatibility, or supporting an approved feature. +## Supported platforms + +Zero is released for the same five platforms that `scripts/install.sh`, +`scripts/install.ps1`, and the npm wrapper resolve, and that +`.github/workflows/release-artifacts.yml` packages: + +- `linux-x64` (`linux/amd64`) +- `linux-arm64` (`linux/arm64`) +- `macos-arm64` (`darwin/arm64`) +- `macos-x64` (`darwin/amd64`) +- `windows-x64` (`windows/amd64`) + +Other `GOOS`/`GOARCH` values, including Plan 9, are unsupported. They are not +a review criterion. Do not block a pull request for failing to compile on an +unsupported `GOOS`. Tests may use `plan9` as a fixture for an unsupported OS. + ## What We Prioritize The core team will prioritize: From f81ffa12a65a48b677f6e1aca20bb08d503c0a7f Mon Sep 17 00:00:00 2001 From: cairn-intern Date: Fri, 28 Aug 2026 02:16:41 +0000 Subject: [PATCH 2/3] docs: exclude unsupported GOOS/GOARCH from review criteria CONTRIBUTING.md names five exact release combinations. Align AGENTS.md and .coderabbit.yaml so other GOOS/GOARCH pairs are not a review criterion. Unsupported targets such as plan9 remain allowed as fixtures. --- .coderabbit.yaml | 2 +- AGENTS.md | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 88d2a1b14..d0af4676b 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -31,7 +31,7 @@ reviews: Review tests for Bun test idioms, deterministic behavior, and meaningful coverage of safety decisions, provider/runtime flows, session events, and TUI command behavior. - path: "**/*.go" instructions: | - Do not request Plan 9 or other unsupported GOOS shims. Supported targets are the five release platforms (linux-x64, linux-arm64, macos-arm64, macos-x64, windows-x64). Other GOOS values are not a review criterion. + Do not request Plan 9 or other unsupported GOOS/GOARCH shims. Supported targets are the five release platforms (linux-x64, linux-arm64, macos-arm64, macos-x64, windows-x64). Other GOOS/GOARCH combinations are not a review criterion. tools: github-checks: timeout_ms: 300000 diff --git a/AGENTS.md b/AGENTS.md index 3a1fd429b..70cbebea8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -83,9 +83,10 @@ These classes drive multi-round reviews. Fix them before requesting review: checks over duplicated helpers that drift. - **Supported targets only:** The five release platforms in CONTRIBUTING.md (`linux-x64`, `linux-arm64`, `macos-arm64`, `macos-x64`, `windows-x64`) are - the supported set. Other `GOOS` values, including `plan9`, are unsupported - and are not a review criterion. Do not block a PR for failing to compile on - an unsupported `GOOS`. Tests may use `plan9` as a fixture for "unsupported". + the supported set. Other `GOOS`/`GOARCH` combinations, including `plan9`, + are unsupported and are not a review criterion. Do not block a PR for + failing to compile on an unsupported `GOOS`/`GOARCH`. Tests may use `plan9` + as a fixture for "unsupported". - **Security edges:** Keep secrets out of argv, env dumps, and logs. Redact success and error paths (including stderr). Fail closed on ownership, lease, and permission checks. Do not rely on pre-open path resolution From cea8d3a8c0ee8ca93ac388683f687e0bc548dcbc Mon Sep 17 00:00:00 2001 From: cairn-intern Date: Tue, 1 Sep 2026 01:59:03 -0400 Subject: [PATCH 3/3] docs: retain Android support in target policy --- .coderabbit.yaml | 2 +- AGENTS.md | 13 +++++++------ CONTRIBUTING.md | 21 +++++++++++++++------ 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index d0af4676b..bccfd60ed 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -31,7 +31,7 @@ reviews: Review tests for Bun test idioms, deterministic behavior, and meaningful coverage of safety decisions, provider/runtime flows, session events, and TUI command behavior. - path: "**/*.go" instructions: | - Do not request Plan 9 or other unsupported GOOS/GOARCH shims. Supported targets are the five release platforms (linux-x64, linux-arm64, macos-arm64, macos-x64, windows-x64). Other GOOS/GOARCH combinations are not a review criterion. + Do not request Plan 9 or other unsupported GOOS/GOARCH shims. The five native prebuilt release targets are linux-x64, linux-arm64, macos-arm64, macos-x64, and windows-x64. Android/Termux is also a supported runtime through the documented android-arm64 source build and Linux artifact fallback. Other GOOS/GOARCH combinations are not a review criterion. tools: github-checks: timeout_ms: 300000 diff --git a/AGENTS.md b/AGENTS.md index 70cbebea8..361ac5def 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -81,12 +81,13 @@ These classes drive multi-round reviews. Fix them before requesting review: assert raw `t.TempDir()` spellings (`/var` vs `/private/var` on macOS, short paths on Windows). Prefer one cross-platform function with small `GOOS` checks over duplicated helpers that drift. -- **Supported targets only:** The five release platforms in CONTRIBUTING.md - (`linux-x64`, `linux-arm64`, `macos-arm64`, `macos-x64`, `windows-x64`) are - the supported set. Other `GOOS`/`GOARCH` combinations, including `plan9`, - are unsupported and are not a review criterion. Do not block a PR for - failing to compile on an unsupported `GOOS`/`GOARCH`. Tests may use `plan9` - as a fixture for "unsupported". +- **Supported targets only:** CONTRIBUTING.md names the five native prebuilt + release artifacts (`linux-x64`, `linux-arm64`, `macos-arm64`, `macos-x64`, + `windows-x64`) and the additional supported Android/Termux source-build and + artifact-fallback path. Other `GOOS`/`GOARCH` combinations, including + `plan9`, are unsupported and are not a review criterion. Do not block a PR + for failing to compile on an unsupported `GOOS`/`GOARCH`. Tests may use + `plan9` as a fixture for "unsupported". - **Security edges:** Keep secrets out of argv, env dumps, and logs. Redact success and error paths (including stderr). Fail closed on ownership, lease, and permission checks. Do not rely on pre-open path resolution diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e0e04c140..b156012b0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -128,9 +128,8 @@ an approved feature. ## Supported platforms -Zero is released for the same five platforms that `scripts/install.sh`, -`scripts/install.ps1`, and the npm wrapper resolve, and that -`.github/workflows/release-artifacts.yml` packages: +Zero publishes five native prebuilt artifacts from +`.github/workflows/release-artifacts.yml`: - `linux-x64` (`linux/amd64`) - `linux-arm64` (`linux/arm64`) @@ -138,9 +137,19 @@ Zero is released for the same five platforms that `scripts/install.sh`, - `macos-x64` (`darwin/amd64`) - `windows-x64` (`windows/amd64`) -Other `GOOS`/`GOARCH` values, including Plan 9, are unsupported. They are not -a review criterion. Do not block a pull request for failing to compile on an -unsupported `GOOS`. Tests may use `plan9` as a fixture for an unsupported OS. +The shell installer and npm wrapper resolve the applicable artifacts from that +list. The PowerShell installer supports the published `windows-x64` artifact; +there is no native Windows ARM64 artifact. Windows on ARM users can run the x64 +build under emulation or build from source. + +Android/Termux is also supported even though it has no distinct release +artifact. The npm wrapper maps Android to the Linux artifact, and +`docs/INSTALL.md` documents the native `android/arm64` source build needed on +devices whose seccomp policy blocks the Linux build's syscall path. + +Other `GOOS`/`GOARCH` values, including Plan 9, are unsupported. They are not a +review criterion. Do not block a pull request for failing to compile on an +unsupported target. Tests may use `plan9` as a fixture for an unsupported OS. ## What We Prioritize