diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 389bad081..bccfd60ed 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/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 5965f8b5e..361ac5def 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -81,6 +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:** 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 ddd8bdeff..b156012b0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -126,6 +126,31 @@ 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 publishes five native prebuilt artifacts from +`.github/workflows/release-artifacts.yml`: + +- `linux-x64` (`linux/amd64`) +- `linux-arm64` (`linux/arm64`) +- `macos-arm64` (`darwin/arm64`) +- `macos-x64` (`darwin/amd64`) +- `windows-x64` (`windows/amd64`) + +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 The core team will prioritize: