---
title: "Verify legacy permalinks reach the same record after release"
description: "Test saved sandbox record links across a route change, checking exact destination identity, preserved query intent, and a useful missing-record outcome."
canonical_url: "https://vostride.com/agent-library/release-regression/legacy-permalink-destination.md"
md_url: "https://vostride.com/agent-library/release-regression/legacy-permalink-destination.md"
content_kind: "recipe"
topic: "release-regression"
---

# Verify legacy permalinks reach the same record after release

Test saved sandbox record links across a route change, checking exact destination identity, preserved query intent, and a useful missing-record outcome.

## Risk

An old URL redirect can land on a plausible page while losing the specific record or selected tab. Use links captured from the previous release, including a missing-record control, and verify semantic destination rather than response success alone.

## Fixtures

- An owned candidate sandbox with externally captured previous-release permalinks for one existing record and one deleted fixture record.
- A route-compatibility specification describing preserved record identity and any supported tab or section query parameters.
- A disposable viewer and an independent record manifest including a similarly titled control record in the same workspace.

## Steps

1. Open the saved existing-record permalink and verify the candidate resolves to the same immutable identifier and workspace.
2. Verify the expected tab or section from the old link is selected under the documented compatibility rule and displays its fixture content.
3. Navigate back to the record list and reopen the resolved record, verifying it matches the link destination rather than the same-title control.
4. Open the saved deleted-record permalink and verify a useful missing or inaccessible state without redirecting to a different record; inspect the independent manifest to confirm the control identities.

## Expected results

- The old link retains its intended existing-record identity after routing changes.
- Supported query intent remains attached to the same destination.
- The missing-record control does not silently resolve to an unrelated record.

## False-pass traps

- A successful page load or HTTP response does not prove correct semantic destination.
- Testing freshly generated candidate links bypasses legacy-route compatibility.

## Cleanup

- Clear the disposable session navigation history and retain sanitized legacy-link fixtures for future releases.

## 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)

- [Release regression QA recipes](/agent-library/release-regression.md)
- [Software factory QA library](/agent-library.md)
