# Slice 2a Manual Test Request ## Current status Manual Step 1, contextual suggestions, has already passed and does not need to be repeated unless a regression is suspected. Complete the four remaining tests in order. Perform one step at a time and record the result before continuing. ## Step 2 — Ambiguous duplicate component names 1. In **Visual Editor**, ensure one Text Input is named `hostname`. 2. Add a second Text Input and also name it `hostname`. 3. Return to **Actions & Bindings** and edit the REST action. 4. In a supported request value field, replace the value with exactly `{{`. 5. Confirm `Component: hostname` is absent from the contextual suggestion panel. 6. Open **Value source** under **Request value reference** and confirm `Component: hostname` is absent there too. 7. Confirm a valid declared variable such as `Variable: environment` remains offered. 8. Rename the second component to `hostnameSecondary`. 9. Return to the action, type `{{` again, and confirm both unique components are offered. ### Expected result The ambiguous `hostname` component name is withheld from both contextual suggestions and the guided source list. The declared variable remains available. After the duplicate is renamed, both uniquely named components are offered again. ## Step 3 — Common and custom header names 1. Edit a REST action and open **Request parameters**. 2. Under **Headers**, click **+ Add row**. 3. Focus the header-name field or begin typing. 4. Confirm `Accept` and `Content-Type` are offered by the header-name suggestions. 5. Enter the custom name `X-Custom-Vendor-Header` instead. 6. Enter any value, such as `test`. 7. Inspect canonical JSON and confirm the header is stored exactly as entered. ### Expected result Common header names including `Accept` and `Content-Type` are suggested, arbitrary custom header names remain accepted, and the canonical header object retains its existing shape with `X-Custom-Vendor-Header` stored exactly as entered. ## Step 4 — Guided-control order and alignment 1. Edit a REST action containing a query parameter such as `environment`. 2. Locate **Request value reference**. 3. Confirm the visible order is **Request destination**, **Value source**, **Insert reference**. 4. In **Request destination**, select `Query: environment`. 5. In **Value source**, select `Variable: environment` or a unique component. 6. Confirm the destination control aligns with the request-key side of the query row and the value-source control aligns with the request-value side at the current viewport. 7. Click **Insert reference** and confirm the expected canonical template appears in the query value. 8. Narrow the browser window to a supported small width and confirm the controls stack clearly without overlap. ### Expected result The controls appear in the required order, their alignment clearly represents request key and value at the normal viewport, and they stack without overlap at a supported small width. Inserting the selected source produces the expected canonical template in the query value. ## Step 5 — Existing behavior regression 1. Use guided insertion into an existing header value and confirm the old value is replaced. 2. Use guided insertion into an existing query value and confirm the old value is replaced. 3. Use guided insertion into an Endpoint URL and confirm the template is appended. 4. Use guided insertion into a non-empty body template and confirm the template is appended. 5. Confirm path parameters are not offered as guided destinations and do not show contextual template suggestions. 6. After any insertion, type additional free-form text and confirm editing remains possible. 7. Inspect canonical JSON and confirm no `inputMap`, `action.responseMapping`, runtime values, responses, loading flags, or errors were added. ### Expected result Guided insertion replaces existing header and query values, while it appends to Endpoint URL and body-template values. Path parameters remain excluded from guided and contextual insertion. Fields remain freely editable, and canonical JSON contains none of the prohibited mapping or runtime-state properties. ## Completion gate If a step fails, record the exact step and observed behavior before making any changes. If Steps 2–5 pass, reconcile the Slice 2a status and evidence documents, run final integrity and Docker health checks, and request explicit Slice 2a sign-off. Do not commit or push without explicit authorization.