I used to be a language lawyer. In the late 80s I _studied_ the ARM (Annotated Reference Manual for C++). I knew the language cold, inside and out. I could make it do backflips. I shipped a lot of code using it. A LOT.
I’ve attacked other languages with a similar intensity and depth. Until recently, that was simply the only way to become adept at building software systems.
I now consider the deep understanding of a language to be a supreme waste of time and effort. I don’t want to learn Rust, or Golang, or Typescript, or any of the thousands of other languages out there. I’ll leave that to my agents.
What I need now is to understand the high level gestalt of the system. I want to see the systems and subsystems. I don’t need to inspect the cogs. If I truly need to understand a detail at the cog level, I’ll interrogate my agents. I’m not going to pretend to be a language expert anymore.
@glwillen the agent don't have any call on this. he can't just post a check. only the local shipcheck or the GitHub app can do it
and you can just check our code: https://t.co/VH7xMxwILq
My coding agents run the tests before they push. Then the PR waits while GitHub Actions runs the same tests again. Around the 10th of every month I run out of free minutes and start paying for each one.
So I made the agent's own run count as the PR's check
@glwillen nice! the idea here is that it's all based on the git tree.
we hash the tree the agent would commit (same as git does), run the checks itself and save the result under that tree + main's config
when a PR head has that tree, the GitHub App posts it
it's the ecosystem that uses shipcheck, brain, git-cow, sandbox-jail and lots of other things I'm building now, and it will be able to build anything.
anything.
that's the plan. we are almost there.
next step: orch will not be just an experiment.
it's turning into a product: coding agents can write the code, but a person still runs the loop around them.
every task goes to an agent with quota left, runs in its own worktree, gets reviewed by a second agent, passes CI and merges under your branch protection (that's important). Then the tasks that waited on it start.
My agents also broke things 381 times on their machines and fixed everything before any PR saw it. 0 actions minutes paid.
Checkout how it works and what it can do:
https://t.co/0XIZsETo4N
shipcheck runs your CI on the machine where the agent works, and the GitHub App posts the results as the PR's required checks. The agent only starts the run, so it can't fake a pass.
Two weeks on my repos: 592 PRs, and 87% of pushes needed no new runs!
sbpf linker is released with new patches!
- support to signed 64 bit div/mod (fixed by me and few follow ups from a contributor dean randomly met in singapore)
- support to unsigned/signed 128 bit div/mod (reported and fixed by @ChrisTorresLugo and @gabrielmkoerich)
- support to abort (reported and fixed by @ChrisTorresLugo again)
- fix to a relocation issue related to PIC (fixed by bumping bpf-linker)
my ultimate life hack:
delete the fork and open source your work 💅✨