Self-Verification Cannot Catch Upstream Errors

Goal Output Verification Frequency Common Category Accuracy Published View source on GitHub ↗

Issue: Agent double-checks its own output by re-querying the same upstream source; finds no discrepancy because the problem was in the original source, not in the agent’s processing; reports “verification passed” despite using incorrect upstream data

Frequency: Common

Symptoms

  • Agent reports “verified correct” after re-checking same data source
  • Re-check returns same incorrect value (upstream source hasn’t changed)
  • Downstream systems trust the “verified” output and use incorrect data
  • Error only discovered when external audit compares against authoritative independent source
  • Agent given access to independent verification source catches the error immediately

Root Cause Self-verification using same source creates circular validation. If upstream source is wrong, re-querying same source returns same wrong answer. Agent finds “no discrepancy” and reports false confidence in accuracy. True verification requires checking against independent data source.

Examples

Financial Services

Agent validates corporate bond sector classification against reference-data vendor API
Gets: "Industrials"
Agent re-checks: Queries same vendor API again
Gets: "Industrials" (same vendor still returns same classification)
Agent reports: "Sector verified: Industrials"
Reality: Vendor data is 6 months stale; actually classified as "Utilities"
Independent check (GICS official classification): "Utilities"
Impact: Portfolio sector-concentration reporting incorrect

Healthcare

Agent verifies lab result interpretation against EHR system
Finds: "Hemoglobin 7.2 g/dL" (actually critical, should trigger alert)
Agent re-checks: Queries same EHR system again
Gets: "Hemoglobin 7.2 g/dL" (EHR hasn't changed)
Agent reports: "Lab result verified as recorded"
Reality: EHR lab interface has stale data from 2 days ago
Independent check (actual lab instrument): "Hemoglobin 14.2 g/dL" (normal)
Impact: False alarm; patient unnecessary intervention
Agent verifies contract term against company's contract management system
Finds: "Confidentiality term: 5 years post-termination"
Agent re-checks: Queries same contract-mgmt system again
Gets: "Confidentiality term: 5 years" (system unchanged)
Agent reports: "Term verified in contract repository"
Reality: Contract mgmt system is 3 months out of sync with latest amendment
Independent check (original signed contract): "10 years post-termination"
Impact: Confidentiality obligations underestimated

DevOps

Agent verifies deployment status in CI/CD pipeline logs
Finds: "Deployment completed successfully"
Agent re-checks: Re-queries same CI/CD logs
Gets: "Deployment completed successfully" (logs unchanged)
Agent reports: "Deployment status verified"
Reality: CI/CD logs cache results; actual prod deployment failed silently
Independent check (health check against prod): "Services down"
Impact: Production outage undetected

Supply Chain

Agent verifies supplier availability status from supplier-management database
Finds: "Supplier ABC available, 10-day lead time"
Agent re-checks: Re-queries same database
Gets: "Supplier ABC available, 10-day lead time" (database unchanged)
Agent reports: "Supplier availability verified"
Reality: Database is 1 week stale; supplier capacity exhausted as of today
Independent check (direct supplier contact): "No availability, 6+ week backlog"
Impact: Procurement plan based on unavailable supplier

Support Services

Agent verifies customer SLA status from ticket system
Finds: "SLA: 24-hour response, 1 hour remaining"
Agent re-checks: Re-queries same ticket system
Gets: "SLA: 24-hour response" (ticket hasn't changed)
Agent reports: "SLA status verified"
Reality: Ticket system's SLA calculation uses stale response timestamp
Independent check (actual timestamp of last agent response): "26 hours ago"
Impact: SLA breach not detected; escalation missed

Content Marketing

Agent verifies content approval status in CMS
Finds: "Content approved for publication"
Agent re-checks: Re-queries same CMS
Gets: "Content approved" (CMS record unchanged)
Agent reports: "Approval verified"
Reality: CMS approval status is stale; manager revoked approval 2 hours ago via email
Independent check (manager confirmation): "Status should be draft, not published"
Impact: Unapproved content published

HR

Agent verifies candidate background-check status in HRIS
Finds: "Background check passed"
Agent re-checks: Re-queries same HRIS
Gets: "Background check passed" (HRIS hasn't updated yet)
Agent reports: "Background status verified"
Reality: Background check service flagged issue 1 hour ago; HRIS sync delayed
Independent check (background service API directly): "Failed, issue flagged"
Impact: Candidate offer sent despite failed background check

Key Statistics

FindingSource
Self-verification against same source catches 0% of upstream errorsVerification study
Errors caught only by independent source check: 95%+Quality audits
Self-verification false-confidence rate: 60-80%Production audits

Mitigation Strategies

  1. Independent Verification: Verify against different data source, not same source agent checked initially
  2. Source Diversity: Require 2+ independent sources agree before reporting “verified”
  3. Surface Verification Method: Indicate which source was used for verification; flag same-source rechecks
  4. Confidence Calibration: Don’t claim high confidence when verification used same source

Metrics

  • % of verifications using same source (should be 0%)
  • % of “verified correct” outputs later found incorrect
  • Verification error-catch rate vs independent audits

Alerts

  • Agent reports “verified” using same source it initially checked → P2
  • Verification finds no discrepancy but independent check finds error → P1

References