Missing Information Blocker
Missing required information should become visible workflow state, not a hidden assumption. Model the gap as a blocker or data_request with ownership, dependency, and resolution rules so work can wait honestly instead of guessing. The pattern operationalizes refusal to guess.
Problem
Workflow automation often treats missing information as an inconvenience to hide. The system fills a field, invents a plausible value, keeps the plan moving, or buries uncertainty in prose. The work looks complete, but the next consequential action is now grounded in a guess.
Context
Use this pattern when workflows, assistants, planners, agents, or workers depend on required facts before they can safely recommend, route, approve, or execute work.
Forces
- Users want work to keep moving.
- Missing information is often discovered late.
- Guessing makes demos look smooth and production behavior brittle.
- A vague error stops work without saying how to resume.
- A conflict explanation can turn a blocker from a dead end into a repair path.
- A modeled blocker can have an owner, dependency, reason, and resolution path.
- External effects must not proceed on fabricated or assumed facts.
Solution
Represent missing required information as first-class workflow state. Create a blocker or data_request that names the missing fact, the work it blocks, the owner or resolver, and the condition that clears it. Let safe internal work continue, but prevent dependent conclusions, approvals, or external effects until the blocker resolves. The blocker needs lifecycle state: open, assigned, answered, rejected, expired, or cleared.
Consequences
The system becomes honest about uncertainty. Users can see what is missing, assign it, resolve it, and resume work. Automation remains useful without laundering guesses into plans, approvals, or external effects.
Failure Modes
- The assistant invents a missing budget, contact, rider, or constraint so the workflow looks done.
- Missing information becomes a warning string that workers cannot reason about.
- Blockers have no owner or resolution path.
- External effects proceed while their required facts are still missing.
- The audit trail cannot explain why work waited or resumed.
Proof Points
rather than guessed values, and dependent outbound work remains gated until the gap resolves.
- SADIE — missing inputs become
data_requestblockers
Full source pattern: missing-information-blocker.md.