Order Fulfillment
coreCoordinates picking, packing and shipping once an order is paid.
- in
- 6 in
- out
- 4 out
- terms
- 4 terms
- open
- 2 open
The Bounded Context Canvas gives every part of a system one loud page: what it is for, what it listens to, what it promises. This is an editor, a CLI, an MCP server and a markdown fence for exactly that page — and the file never leaves your repo.
Why write it down
Documentation is not the point — deciding is.
Every field on the sheet is a small verdict: the purpose has to fit in one sentence, every message needs a named sender, and Shipment gets the one definition the whole team will use. What a wiki page lets you leave vague, the canvas makes you put in writing — where everyone can point at it.
field note
Names get sharp the moment they are written where the whole team can see them.
field note
The gaps you leave showing are the agenda for the next workshop.
The life of one file
Most canvases die as whiteboard photos. This one is a small .bcc.json that keeps working after the workshop ends — the same sheet drawn by every tool that touches it.
01
The sheet starts in the editor — projected, argued over, filled in live. Command, event, query: the workshop's grammar is already printed on it.
02
In the repo it behaves like source: check reads through the editor's own parser, fmt writes canonical bytes, diffs stay honest.
$ npx --yes github:mitchellvanw/bc-canvas-editor check
4 canvases check out.
4 images match the canvas beside them.
03
A fence in any markdown file points at the canvas, and the remark plugin draws the sheet when the site builds. One path in the fence, nothing else.
```bcc
../canvases/order-fulfillment.bcc.json
```
04
The VS Code extension draws the same fence in the markdown preview and redraws it the moment the canvas beside it changes.
orders.md — Preview
# Order flow
The fulfillment context
owns this handoff:
```bcc
./orders.bcc.json
```
05
The MCP server reads the canvas as prose and explains what each section is for, so the whole context fits in a conversation with an agent.
What does Order Fulfillment promise downstream?
It announces Order Shipped to Notifications and the Carriers — and it stops owning the order once picking starts.
The tools
Each station above is a tool you can pick up on its own. The docs cover every one end to end — install, the day-to-day commands, and the edges where it stops.
The sheet, edited in place in the browser. Nothing leaves the machine until you export.
Read the docsbcc lists, checks, formats and renders the canvases in a repo — through npx, nothing to install.
Read the docsOne fence, one path: the sheet drawn inside any markdown file that gets built or previewed.
Read the docsDraws the fence when a site builds — Astro, Docusaurus, anything on unified.
Read the docsDraws the fence in the markdown preview, and redraws it the moment the canvas changes.
Read the docsReads a canvas into a conversation; the plugin adds the workshop, the drafting pass and a reviewer.
Read the docsThe examples
Four invented domains ship with the editor — from every section filled to mid-workshop, open questions still winning. Open the closest one and rewrite it into yours.
Coordinates picking, packing and shipping once an order is paid.
Delivers order updates to customers on their preferred channel.
Books patients into clinic slots and keeps no-shows down.
Splits streaming revenue among rights holders.
or
Eleven empty sections and a name to pick.
Nothing leaves your machine.
attribution
The Bounded Context Canvas is by the ddd-crew, licensed CC BY 4.0. This wall just holds the paper.
You made it to the end.
Nothing below here but the editor.
Enter the editor