## TL;DR
Fix this in direct deposit validation agent by acting on the exact problem first: constrain the validation report to account numbers copied exactly from the employee banking record or the bank document on file, compare every reported number character by character against that source before the report is used, and fail validation for any record where the reported number differs from the source in any position. Do not rerun the whole payroll workflow unchanged, because the same inputs produce the same failure. Prove the fix on one employee first, then rerun the full scope and reconcile the results against the payroll register.

```text
agent hallucinating bank account numbers not in source data for direct deposit validation
```

## Use this when
- The operation in direct deposit validation agent fails with this exact problem: agent hallucinating bank account numbers not in source data for direct deposit validation.
- The same failure repeats on retry with unchanged inputs.
- A payroll run, tax filing, garnishment check or pay close is blocked until this is resolved.

## Not for this skill when
- The notice is a platform outage from the vendor. Resolve that first, then return here if this problem remains.
- The payroll completes and you only disagree with a pay policy decision such as a rate or a benefit rule. That is a policy change, not this failure.

## Steps
1. Reproduce the failure on one named employee in direct deposit validation agent and record the full problem text plus the employee, pay period or filing involved. Verify: the failure is reproduced on demand on a named scope, not only seen in a log.
2. Apply the specific fix for this problem: constrain the validation report to account numbers copied exactly from the employee banking record or the bank document on file, compare every reported number character by character against that source before the report is used, and fail validation for any record where the reported number differs from the source in any position. Verify: the single failing employee now behaves as the fix predicts, or the corrected value is visible on the record.
3. Check neighbouring employees, pay groups or filings that share the same pay code, deduction setup or import, because this class of failure rarely affects only one employee. Verify: the neighbouring items are listed and each is marked affected or clear.
4. Rerun the original operation in direct deposit validation agent on the previously failing scope, watching for the same problem rather than assuming success from a quiet log. Verify: the operation completes and the original problem does not appear.
5. Compare the result against the source of truth, the payroll register, the tax filings or the employee records, so a silent partial success is caught. Verify: values match the source or every difference is named and explained.
6. Record the fix, the triggering input and the verification result on the employee or run record so the next occurrence is recognised immediately. Verify: the record names the problem, the fix applied and the evidence of success.

## Variant phrasings

### agent hallucinating bank account numbers not in source data for direct deposit validation
The verbatim form searchers paste from the console, report or run log. Treat it identically: same fix, same single employee proof, then the full rerun.

### How to fix - agent hallucinating bank account numbers not in source data for direct deposit validation error hallucination failure
The how to phrasing for the same failure in direct deposit validation agent. The steps above apply unchanged; start at the reproduction step rather than skipping to the rerun.

### direct deposit validation agent troubleshooting for this failure
The symptom first phrasing used when the console hides the full problem. Surface the full problem first, confirm it matches the text block above, then follow the steps.

## Why it happens
Account numbers are long digit strings with no internal pattern to check, so an agent summarising from memory of similar records can transpose or invent digits convincingly, and a character level source comparison is the only reliable guard.

## Edge cases
- The employee was terminated, transferred or given a rate change after the failing run started. Refresh the employee state and reapply the fix against the current values, not the values from the failed run.
- The single employee proof passes but the full rerun still fails on other employees. Treat each remaining failure as its own scope, because a shared pay code or import can hide more than one cause.
- The source systems disagree on the correct value. The payroll register governs amounts paid, the tax filings govern amounts reported, and the employee record governs setup; record which source won and why.

Compatibility: direct deposit validation agent at current versions, plus the payroll system, time system or general ledger the query names; no extra tooling beyond access to the payroll register, tax filings and employee records needed to verify results.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_FKDUpa4Wt_ItEGfUdGDPzw
