Comment by mattm
Your other comment is flagged as dead so I'll reply here:> I like the idea of using a “local inbox for agent sessions” because switching between different contexts can be more frustrating than the actual time it takes the agent to run.
> But I’m curious about how you see the inbox being useful beyond simply storing and replaying conversations.
> A few things would help me understand the practical value:
> What does a session actually contain? Is it just the conversation, or does it also include things like prompts, code changes, test results, Git commits, and other context? Can you reliably replay a session? Ideally, someone should be able to see what task was given, what the agent changed, what tests were run, and whether the task actually passed. What happens when work gets interrupted? If I pause one task and start another, can I come back later without losing the context or putting the project into a confusing state? How do you prove the work was completed? For example, can the system show the tests that were run, the changes made, and whether they passed? How is everything kept safe? If everything runs locally, that's great, but I'd still want to know how filesystem, network access, and logs are controlled.
> Even a small example showing something like how long it takes to go from starting a task to getting a working result, compared with the current workflow, would make the benefits much easier to understand.
---
Thanks for the questions! I like your suggestion about providing a small example. I'll put that together. Email me at matt@alcubi.ai and I will send it to you when it's ready. In the meantime, this page from the documentation may help to provide some of the details you're looking for https://alcubi.ai/delegator/docs/dev/concepts/ticket-lifecyc...
A session includes the scoped task request (ticket) and the code changes that are made on a separate git branch in a new worktree. You can enter the agent session at anytime with the "dg chat" command. That will allow you to look into the details of how the agent accomplished its work. So even though the runs execute in the background, the agent session is always available if you want to jump into it. I'll use this command when something was unclear to ask for follow-up changes. The agent will still have all the context in its session from the work it previously did so there's no extra context loading needed in these case.
If works gets interrupted, the ticket status moves to the Failed inbox. You'll see that clearly from the output of the "dg" command which shows the various inboxes. When this happens I'll use "dg chat" to attach to the agent session to understand what went wrong. Usually, this is something like the Claude/Codex API being down. When the API is back up, I run "dg restart" to restart the processing from where it left off. Since all work is done in separate branches and worktrees there's no ability for your project's main branch to be left in a confusing state.
The agents will run your test suite that's setup. delegator is just the orchestration layer. You can customize any steps you'd like the agents to follow via your AGENTS.md file. That will be taken into account when the agents run. So for example, you could add in your AGENTS.md file that for any delegator ticket they work on to include details in the commit of tests that were run. It's very flexible like that so you can customize it for your setup.
For safety, I've gotten to the point where I trust that agents are only accessing data that they need so there are currently no guardrails in place. This is something you could add to your AGENTS.md file to get information about but that's not deterministic. I could add in features to support this. Please email me at my email above to let me know a bit more about what you'd like to see and I can work on that.
Hope this helps and thanks for taking a look!