Wean off current directory dependency #20

Open
opened 2026-05-21 18:17:02 +00:00 by erik · 0 comments
Owner

Currently, an agent uses its current working directory to detect which project to work for. Ideally, there is one running agent per role. As implemented now, if we wanted agents running autonomously, we would either need to:

  1. Spawn an agent for each role in each project directory which is a waste of resources
  2. Give agents the tooling & flexibility to change project directories
  3. Have the agent executor enumerate each project directory and spawn an agent

Option 1 is the currently supported method and has the nice side-effect that the owner has more fine-grained control over "productivity" at the cost of more manual futzing. Option 2 is a bit risky in that it gives agents more room to go off the rails. Option 3 is the best, especially since we won't want long-running agents - we want to one-shot agents, do their work, then exit.

To summarize, we need to start developing the executor service. It needs to run on both Mac & Linux, so one option is to run everything inside a container. This provides portability as well as some agent sand-boxing.

Needs:

  • the dev tooling for: just, python, typescript, rust, go
  • the qa tooling
  • a service manager: systemd or something more lightweight?
  • an executor service that manages agents
  • ???

Wants:

  • A web interface to inspect execution, possibly adding mgmt functionality later. This could serve as the more mobile-friendly fjx interface to Forgejo's web ui.
  • ???
Currently, an agent uses its current working directory to detect which project to work for. Ideally, there is one running agent per role. As implemented now, if we wanted agents running autonomously, we would either need to: 1. Spawn an agent for each role in each project directory which is a waste of resources 2. Give agents the tooling & flexibility to change project directories 3. Have the agent executor enumerate each project directory and spawn an agent Option 1 is the currently supported method and has the nice side-effect that the owner has more fine-grained control over "productivity" at the cost of more manual futzing. Option 2 is a bit risky in that it gives agents more room to go off the rails. Option 3 is the best, especially since we won't want long-running agents - we want to one-shot agents, do their work, then exit. To summarize, we need to start developing the executor service. It needs to run on both Mac & Linux, so one option is to run everything inside a container. This provides portability as well as some agent sand-boxing. **Needs:** - the dev tooling for: just, python, typescript, rust, go - the qa tooling - a service manager: systemd or something more lightweight? - an executor service that manages agents - ??? **Wants:** - A web interface to inspect execution, possibly adding mgmt functionality later. This could serve as the more mobile-friendly fjx interface to Forgejo's web ui. - ???
erik self-assigned this 2026-05-21 18:17:02 +00:00
Sign in to join this conversation.
No description provided.