# Specification: Test Release Mechanism

## 1. Overview

This document outlines the requirements for creating a robust mechanism to test new versions of the `@steerprotocol/uniswap-position-quoter` package before a formal release. The goal is to enable both local and remote testing without impacting the production package. This initiative includes creating clear documentation for the new process.

## 2. Functional Requirements

### 2.1. Local Testing ("Dry Run")

- A script shall be created to package the project into a local `.tgz` tarball.
- This script should place the output file (e.g., `test-uniswap-position-quoter-v1.2.3.tgz`) in a predictable location at the project root.
- The process must not publish anything to any remote registry.

### 2.2. Remote Testing (Scoped Test Package)

- A mechanism shall be implemented to publish test builds to npm.
- The package MUST be published under the name `test-uniswap-position-quoter`.
- This publishing process should be manual and explicit, triggered by a developer.
- The versioning for this test package should be independent of the main package's `semantic-release` workflow.

### 2.3. Documentation

- A new documentation file named `TESTING_GUIDE.md` must be created in the project's root directory.
- This guide must provide clear, step-by-step instructions for both the local "Dry Run" and remote "Scoped Test Package" workflows.
- It should include all necessary commands and explain how to use the generated artifacts (the `.tgz` file or the npm test package) in a separate project for testing purposes.

## 3. Non-Functional Requirements

- **Clarity:** The process must be simple and well-documented to avoid accidental publishing to the production package.
- **Isolation:** The test release process must not interfere with the existing `semantic-release` setup for the production package.

## 4. Acceptance Criteria

- A developer can run a single command to generate a local `.tgz` package.
- A developer can run a command to manually publish a new version of the `test-uniswap-position-quoter` package to npm.
- The `TESTING_GUIDE.md` file exists and accurately documents both testing procedures.
- The production build and release process for `@steerprotocol/uniswap-position-quoter` remains unchanged and unaffected.

## 5. Out of Scope

- Automation of the test publishing process. This is intended to be a manual action.
- Changes to the existing production `semantic-release` workflow.
