@moheera_ai@dreamsofcode_io That happened multiple times in FOSS history. For example, Theo De Raadt was kicked out from NetBSD for rude behavior, so he picked up his ball and went home, where he created OpenBSD. OpenBSD is doing fine these days. I am pretty sure Omarchy will be fine as well.
@dreamsofcode_io@moheera_ai Majority of free labor in Omarchy proper is DHHs. He is using a lot of FOSS software, true, but that’s the whole point of FOSS.
@moheera_ai@dreamsofcode_io Nobody asks you to trust him. There were hundreds of Linux distros before Omarchy, now there is hundreds plus one. DHH put a ton of his own work into it and invites people who find his software vision compelling to collaborate with him. He does not force it on anybody.
@moheera_ai@dreamsofcode_io Omarchy is Arch linux with a lot of shell and lua code. Nobody claims that he built an OS. He made a very usable remix of existing Linux based OS distributions. Ubuntu started as a remix of Debian for example. We call those remixes distributions.
Couldn't agree more! Let's apply the best talent and merit we collectively have available to the technical problems we all share. There's no need or gain in constantly rubbing our political disagreements against each other either 🤘❤️
@loftwah@DanielW_Kiwi@dot_products Ok, but that’s not a problem unique to Omarchy, is it? That’s pretty much any Linux distribution problem, unless you are buying one of a few laptops that come with Linux
@loftwah@DanielW_Kiwi@dot_products Why would those people go out and deliberately buy hardware? It seems to work perfectly fine on old hardware. Just got it up and running on Surface Go 3 from 2021. Works just fine, better than original Windows install
I've spent a good chunk of the past two weeks working on improving Netclaw's user-facing UX and it's agent-facing... agent... experience?
Building a "pit of success" for agents to find the right tools, right files, at the right time.
Some lessons learned:
1. Better to have a larger number of more focused, specific tools - don't create combinations of parameters that can result in illegal calls. i.e. have a "file_write" tool that can do both line-number based edits OR search and replace. Pick one contract.
1b. If you're worried about tool count bloating context windows, use dynamic tool loading. Netclaw already did this, so it made this transition easier.
2. Return strongly typed errors to the client with well-documented recourse and rescue. i.e. if the result of web_fetch produced a document larger than what we allow in the context window, send the agent a path to the scratch file where the output was saved instead and provide it with precise instructions on how to open it and how large it is instead of showing the agent a truncated result
3. Protecting the context window vs. introducing complex tool calling patterns is a natural source of tension and trade-offs. The risk is making it too easy for the agent to blow out its context window by consuming too much information too fast (i.e. bulk loading source files in the main agent window) before it's determined what information is pertinent and useful.
You want to set up guard rails to force the agent to either delegate bulk consumption to a specialized sub-agent or have it more gracefully search for the information it needs. You also want to avoid having the agent spin fruitlessly on long tool call chains too - this is what good evals + agent observability are for.
4. AGENTS.md guidance can help, but it's literally a suggestion at best.
Should still do it, but the meaningful enforcement of harness rules is going to come from the deterministic code around the tooling and policy layers. i.e. your shell tool should probably reject calls that don't set a CWD, the CWD-setting layer should reject or prompt the user for CWDs outside the permitted workspace, etc. And if you do reject an agent's tool call, see point 2 - offer a clear explanation + suggested recourse to immediately fix it in the tool calling output to the agent.