Goal
Make data movement and ownership explicit so architecture and debugging stay tractable.
When to Use
- A feature spans multiple layers.
- Async jobs, webhooks, or AI processing complicate the path.
- Teams need clarity on where data is created, transformed, or persisted.
Instructions
- Identify source systems, transformations, and sinks.
- Trace the happy path first, then failure and retry paths.
- Mark trust boundaries, validation points, and persistence events.
- Distinguish synchronous user-facing flow from asynchronous background flow.
- Highlight points where duplication, staleness, or race conditions can occur.
Constraints
- Do not confuse control flow with data flow.
- Keep ownership explicit at each hop.
- Include error and retry behavior when async work exists.
Output Format
- Flow summary
- Step-by-step data path
- Validation/trust points
- Async and failure notes
Examples
- "Map the data flow for report generation and email delivery."
- "How does data move through this Next.js plus Supabase stack?"