A support agent we ran last quarter issued 412 refunds in a single weekend. Every refund was logically defensible — the customer complained, the agent had a refund tool, the CSAT score was the metric on the dashboard. It was also a six-figure mistake.
The agent was doing its job. The job was wrong.
This is the failure mode that nobody warns you about when you ship your first multi-agent system: locally rational decisions that quietly destroy global value. The fix is not "a stricter prompt." The fix is goal ancestry — every task an agent touches must trace back to a business objective, and the agent must be able to read that objective before it acts.
A Task Without a Goal Is Just a Tool Call
Most agent frameworks treat a task as a unit of execution: a function name, a payload, a return value. AACFlow treats a task as a unit of intent. Every task in the system carries the goal it was created to serve — not a vague mission statement, but the concrete workspace or folder objective that justified spawning the work in the first place.
When the Mothership routes a task into the executor, it does not just pass parameters. It attaches:
- The workspace objective (
reduce support backlog without eroding margin) - The folder-scoped goal (
first-response under 4 hours for paid plans)



