Skip to content

Implement proper distributed builds, feeling #agentic#35

Merged
NotAShelf merged 45 commits into
mainfrom
notashelf/push-zormkosnrzmz
May 31, 2026
Merged

Implement proper distributed builds, feeling #agentic#35
NotAShelf merged 45 commits into
mainfrom
notashelf/push-zormkosnrzmz

Conversation

@NotAShelf
Copy link
Copy Markdown
Member

@NotAShelf NotAShelf commented May 30, 2026

This is not about LLM agents but I think it would be very funny to add a pluggable AI chat thingy called "Clown" so you can ask "@clown why is my build failing.

Introduces the new circus-agent component, a distributed build agent for the Circus system. This was more or less inspired by earlier discussions with @max-privatevoid about Hercules-like effects and surrounding discussion on Matrix, but it's not exactly there yet. Instead if lays out a proper foundation for secure, reliable distributed builds without relying on Nix's annoying remote builders setup. The agent is responsible for connecting to the runner, executing builds, streaming logs, and reporting system pressure metrics. Overall a solid improvement over my earlier design, which I wasn't quite proud of. It can also, ultimately, be revised to supports CI effects on the agents. This entire ordeal is powered by the circus-agent crate and the Cap'n Proto RPC server as discussed with @amaanq. I initially wanted to remain compatible with Hydra components (see #27) but that's probably not a goal before 1.0.0. It could be if there is enough interest, but I doubt it.

Supersedes #34

NotAShelf added 28 commits May 29, 2026 23:41
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0b8dfb7c80d0105cc673ff6b4cf2aa3d6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib8c7556bbe399ba5738d6dd76da980c36a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia2f5700e1fa6005ee69e9d791dd659d36a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I42396c390cf387e20c034192f9633d886a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9a60f787d19b7b0a05ef8700df18fc0c6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I41557fca7aea6a266c0043065129d3d06a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a8d65abecb9298c560f0672c2791d576a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4ae1d48fac4441f9375b7a2062b0c4df6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8fb02603633980ebbe53e7c6ada57b706a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4156411b96f9970bbb2d0edce6ee42b36a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I2f337a728ae8911161de42543b18e9e36a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0b3d3068471208154f7f22dd983038286a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I83058c84ed1409008be1b14f45c008386a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ic80e91cbb3dc0e2f836bf3e8341284356a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I16943efc9fb5bb8c525472d996fd04c86a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I785bf9a2983b31b67ab3d8a851aa58656a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: If8087cfb054d935995c7c84a20a29fc06a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iab012f07741cd851ad4ee2022265a1ef6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ibdf72c5ac1e65d2d9afd0730bcc3a1a16a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9ca0d6be965297e959f684c9dd6c7c8d6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iefa08eb57ddf78e9187e395c601c3e8f6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I97b911dd69e99238cacf9dc3c99a1e476a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib8be60716cd1377c1f7b08070fcec1a16a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I86f9614c8168f98daa311d082dfa5d0f6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I87f44192d9b1b45fc54503a59f37200b6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id76b0eb32d8bfeea594b64e6f2ad7f666a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0759ee6afe9265bab0c0db0ca1e4c8d06a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I2fbeab3795c0b0eb4705170f482d732d6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I02dfacc9ff62b2151a843732d49fd5e66a6a6964
@NotAShelf NotAShelf marked this pull request as ready for review May 30, 2026 17:51
NotAShelf added 2 commits May 30, 2026 22:43
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I5183a3213def1f1adee603a1c0fc5a926a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib1e7d6d2227fc5f3a69a7168a9b0e24f6a6a6964
@NotAShelf NotAShelf force-pushed the notashelf/push-zormkosnrzmz branch from d60dfeb to d372340 Compare May 30, 2026 19:44
NotAShelf and others added 3 commits May 30, 2026 23:04
… design

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia41f8b514bd4bf1cd7dbbf9bc222e10f6a6a6964
* nix: remove rust-overlay

* flake.lock: Update

Flake lock file updates:

• Removed input 'rust-overlay'
• Removed input 'rust-overlay/nixpkgs'

* nix: re-introduce clippy, rust-analyzer and nightly rustfmt
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I3f3b946989b25be81370d083a206d9396a6a6964
@NotAShelf NotAShelf force-pushed the notashelf/push-zormkosnrzmz branch from d372340 to 33d9373 Compare May 30, 2026 20:04
@NotAShelf NotAShelf requested a review from amaanq May 30, 2026 20:05
@NotAShelf NotAShelf force-pushed the notashelf/push-zormkosnrzmz branch 2 times, most recently from 41ebd86 to db7b0a2 Compare May 30, 2026 20:48
NotAShelf added 3 commits May 30, 2026 23:51
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ide37bf99d634fe695aeba3d97419b6346a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id77f51375c805ff48c0a0f4b3aa88da16a6a6964
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id1a1493c7c53e1381cb51dc253de59196a6a6964
@NotAShelf NotAShelf force-pushed the notashelf/push-zormkosnrzmz branch 3 times, most recently from 22de242 to 33786d6 Compare May 30, 2026 21:41
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I89ca0e7242ba79ce6d24312f304ab4e76a6a6964
@NotAShelf NotAShelf force-pushed the notashelf/push-zormkosnrzmz branch from 33786d6 to 8b02cbd Compare May 30, 2026 21:42
@amaanq amaanq force-pushed the notashelf/push-zormkosnrzmz branch from 0f9312d to 71daad7 Compare May 31, 2026 12:16
@NotAShelf
Copy link
Copy Markdown
Member Author

merging on green

@NotAShelf NotAShelf merged commit 43ab30f into main May 31, 2026
22 checks passed
@NotAShelf NotAShelf deleted the notashelf/push-zormkosnrzmz branch May 31, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants