Move public maintainer policy and automation guidance into maintainers/, shrink root AGENTS.md into an audience router, and ignore internal .agent scratch state.
Delete tracked internal ExecPlans from .agent and scrub personal/private references from public RFC examples.
Checks: git diff --cached --check; scripts/check-flake-lock-owners.sh; node scripts/select-openclaw-release.test.mjs; bash -n scripts/update-pins.sh; ruby -e 'require "yaml"; YAML.load_file(".github/workflows/yolo-update.yml"); YAML.load_file(".github/workflows/ci.yml")'
1.4 KiB
1.4 KiB
Release Policy
nix-openclaw publishes one user-facing package, openclaw, with component outputs for maintainers and modules.
Desired State
openclaw-gatewaytracks the newest stable upstream OpenClaw source release that satisfies the Nix package contract.openclaw-apptracks the newest stable upstream release that has a published publicOpenClaw-*.zipapp artifact.- These tracks are independent. Source and app versions may differ.
Non-Negotiables
- Do not hold back the source-built gateway because a newer source release lacks public macOS app assets.
- Do not treat source/app version mismatch as a failure.
- Do not make upstream's full Vitest suite a promotion gate; upstream owns source test health.
- Do verify the Nix-owned package contract: source build, generated config options, package contents, gateway smoke startup, module activation, and newest available public macOS app artifact.
- Do prefer the upstream
.zipapp artifact foropenclaw-app, but verify the unpacked contents contain an.app.
Freshness Check
The package is fresh only when both are true:
nix/sources/openclaw-source.nixmatches GitHub's newest stable OpenClaw source tag.nix/packages/openclaw-app.nixmatches the newest stable publicOpenClaw-*.zipapp artifact.
If newer stable source releases lack public app assets, report that as an upstream app publishing miss and keep the app pin on the newest public zip.