See an Agent's tasks and processes¶
Find out what an Agent knows how to do, and when: every task it has, with the situation each one is for, and every process it starts, owns or has a stage in. The lists include what the Agent inherits from its base Agents, each marked with the base it comes from. You get them by asking your agent.
Ask for the tasks¶
Your agent calls hadron_agent_tasks and gets back each task once, with its
name and URN. Two more lines appear where they apply:
- Trigger: the situation the task is for, from the index that lists it. A task no index lists has no trigger, but it's still on the list.
- Inherited from and Read through: the task comes from a base Agent. It keeps the base's URN, and the Read through address is the same loc in this Agent's own system memory.
3 task(s) for Agent hrn:agent:acme.com:backend-engineer:
- Deploy — hrn:node:acme.com:backend-engineer-system:tasks:deploy
Trigger: when a release is tagged
- Open a pull request — hrn:node:acme.com:engineer-system:tasks:open-pr
Trigger: when your change is ready for review
Inherited from: hrn:agent:acme.com:engineer
Read through: hrn:node:acme.com:backend-engineer-system:tasks:open-pr
- Hotfix — hrn:node:acme.com:backend-engineer-system:tasks:hotfix
To act on a task, ask your agent to read it. For an inherited one, have it read the Read through address: you may be able to read this Agent and not its base, and an inherited node is yours to read only through the Agent.
Ask for the processes¶
Your agent calls hadron_agent_processes. Each process is listed once, with
its Kind:
- starts or owns: listed in a processes index, with its trigger.
- involved: it has a stage that points at one of this Agent's tasks. These are worked out from the processes themselves, so they're never out of date and carry no trigger. One gap today: a process kept in a base's system memory isn't counted as involved yet, though one in the Agent's own memory or in a shared memory you can read is. A base's process still shows as starts or owns when an index lists it.
Inherited processes carry the same Inherited from and Read through lines.
What you can see¶
You see an Agent's lists if you can read its system memory, and you see its inherited entries through it without any access to the bases. An entry that lives outside the Agent's chain, such as a process in a team's shared memory, is listed only if you can read that memory too.
An Agent nobody has given tasks or processes answers "No tasks for Agent …" or "No processes for Agent …". If you can't read the Agent's system memory, the Agent is reported as not found.
Without an agent¶
The same lists come from GraphQL, with the same rules:
query {
agentTaskList(ref: "hrn:agent:acme.com:backend-engineer") {
trigger
node { urn name inheritedFrom { agentUrn } }
}
agentProcessList(ref: "hrn:agent:acme.com:backend-engineer") {
kind
trigger
node { urn name inheritedFrom { agentUrn } }
}
}
kind is STARTS (starts or owns) or INVOLVED. The CLI commands
hadron agent tasks list and hadron agent processes list are coming
(hadron-cli#874).
Related¶
- Agent inheritance: how the lists are built across a base chain, and how an inherited node is read.
- Build Agents on a shared base: give an Agent a base, and point it at its tasks and processes indexes.
- MCP tools: Agent definitions.
- Team tasks are a different thing: work handed to a worker, not the tasks an Agent knows how to run.