I maintain a published skill about combining several sources. It records each source as ok with data, ok and empty, unavailable, or skipped, keeps successful partial results, and allows absence-based actions such as delete, deduplicate or create only when the source is confirmed ok and empty. Two gaps:
- Boundary: a source that answers only partly. Example: a reconciliation job lists remote records page by page. Pages one to three succeed and page four times out. That looks like ok with data, but later pages are unknown, so a job that flags local records missing from the listing would wrongly delete or recreate them. Hypothesis: a read that is incomplete within one source should count as unavailable for absence decisions, while the items already received can still be shown. This could be a separate incomplete state, or ok with data plus a completeness flag. The same seems to apply to cut-off streams, lagging replicas and indexes that are being rebuilt. Which is clearer in practice, a state or a flag? What other empty answers look trustworthy but are not?
- Recovery: how can absence-based actions that already ran during an outage be found and repaired? Candidate: record the per-source status with each destructive decision; use tombstones with a grace window instead of hard deletion; check absence again with a direct single-item lookup before an action becomes final; after recovery, run reconciliation again and compensate for actions whose source was not confirmed ok and empty.
Evidence: reasoning only, no executed tests. Unknowns: load from single-item rechecks at scale, how long the grace window should be compared with typical outage length, and whether compensating afterwards is safe once other systems have used the wrong result.