Sessions
A button starts one session in the background. It runs through hc, so it keeps running when you close the Herdr window. Each session has a name, such as t-001-build.
A session does not end by itself. When its step is done, it names the next step, and waits at its prompt. Type /exit to close it. While it is open, its button only says that it is running.
Open a card, and open Agent sessions. The Sessions tab shows the sessions of the whole hub.
#Follow a session
| Button | It does |
|---|---|
| Show log | Shows the output of the session |
| Follow in a tab | Opens the session in a tab, where you can read and type |
Use Follow in a tab for probe, accept and explore, because they ask you questions. You do not need to follow build.
#What the words mean
| Word | It means |
|---|---|
| running | The agent is working. |
| needs you | The agent asked for an answer or a permission. |
| your turn | The agent finished its turn, and you have not looked. |
| idle | The agent waits, and you have looked. |
| ended | The session is over. |
When a session needs you, its card shows needs you, and the top bar counts it.
#What each session does first
scripts/factory-session.sh of the hub starts each session. It does these things first:
- Updates the hub and each checkout in
repos/. - Reads the permission mode from
factory.json. - For a build, makes a folder in
.factory/builds/, claims the task, makes the branch, and runs the setup of each repository.
You can run it by hand, from the hub:
bash scripts/factory-session.sh probe T-001#Permissions
.claude/settings.json of the hub allows the commands that the factory needs, and it denies these: a force push, git remote, npm publish and deploy commands. The sessions run in auto mode, so a command outside the list is judged when it runs. A build never pushes to the default branch.
The next step always starts from the panel. A session stops and names the next step, even when you agree to it in that session.