[ka:cli-build-out] Implement ka-promote / ka-build / ka-install — close the Phase-8 gap #21
Reference in New Issue
Block a user
Delete Branch "%!s()"
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 8 — package the verbs
bin/ka-statusis the only implemented verb. Everything else (ka-promote,ka-build,ka-install) is README-spec + a documented "manual substitute" recipe (fresnel bootstrap 2026-05-09 in README.md:227). The 9(+1)-phase loop close-clause says full ships — half-implemented tooling with manual fallback as the operational mode is exactly the kind of drift kernel-agent exists to abolish; running it on itself is a Phase-8 violation.Each new fleet host (ohm via BESser, ampere, future) currently re-cements the hand-managed flow. Closing this issue means new-host onboarding goes through the verbs as the only path.
Verbs to implement
ka-promoteincludes[]+apply_order, concat scope-tagged series into one cumulative.patch, validate it applies onbaseline.ref, compute b2sumka-buildka-promotemakepkgonboltzmann(primary) /fermi(fallback). Render PKGBUILD template (b2sum, pkgrel, _srctag from manifest). Sign + push topackages.reauktion.deka-installka-buildpacman -U(or apt equivalent), backup vmlinuz, extlinux/mkinitcpio post-trigger, ssh-heartbeat as consent-via-actionOrder + per-verb issues
fleet/{ampere,fresnel,ohm}.yamlmanifests +patches/{soc,driver,board,module,subsystem,arch}/tree. Phase-1 metric candidate: deterministic byte-identical cumulative patch from a manifest + reproducible b2sum.ln -srheaders-pkg fix that was discovered mid-bootstrap.vmlinuzvsImagemkinitcpio hook gap. Bakes consent-via-action + extlinux trigger.Each verb gets its own
[ka:cli-build-out]issue + PR. This issue stays open as the umbrella, closes when all three ship.Out of scope (separate issues if pursued)
ka-render/ka-publish/ kconfig-by-manifest — listed in README but not on the Phase-8-close critical pathka-buildimplementation will force thisAcceptance for closing this umbrella
ka-promote ampere(or fresnel) produces the same cumulative patch as the existing canonical PKGBUILD, byte-for-byte (parity test againstboltzmann:~/src/besser/marfrit-besser/danctnix-besser-pkgbuild/kernel/0001-bes2600-besser-cumulative-series.patch— but only after the parallel ohm work in #5 lands; for Phase-1 use fresnel or ampere as the parity host)ka-build <host>produces a signed .pkg.tar.zst / .deb identical (modulo timestamps) to the most recent hand-built package for that hostka-install <host>reboots the host and ssh comes back; pre-install backup exists athertz:/sparfuxdata/kernel-agent-backups/<host>/<replaced_version>/Tracking child: #22 (ka-promote). ka-build / ka-install issues come when ka-promote phase-3 baseline lands.
ka-promote PR opened: #23. README + tests + fresnel manifest fix bundled. ka-build + ka-install issues to follow once the umbrella is at the right rhythm — no rush, but the Phase-8 close-discipline applies to them too once started.