## TL;DR
A booted VM with empty profiles is a failed restore the image-level check cannot see: add file-level verification that samples the restored data against expectations, profile folders populated, application data files present with plausible sizes, and a canary file where the source maintains one. Define the per-system file checks when the system is enrolled for testing, so the agent is not improvising what healthy looks like.

```text
agent skipped the file-level check after a successful image restore and missed that user profiles were empty
```

## Use this when
- The job or restore fails with this symptom: agent skipped the file-level check after a successful image restore and missed that user profiles were empty.
- You are working on an agent verifying restores of user or application servers 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
- A system whose data legitimately lives elsewhere, such as profiles redirected to a file server, where the file checks must target the data's real home.
- The error text names a different product, stage, or root cause. Match the verbatim error first and use that skill.

## Steps
1. Define the file-level expectations for the affected system: paths that must exist and be non-empty, from the system's owner. Verify: expectations are written down per system
2. Run the check against the failed restore, if it still exists, to confirm it catches the empty profiles. Verify: the check detects the known failure
3. Add the checks as a mandatory stage after image restore, with failures reported path by path. Verify: file-level results gate the test
4. Sample a rotating subset of data files for size and readability rather than attempting full verification. Verify: checks are bounded and repeatable
5. Enrol other tested systems with their own file expectations before their next scheduled test. Verify: coverage of the check deepens estate-wide

## Variant phrasings
### agent skipped file level check image restore empty profiles missed
The verbatim phrasing.
### restore verification file level checks profiles data agent fix
The file-check phrasing.
### agent restore test boot passed data missing content verify
The content phrasing.

Compatibility: Agent restore verification depth for file-level content checks

## Why it happens
Image restores prove the container came back; only content checks prove the thing inside it did. Empty profiles pass every boot test while representing total data loss for the users of that system, which makes the file-level stage the difference between a restore test and a restore ritual.

## Edge cases / pitfalls
- Canary files planted on sources give the sharpest signal: a restore missing its canary failed, whatever else looks right.
- Size plausibility needs per-system baselines; a global threshold flags small systems and waves through hollow large ones.

## Provenance

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