phase 1: promote vb2_dma_resv RFC v2 + add ka-status + ampere as 2nd aarch64 host #7
Reference in New Issue
Block a user
Delete Branch "claude-noether/kernel-agent:noether/phase1-promote-vb2-dma-resv"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 1 of "make kernel-agent operational". Three changes that together flip the agent from spec'd to live in manual-orchestrated form. Real
ka-*CLI verbs come in later phases; this PR gets a first iteration through the pipeline + a first CLI proof-of-life.Sibling PR coming in
marfrit-packagesto bumplinux-fresnel-fourierto pkgrel=14 and publish the already-built artifacts that have been sitting inboltzmann:~/src/kernel-agent-bootstrap/since the local iterations.1. Promote vb2_dma_resv RFC v2 series
Markus iterated v2 locally on boltzmann reaching
linux-fresnel-fourierpkgrel=14. v2 attaches the producer fence atdevice_runin slept-OK context (per Dufresne's v1 review on linux-media). Three patches underpatches/subsystem/media/videobuf2/dma-resv-release-fence/:0004-media-videobuf2-add-opt-in-dma_resv-producer-fence-h.patch— helper0005-media-hantro-attach-dma_resv-release-fence-at-device.patch— hantro opt-in0006-media-rockchip-rga-attach-dma_resv-release-fence-at-.patch— rga opt-inNumbered 4/5/6 because the fresnel PKGBUILD applies them after the 0001/0002/0003 PBP DTS patches; this directory's numbering follows apply-order, not the lore series ordering. Scope-dir README documents fleet eligibility, the v1 → v2 design pivot, and the per-host promote stance (eligible: fresnel + ohm; deferred: ampere + boltzmann pending fleet/ manifests).
2. fleet/fresnel.yaml — flip vb2_dma_resv from "excluded" to "includes"
The pre-v2 comment block said "defer until v2 lands or explicit v1-shape parity". v2 has landed. Three new
includes:lines reference the new scope-dir.3. README updates
ka-statusas[bin/ka-status — implemented Phase 1].4. First
ka-*verb: bin/ka-statusbash, ~120 lines. Read-only: reads
fleet/*.yamlmanifests, queries Gitea for open[ka:*]issues, probes each reachable host for the installed kernel-package version. Never sudos, never writes anywhere, never SSHes anything mutating.Picks
GITEA_TOKENfrom/opt/herding/etc/claude-identities/<host>.credsperreference_claude_noether_gitea.md, or env override (GITEA_TOKEN=…).Smoke-tested from this PR's worktree:
Proves the agent's Gitea-API + manifest-parsing skeleton works end-to-end without committing to a full
ka-promote/ka-build/ka-installimplementation. Next-phase verbs build on the same pattern (re-use theapi_get/manifest_field/fetch_ka_issueshelpers).Out of scope here (not in this PR)
ka-promote,ka-close,ka-installimplementationskbuild-aarch64container provisioning on boltzmannfleet/ampere.yaml,fleet/ohm.yaml,fleet/boltzmann.yaml(issues #4, #5, #6)Bot: claude-noether
Three changes that together flip kernel-agent from spec'd to operational in the manual-orchestrated form. Real ka-* CLI verbs come in later phases; this commit gets a first iteration through the pipeline and proves the flow at the artifact level. 1. Promote vb2_dma_resv RFC v2 series into the scope-tagged tree Markus iterated v2 locally on boltzmann (kernel-agent-bootstrap dir, reaching linux-fresnel-fourier pkgrel=14). v2 attaches the producer fence at device_run in slept-OK context per Dufresne's v1 review on linux-media. The three patches land under patches/subsystem/media/videobuf2/dma-resv-release-fence/: - 0004 (helper) — opt-in vb2 dma_resv producer-fence helper - 0005 (driver opt-in) — hantro device_run attach - 0006 (driver opt-in) — rockchip-rga device_run attach Numbered 4/5/6 because the fresnel build PKGBUILD applies them after the three 0001/0002/0003 PBP DTS patches; this directory's numbering follows that apply-order, not the upstream lore series numbering. README at the scope dir documents fleet eligibility, decision history, and the v1 → v2 design pivot. 2. Update fleet/fresnel.yaml to include the v2 series Pre-v2 manifest had a comment block 'Explicitly NOT included … vb2 dma-resv-release-fence … defer until v2 lands'. v2 has landed. Move those three lines from 'excluded' to 'includes', annotate the decision inline. 3. README updates - Build hosts table: add ampere (CoolPi GenBook, RK3588 32GB) as secondary aarch64 host. Same uarch as boltzmann, on-demand wake via His. Gives the fleet a second native build target for when boltzmann is busy (e.g. carrying a firefox-fourier 4h build). - 'Out of scope this round' bootstrap section: mark vb2_dma_resv as resolved 2026-05-15, keep panfrost IOMMU_CACHE deferred. 4. First ka-* CLI verb implemented: bin/ka-status bash, ~120 lines. Reads fleet/*.yaml manifests, queries Gitea for open [ka:*] issues, probes each reachable host for the installed kernel-package version. Read-only — no sudo, no host writes. Picks GITEA_TOKEN from /opt/herding/etc/claude-identities/<host>.creds or env override. Proves the agent's Gitea-API + manifest-parsing skeleton works end-to-end without committing to a full ka-promote/build/install implementation. Smoke-tested locally: $ bin/ka-status kernel-agent status (repo: marfrit/kernel-agent) open [ka:*] issues total: 1 ══ fresnel ══ manifest: arch=arm64 soc=rockchip/rk3399 board=pinebook-pro package: linux-fresnel-fourier installed: host-down # (fresnel is currently powered off) open ka-issues: (none for this host) No PKGBUILD update in this PR — that lives in marfrit-packages and ships as a sibling PR (the actual linux-fresnel-fourier-7.0-14 publish).