Unit 04.03: Handing off without handing over everything
Passing the whole state to the next step is the default and is wrong in three separate ways.
An allowlist with three kinds of exclusion
Three fields are withheld, for three different reasons.
The example below filters a realistic state.
FULL STATE HANDED ON? WHY NOT
the request yes
invoice id yes
the decision yes
internal note NO a later step may repeat it to the
person it describes
full contract text NO large; the id retrieves it
API credential NO a secret; should never travel
Three withheld, three different reasons. Only the third is about cost.
The credential should never have travelled at all. The internal note - "this customer disputes everything" - is text a downstream step might repeat to the person it describes. The contract is simply large, and its id re-fetches it.
Only the third is about cost. The first two are about what a later step can do with information it was never meant to have, which is a different and more serious category.
The mistake this prevents
The mistake is filtering the handoff by instruction - telling the next step not to mention the note. The note is in its context, so whether it appears is a matter of probability. Fields that must not travel must not be passed.
Takeaway
Define the handoff as an explicit allowlist. Passing everything carries credentials, carries text that should not be repeated, and inflates every downstream step.
