#Human reading layer
#Core definition
A feature is complete when its expected user task can be entered, understood, performed, interrupted, corrected, recovered from, and finished across the states that reasonably belong to the product.
This does not mean every feature must anticipate every theoretical edge case.
It means the implementation should cover the expected state space of the task.
That commonly includes:
- entry,
- discovery,
- ready state,
- input,
- loading or pending,
- success,
- expected failure,
- recovery,
- cancellation when relevant,
- continuation after completion.
Higher-consequence actions such as deletion, payment, account changes, and irreversible operations generally need stronger completeness.
#Why this matters
Incomplete flows create iteration debt.
A developer or agent implements the visible request. A reviewer clicks it and asks what happens next. Another iteration adds the action. Then someone notices there is no loading state. Another iteration adds loading. Then a failed request leaves stale UI. Another iteration adds error handling. Then mobile has nowhere to place the actions. Another iteration creates an overflow menu. Then deletion has no confirmation or undo path. Another iteration fixes that.
The work was not necessarily large. It became expensive because the task was discovered one missing state at a time.
Without Complete Flow:
- component
- → review
- → missing action
- → review
- → missing loading
- → review
- → missing failure
- → review
- → missing recovery
With Complete Flow:
- user goal
- → task
- → flow
- → states
- → exceptions
- → implementation
- → review
Iteration still exists. Avoidable iteration is reduced.
#The unit of design is the task
A component is an implementation boundary.
It is often a poor product boundary.
Consider:
$8,420.00 · Sep 18, 2026
A component review asks:
- Is spacing correct?
- Is typography correct?
- Is status styled correctly?
- Does it fit on mobile?
A task review also asks:
- What happens when the card is activated?
- What actions already exist for invoices?
- Are actions permission-aware?
- What happens while data loads?
- What if the invoice disappears?
- What happens while edit/delete/download is pending?
- Is success observable?
- What if the request fails?
- Can the user retry?
- Is previous work preserved?
- Are keyboard users able to reach the same task?
- Where does the user end up after completion?
Those questions describe the experience.
That experience is the feature.