## TL;DR
Warnings on a Velero restore are a list of things that did not restore, and the report must enumerate them: the agent declared success while PVCs were missing because it read only the restore's phase. Change completion criteria to require the phase plus a zero count of unrestored resources by kind, verify the namespace's PVCs are bound and pods running, and report any gap as a partial restore with the missing items named.

```text
agent ignored Velero partial failure warnings and declared a namespace restore complete with missing PVCs
```

## Use this when
- The job or restore fails with this symptom: agent ignored Velero partial failure warnings and declared a namespace restore complete with missing PVCs.
- You are working on an agent verifying Velero namespace restores and the failure repeats on the same target or schedule.
- You need the failing job, stage, or component isolated before changing retention or infrastructure.

## Not for this skill when
- Warnings that are documented as harmless for a specific resource type, where the fix is an explicit allowlist with reasons, not ignoring warnings wholesale.
- The error text names a different product, stage, or root cause. Match the verbatim error first and use that skill.

## Steps
1. Re-open the restore's results and list every warning and error item by resource kind and name. Verify: the unrestored set is enumerated
2. Check the live namespace: PVC phases, pod states, and any resource the application needs that is absent. Verify: the real-world gap is confirmed
3. Restore or recreate the missing items from the same backup and re-verify the namespace end to end. Verify: the namespace is actually complete
4. Rewrite the verification to count restored versus expected resources by kind and to fail on any unexplained difference. Verify: completion requires a reconciled count
5. State warnings verbatim in the restore report so a human can judge any allowlisted ones. Verify: warnings become part of the record

## Variant phrasings
### agent ignored velero partial failure warnings restore complete missing pvcs
The verbatim phrasing.
### velero restore warnings agent declared success verify resources fix
The verify phrasing.
### agent namespace restore incomplete pvcs warnings not read
The hollow-restore phrasing.

Compatibility: Agent interpretation of Velero restore warnings and partial failures

## Why it happens
Velero restores are per-resource operations bundled under one phase, and the phase can read completed while individual resources failed with warnings. An agent reading only the headline inherits the bundle's optimism and certifies namespaces that applications then discover are hollow.

## Edge cases / pitfalls
- Expected-versus-restored counts need the backup's own resource list as the denominator, not the live namespace's wishes.
- Pods running is not proof of data presence; pair resource checks with one application-level probe.

## Provenance

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