WAH does not sort tasks. It reads the work around a task. A line called Fix authentication means nothing until you see what it blocks, how long it takes, and what your day looks like around it.
That structure is the work graph. It is the only reason Ask WAH can answer What should I work on today? with the same confidence as What's blocking the launch?
What the graph actually is
In lib/wah.ts, WORK_GRAPH is one task with a goal, a project, a due slice, and three context nodes: PR #284 on GitHub, a 2 PM call on the calendar, 4 messages in Slack. Recommendation: Fix authentication — Blocks onboarding and your 2 PM call is approaching. 35 min · High impact.
That tiny graph is the shape of every decision we rank. Goal gives leverage. Project gives scope. Context gives time pressure. Effort (35 min) gives fit. Without any one of them, the next move is a guess.
From graph to next move
When you dump what is on your plate in /app/onboarding, parseCapture() splits the thought on commas, “and”, and line breaks — no required fields. Each slice gets minutes/impact/why from a small hint table (bill/bug → Blocks launch, interview → You still own this, launch/Friday → Critical path).
rankNext() then picks the node that is most blocking and still owned by you. Not the most recent. Not the loudest in the inbox. The one where finishing a slice unlocks activation — the kind of downstream unlock the homepage graph visualizes: sources fan into WAH → stem into Overload → one next move.
Why this matters for marketing
It is easier to sell “AI that organizes your tasks.” It is more honest to sell “the graph behind one task.” Teams do not need another table. They need to see: this goal is blocked by interviews, which are owned by you, which fit in 20 minutes today.
That specificity is distributable — screenshot the graph, share the chain Interview notes → Product brief → Launch decision → Friday. If a competitor cannot draw that edge, they do not have the product.
WAH Todo is not a list with a model on top. It is a graph you can read, fix, and trust — then act on. The card is orange because the edge is real.
See the graph demo →