Missing branch appears as zero
Detect: Aggregate totals look complete despite unavailable data.
Recover: Use explicit unknown states and block unsupported calculations.
Represent completed, failed, and unknown sub-results explicitly so a workflow can deliver useful work without misrepresenting completion.
Partial success management defines what an aggregate task means when only some branches complete. A portfolio report may remain useful with one unavailable data source, while a settlement calculation may require every mandatory input. The acceptance rule must be a business contract rather than an accidental consequence of whichever promises resolved first.
Each branch needs a stable identity, status, provenance, and freshness. Distinguish failed, timed out, skipped, and unknown outcomes; an empty result is not equivalent to a successful search with zero matches. Aggregation then uses mandatory dependencies, optional enrichment, quorum rules where appropriate, or explicit incomplete delivery.
In a prototype, force one branch to fail and inspect whether the answer falsely claims complete coverage.
Production defines branch contracts, independent retries, durable progress, and a response schema that exposes missing information.
Enterprise workflows need incremental updates, ownership of unresolved branches, bounded retention, and reporting that separates task completion from branch completion.
Lists requested branches, required inputs, and completion rules.
Run independent work and return typed status with evidence.
Persists individual outcomes and supports selective retry.
Decides whether available evidence supports a complete, partial, or blocked result.
Shows coverage, missing sections, freshness, and any pending follow-up.
flowchart TD
M["Report manifest"] --> A["Required ledger data"]
M --> B["Required position data"]
M --> C["Optional market commentary"]
A --> G["Coverage policy"]
B --> G
C --> G
G --> F["Complete report"]
G --> P["Qualified partial report"]
G --> X["Blocked pending required evidence"]Assign branch identifiers and classify mandatory versus optional inputs before execution.
Run branches within their own deadlines and resource limits.
Record success, error, timeout, or unknown with source and attempt information.
Apply the task acceptance rule to the available results rather than counting successful calls alone.
Expose missing coverage and prevent unsupported conclusions from entering the narrative.
Retry only eligible failed branches and publish a new result revision when evidence changes.
Asset management · Illustrative enterprise scenario, not a reported customer outcome.
A research agent gathers positions, ledger balances, regional market data, and explanatory commentary.
A commentary provider is unavailable while core position data is complete.
Publish a useful briefing with an accurate statement of coverage and no invented missing analysis.
A task manifest marks positions and balances mandatory and commentary optional.
If position data fails instead, the report remains blocked because the central exposure claim cannot be supported.
Monitor incomplete-report rate, time to repair missing branches, and operator comprehension of coverage; partial delivery must remain visibly partial.
| Decision | Benefit | Cost |
|---|---|---|
| Early partial delivery | Reduces waiting for optional evidence. | Requires users to understand incomplete coverage. |
| Strict all-required completion | Protects critical decisions. | Can delay otherwise useful information. |
| Incremental revisions | Allow selective repair without rerunning everything. | Require revision-aware consumers and notification rules. |
Detect: Aggregate totals look complete despite unavailable data.
Recover: Use explicit unknown states and block unsupported calculations.
Detect: A stale branch result arrives after a fresh revision.
Recover: Compare source versions and reject obsolete updates.
Include a structured task-level completion status.
Retry failed branches by identity and retain valid outcomes.
Expose coverage in the response contract and user interface.