Use cases
What the system has to do, who triggers it and what counts as done. Every use case maps to requirement IDs.
Use cases for the first milestones
Simplified on purpose. A realistic reference model from ERP practice is worked out with AI and reviewed before the business logic is specified. All processes are extensions, not core code.
Customer orders via API
| Actor | customer system with API key |
| Trigger | POST /api/v1/sales-orders |
| Outcome | order confirmed, stock reserved, status via webhook |
| Covers | D1, D2, B5 |
Dropshipping
| Actor | fulfillment and dropshipping extensions |
| Trigger | order confirmed with a dropship item |
| Outcome | supplier order created and sent to the supplier |
| Covers | D3, D4, X6 |
Supplier reports status
| Actor | supplier system with API key |
| Trigger | accept, reject or ship action |
| Outcome | customer informed, fallback supplier on rejection |
| Covers | D5, X6, X7 |
Quote by email
| Actor | sales or customer request |
| Trigger | orderRequest.created |
| Outcome | quote PDF mailed, stock reserved for 7 days |
| Covers | A8, F5 |
Low stock alert
| Actor | worker on stock events |
| Trigger | available stock below threshold |
| Outcome | message to purchasing or Slack |
| Covers | D8 |
Dashboard by prompt
| Actor | partner using an app builder such as Lovable |
| Trigger | "Create a dashboard showing daily sales stats" |
| Outcome | working dashboard on the live API, built from the docs alone |
| Covers | H1, H2 |
Extension by prompt
| Actor | customer using Claude Code or another agent |
| Trigger | "Create a returns handling process" |
| Outcome | validated extension inside the extension points, with tests |
| Covers | H3, H4, D6 |
UC2 and UC3 in sequence
A dropshipping order with a rejection, a fallback supplier and a shipment. Orange arrows are calls from the supplier's own system.
What makes these hard
Partial everything
Partial deliveries, partial payments, partial rejections by suppliers.
Unwritten rules
Returns against old invoices after a tax change. Billing when the connection drops. From community comments.
Process boundaries
Modules pass their tests while stock, open items and revenue drift apart.
Permissions in motion
Scopes must hold in events, webhooks and process history, not only in the API.