Standard component for optimal delegation
Translate features into precise component words so the agent has fewer gaps to guess into.
Compare two instructions:
“Make it so people can invite teammates.”
The agent fills every gap with a guess — where the rule lives, what happens at the limit, whether there’s an event, how you read the state back afterwards. You get a thing, and then you have to reverse-engineer what it decided.
Now compare it with this:
“Add an
InviteTeammatecommand on theWorkspaceaggregate. It enforces the seat-limit and no-duplicate invariants, emitsTeammateInvitedon success, and is refused otherwise. Expose remaining seats as a query.”
Almost no gaps left to guess into. Every word is a standard that has a reality living within the code, that the agent can reference for implementation.
When we cross from a discovered solution into delivery, functional design is the step where every feature is translated into exactly these words: which aggregate, which commands, which events, which queries.
That translation is only possible because, by then, you share the language. The events you learned to name here — TeammateInvited, the facts the system emits — are the thread we pick up in Module 5, where parts of the system start reacting to one another.