diff --git a/.agents/skills/change-maple-ci/SKILL.md b/.agents/skills/change-maple-ci/SKILL.md index 37592218a..0ca6cec9e 100644 --- a/.agents/skills/change-maple-ci/SKILL.md +++ b/.agents/skills/change-maple-ci/SKILL.md @@ -127,7 +127,7 @@ fields in `lanes.py` are authoritative. | Label | Adds | Use when | | --- | --- | --- | | `ci:windows` | The native updater tests and the full Windows suite (Windows Clippy already runs on every Agent PR) | Path, filesystem, process or terminal code behaves differently on Windows | -| `ci:package` | Unsigned Agent packages and Research desktop bundles on all three OSes, plus the Research Dev macOS app | Packaging or release scripts, flakes, toolchains, or bundled assets, entitlements or updater metadata change | +| `ci:package` | Unsigned Agent packages and Research desktop bundles on all three OSes, plus the Research Dev macOS app | Packaging or release scripts, flakes, toolchains, or bundled assets, entitlements or updater metadata change. Also a gpui/zed revision bump, an Xcode pin change or an edit to the Metal Toolchain actions: PR lanes build gpui with runtime shaders, and only the macOS rehearsal compiles them before master's signed build | | `ci:ios`, `ci:android` | The Research iOS simulator or Android build | Research changes reach native mobile code or mobile-only plugins that their paths do not select | | `ci:research-dev-macos` | The unsigned Research Dev app | Research Dev OAuth profile work | | `ci:eif` | Dev and prod OpenSecret EIF candidates (`os-eif`) | The selector misses a measured input. Works only on a same-repository PR to `master` that edits no PCR approval | diff --git a/.agents/skills/change-maple-ci/references/changing-ci.md b/.agents/skills/change-maple-ci/references/changing-ci.md index d1c7c8cb1..46cdfeef4 100644 --- a/.agents/skills/change-maple-ci/references/changing-ci.md +++ b/.agents/skills/change-maple-ci/references/changing-ci.md @@ -23,6 +23,7 @@ Paths are relative to the repository root. `scripts/ci/lanes.py` and | `submodules` | Recursive submodules with full blobless history (Nix needs `revCount`) | | `hook` | Pre-commit component that runs the same checks locally | | `restore` | Read-only restore of a cache another workflow writes | +| `requires` | Lanes whose jobs this lane's special job needs. The planner adds them to every plan that selects the lane, dispatches included; a required lane has no paths, labels, gate or OpenSecret selector of its own and runs on no event its requirers lack, so nothing else selects it (lint). `metal-toolchain` is the example: GitHub's xcode-27 image exports Xcode's Metal Toolchain for `agent-package-macos` | Event sets: @@ -99,6 +100,8 @@ Its id is the lane's `job`. Checked by `plan.py lint` and the policy tests: - `runs-on` exactly `${{ vars. || '