Skip to main content

Week 4 of Building a Software Factory: Opening RISC-V to the Community

· 5 min read

Last week ended on 4.2.0 shipped and a reviewer agent reading every change before I do. Both held. riscv64 moved the most this week: it now builds on every push instead of only at release time, and there is a public invitation out asking anyone with real RISC-V hardware to test it.

What shipped

RISC-V. The invitation is public: an unofficial image, verified only under QEMU so far, and I am asking anyone with real RISC-V hardware to run it and tell me what breaks. Two things changed underneath that ask. The architecture now builds on every push to main instead of only at release time (kairos#4377), so it stops silently rotting between releases. And AuroraBoot's raw disk generation no longer hard-fails on an architecture with no signed-shim convention, which riscv64 doesn't have (AuroraBoot#752). It was treating "nothing to chain from" as fatal instead of expected.

Build reliability. The toolchain stage no longer reaches out to musl.libc.org mid-build (hadron#578), and a transient network blip during artifact download no longer fails the whole job (AuroraBoot#753).

Reminders. Issues on my internal board carry due dates, and GitHub has no concept of one. A due date on a ticket now becomes an entry in a shared Apple Reminders list, synced by mowa, a small personal automation service I run for myself, so the notification comes from the OS and not from anything I have to keep running. I tested the whole path live: created a real ticket with a near-term due date, watched the phone actually buzz, then confirmed the reminder cleaned itself up once the ticket closed.

DevRel. A talk in Buenos Aires is confirmed for 22 September and listed on the events page (kairos-docs#676). Two drafting skills landed to keep project writing consistent across whoever's actually holding the pen that day (devrel#366, devrel#369).

Release pipeline, found and fixed but not merged. A single failing architecture was quietly blocking the whole release manifest from publishing, for every architecture and not just the one that failed. A bad riscv64 build could have taken down the amd64 and arm64 release with it, with no error anywhere, just a release that never showed up on quay. I caught it before it shipped, and the fix is still open (AuroraBoot#758).

The numbers

Activity16–21 Aug22–28 Aug
Changes shipped to Kairos3412
Changes to the agent factory itself4027
Changes to this website and the homelab618
Architecture decision records written42
Postmortems filed40
Internal board: issues opened / closed110 / 9094 / 79

That right-hand number already excludes twenty-four date-triggered reminders opened this week, mostly a promo campaign's checklist, five of them closed the same day. Those are nudges for myself, not backlog the factory ever picks up as work, so I left them out.

The board's real balance held about steady: ninety-four opened against seventy-nine closed, a net gain of fifteen, close to last week's twenty and if anything a touch better. Zero postmortems is not the same claim as "nothing went wrong." It is at least partly a mix shift: more of this week went into writing, campaign planning, and tooling than into the kind of unattended production-load maintenance that generated all four of last week's.

Where that leaves me

There is enough work moving overnight now that I added a morning standup for myself, just to find out what happened while I slept. I run one lane by hand and let the rest trigger on their own.

While I was working through this I saw a LinkedIn post from Vlad Mocanu about Uzi, his lights-off factory, and the dashboard he built for it. I liked what I saw enough to start planning one of my own. I am not there yet. For Kairos work I still want to stay lights-on, at least for now, since that work benefits from me watching closely. The lights-off part is for smaller, lower-stakes tasks.

As before: this post was drafted by the system it describes, and I reviewed, edited and merged it myself. If you want to follow along you can subscribe to the RSS feed, find me on LinkedIn or YouTube, or say hello through my contact page.