GloriousFlywheel XoxdWM First Patch Playbook 2026-04-16
Snapshot date: 2026-04-16
Purpose
Define the first concrete downstream patch target for Jesssullivan/XoxdWM
under #210.
GitHub owner: #210
Why XoxdWM Goes First
XoxdWM is the strongest user-owned canary in the first migration tranche:
- it has visible downstream use of
tinyland-inc/GloriousFlywheel/.github/actions/setup-flywheel@main - it mixes stable shared runner labels with raw
[self-hosted, honey]jobs - it gates self-hosted behavior on
github.repository == 'tinyland-inc/XoxdWM', which is exactly the kind of org-internal assumption the public contract should stop requiring
If the contract works here, GloriousFlywheel becomes much more credible for user-owned repos.
Observed Workflow Reality
From direct workflow inspection on 2026-04-16:
self-hosted-fast.yml- uses
tinyland-nix - directly calls
tinyland-inc/GloriousFlywheel/.github/actions/setup-flywheel@main - also contains
fast-vron raw[self-hosted, honey]
- uses
cache-warm.yml- uses
tinyland-nixconditionally - still manages Attic setup manually
- uses
packaging.yml,native-deps.yml,multi-arch.yml, andrunner-health.yml- use conditional
tinyland-nixor raw[self-hosted, honey]paths
- use conditional
vr-hardware.yml- uses raw
[self-hosted, honey]for hardware-specific workloads
- uses raw
First Patch Goal
Separate the stable shared-runner contract from the hardware-specific local lab contract.
That means:
- keep stable shared CI on
tinyland-nix - keep hardware-specific VR jobs on explicit compatibility selectors for now
- remove the repo-hardcoded
tinyland-inc/XoxdWMassumption from the shared CI path - reduce ad hoc manual Attic setup where the GloriousFlywheel action surface already provides the needed environment
Recommended Patch Order
Patch 1: Normalize the shared fast path
Target file:
self-hosted-fast.yml
Desired outcome:
fast-checkandfast-buildremain ontinyland-nix- those jobs stop depending on the repo being under
tinyland-inc/XoxdWM - the stable shared-runner path is clearly distinguished from hardware-only jobs
Patch 2: Move cache warm closer to the shared contract
Target file:
cache-warm.yml
Desired outcome:
- shared
tinyland-nixuse remains explicit - stale/manual Attic setup is reduced where GloriousFlywheel already injects the relevant runtime environment
- cache-warm becomes a clean canary for the public Nix runner contract
Patch 3: Leave hardware jobs as compatibility
Target files:
vr-hardware.yml- any raw
[self-hosted, honey]jobs inrunner-health.yml
Desired outcome:
- hardware/lab-specific jobs remain clearly marked as compatibility-only
- they do not pollute the public shared-runner story
What Not To Do First
- do not start by rewriting the VR hardware workflows into the public contract
- do not try to make hardware-specific jobs define the general user-repo story
- do not broaden from
XoxdWMto other user repos until the stable shared path is clean here
Acceptance Criteria
XoxdWMhas one stable shared CI path that reads like a public consumer oftinyland-nix- hardware-specific jobs are explicitly compatibility/lab-specific
- the repo-hardcoded org assumption is no longer required for the stable shared path