OXYGENHUB

Runner capabilities and placement: architecture, tier, speed and load (spec §11) issue #36 open andymccall opened this · 0 comments

andymccall

Andy's ask, 2026-10-04: a runner should know what it cannot run. The RISC-V OrangePi RV2 is not a runner today partly for this reason (and because it has no KVM, so the MicroVM tier is out: it needs the syscall tier, §4.2).

Specified in docs/spec.md §11 (proposed): a capability profile (arch, os, kernel, tiers with KVM checked, memory, cpus, images with their architecture, labels, a measured speed class, load); image manifests that record architecture at import and refuse another architecture's image; arch on a sandbox and a rootfs per architecture; placement that filters on the hard requirements and ranks idle, fast, image-holding runners first; a runner that double-checks and declines with a reason instead of failing; the queue saying what a job waits for.

Order: (1) architecture in image manifests and the claim, matched by the hub (closes the real gap for a RISC-V runner); (2) tiers with KVM checked, and the syscall tier so narvi can run anything; (3) speed class and load in the profile, ranking; (4) declining; (5) a rootfs per architecture.

andymccall set labels feature ·

referenced by 3 changes on 4 Oct 2026

fd2d4822f7f3 1abadd4a2fa6 c5b702e59c1f

referenced by 3 changes on 5 Oct 2026

ea56c56eaf90 b11e30f5031d 630ee66034b2