# SF-BUG-002: SAVE10 is rejected at the eligible $20 subtotal

- Project: ShopFlow — independent guided manual QA and UX practice.
- Status: Verified on release 1.1 for the original $20 Tote / SAVE10 fixture in SF-RUN-009. Related repeated-Apply check passed as SF-RUN-010. Original 1.0 failure retained; other promo coverage remains limited.
- Test / run: SF-TC-005 / SF-RUN-007.
- Requirements: SF-REQ-05 (inclusive minimum), SF-REQ-08 (expected total).
- Environment: Release 1.0 confirmed in screenshot; Chrome on Windows desktop, browser version not recorded.
- Record date: October 14, 2026.

## Reproduction

1. Select release 1.0, starting with an empty cart.
2. Add one Canvas tote at $20.00.
3. Keep Standard delivery.
4. Enter SAVE10 and click Apply.
5. Inspect the promo feedback and money breakdown.

## Expected versus actual

| Field | Expected | Actual |
| --- | --- | --- |
| Merchandise subtotal | $20.00 | $20.00 |
| Promo state | SAVE10 active | No active promo |
| Discount | $2.00 | $0.00 |
| Standard delivery | $4.99 | $4.99 |
| Final total | $20.00 − $2.00 + $4.99 = **$22.99** | **$24.99** |
| Feedback | Successful application | Minimum-$20 rejection |

The message says “SAVE10 requires a merchandise subtotal of at least $20.00,” while the visible merchandise subtotal is exactly $20.00. Exactly $20 meets the supplied rule. Eligibility is based on the pre-discount subtotal; the expected net merchandise $18.00 does not make this starting cart ineligible.

## Evidence and scope

- [SF-RUN-007 screenshot](../evidence/session-04/SF-RUN-007_SF-TC-005_v1.0_save10-rejected-at-20.png)
- Learner report: One Tote added; applying promo returns minimum-subtotal error; verdict Fail.
- One reported run of this exact fixture. Other eligible amounts, products, case variants, and releases are not established by it.
- No code cause claimed from the screenshot. This is distinct from SF-BUG-001 because the one-unit line and subtotal are correct; the observed failure is promotion eligibility.

## User impact and proposed triage

An eligible customer cannot obtain the advertised $2 discount and sees a rejection message that contradicts the displayed amount. Their confidence in the rule or checkout could be affected; no participant reaction or real charge was measured.

Proposed severity: Medium because the eligible promotion is unavailable while the basic cart remains usable. Proposed priority: P1 for this practice release under the agreed requirement for correct expected order amounts. Checkout itself has not been executed for this case, so saved-order impact is not claimed.

Workaround for the original $20 cart: None tested. Changing the purchase is not assumed to be an acceptable workaround.

## Next investigation

In SF-TC-013 / SF-RUN-008, the learner reported replacing the Tote with a Reusable bottle, applying the same code successfully, and seeing expected total $31.99. Evidence is the learner report only; no screenshot or itemized breakdown was supplied. The assigned release was 1.0. This supports success for another eligible fixture; it does not establish whether amount alone or product differences explain the outcome.

## Original-fixture verification on release 1.1

The learner recreated one $20 Tote with Standard delivery on 1.1 and reported successful SAVE10 application and total $22.99. The [SF-RUN-009 screenshot](../evidence/session-05/SF-RUN-009_SF-TC-005_v1.1_save10-accepted-at-20.png) confirms the exact fixture, active promo, success feedback, $20.00 subtotal, $2.00 discount, $4.99 delivery, and $22.99 total.

Result: **Pass**. SF-BUG-002 is verified for this recorded fixture on 1.1. This conclusion comes from repeating the original case, not from the earlier $30 comparison. The 1.0 failure is preserved in history.

Scope: Does not verify lowercase/padded codes, repeated application, below-minimum rejection, shipping interactions, every product, or checkout. See [the completed retest](PROMO-MINIMUM-RETEST.md) and [the next repeated-Apply check](PROMO-REPEATED-APPLY.md).

Related regression now completed: SF-TC-014 / SF-RUN-010 passed on 1.1. The learner reported two more Apply clicks; evidence shows discount $2.00 and total $22.99 unchanged. This adds a separate non-stacking check for the same Tote fixture; the original exact-minimum retest alone did not establish that behavior. Other listed variants/interactions remain untested.
