---
title: "Verify interrupted uploads resume without corrupt attachments"
description: "Exercise a sandbox attachment upload across an externally injected interruption, checking the eventual file digest and removal of incomplete artifacts."
canonical_url: "https://vostride.com/agent-library/network-recovery/interrupted-attachment-upload.md"
md_url: "https://vostride.com/agent-library/network-recovery/interrupted-attachment-upload.md"
content_kind: "recipe"
topic: "network-recovery"
---

# Verify interrupted uploads resume without corrupt attachments

Exercise a sandbox attachment upload across an externally injected interruption, checking the eventual file digest and removal of incomplete artifacts.

## Risk

An upload progress bar can finish while the stored object is truncated or duplicated. The byte-level oracle must read the committed artifact independently and distinguish temporary chunks from user-visible attachments.

## Fixtures

- An owned sandbox upload form and a harmless fixture file with recorded byte length and checksum.
- An external fault proxy prepared to interrupt one upload chunk or connection after a known amount of data, plus a documented product retry behavior.
- A disposable parent record and a read-only attachment manifest reporting finalized objects, temporary uploads, sizes, and checksums.

## Steps

1. Attach the fixture file to the parent record and verify the displayed filename and initial upload progress.
2. Confirm the external interruption checkpoint was reached and verify the UI displays paused, failed, or retryable status without labeling the attachment complete.
3. Restore the fixture connection and use the documented resume or retry control; verify the progress reaches a final completed attachment state.
4. Save and reopen the parent record, then verify it contains one attachment with the correct filename and available download action.
5. Inspect the independent object manifest and verify the finalized file checksum and size exactly match the fixture, with no second visible attachment or abandoned object beyond the documented cleanup window.

## Expected results

- The interruption occurs during data transfer rather than after a completed upload.
- The final stored file is byte-identical to the harmless source fixture.
- The parent record links exactly one finalized attachment and no incomplete placeholder.

## False-pass traps

- Matching filename and a full progress bar cannot detect a truncated stored file.
- Retrying with a different smaller file avoids the interrupted-file integrity problem.

## Cleanup

- Remove the parent attachment and temporary test uploads, then disable the fault proxy rule.

## Use with agent-qa

Adapt this test design to your application's acceptance criteria and configured target using the [recipe execution guide](/agent-library/software-factory/turn-a-recipe-into-an-agent-qa-test.md). External fixture setup and non-UI checks require your own supported hooks or test tooling. Validate the authored test, execute it, and inspect the completed evidence; this recipe is not a recorded test result.

## References

- [agent-qa first test](/docs/agent-qa/guides/first-test.md)
- [agent-qa hooks](/docs/agent-qa/guides/hooks.md)
- [agent-qa test](/docs/agent-qa/configuration/test.md)

- [Network recovery QA recipes](/agent-library/network-recovery.md)
- [Software factory QA library](/agent-library.md)
