Skip to content

Shopify Copilot Tax Matching Agent: human-in-the-loop review + tests (stack 3/3) - #10409

Open
Onat Buyukakkus (onbuyuka) wants to merge 6 commits into
features/445769-2-agent-corefrom
features/445769-3-hitl
Open

Shopify Copilot Tax Matching Agent: human-in-the-loop review + tests (stack 3/3)#10409
Onat Buyukakkus (onbuyuka) wants to merge 6 commits into
features/445769-2-agent-corefrom
features/445769-3-hitl

Conversation

@onbuyuka

@onbuyuka Onat Buyukakkus (onbuyuka) commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Part 3 of 3 of a stacked PR that splits #7453 (AB#445769). Stacks on #10408review/merge #10407 then #10408 first.

This layer — human-in-the-loop review experience + review tests

  • Tax Match Review page and order tax-lines part; order / sales-order / shop-card page extensions (review drill-through + Discovered uptake); stateless notification codeunit.
  • Grants the review pages in the permission set.
  • Adds the review-specific tests (rate-conflict review flow + HITL notification / undo-approval) to the test app whose engine suites shipped in Shopify Copilot Tax Matching Agent: matching engine and data model (stack 2/3) #10408.
  • Architecture / TestMatrix docs.

Together, the three layers reproduce #7453 exactly (verified: this branch's tree is byte-for-byte identical to the original PR head).

Stack (bottom-up)

  1. Connector foundation → main (Shopify connector: persist order Tax Area Code, Tax Liable, and Tax Exempt (stack 1/3) #10407)
  2. Agent engine + unit tests → connector branch (Shopify Copilot Tax Matching Agent: matching engine and data model (stack 2/3) #10408)
  3. ➡ This PR — review UI + review tests → engine branch

@github-actions github-actions Bot added Build: scripts & configs Build scripts and configuration files AL: Apps (W1) Add-on apps for W1 Team: Integrations GitHub request for Integrations area labels Aug 19, 2026
@github-actions github-actions Bot removed the Build: scripts & configs Build scripts and configuration files label Aug 19, 2026
@onbuyuka
Onat Buyukakkus (onbuyuka) marked this pull request as ready for review August 19, 2026 13:11
@onbuyuka
Onat Buyukakkus (onbuyuka) requested a review from a team August 19, 2026 13:11
@github-actions github-actions Bot added this to the Version 29.0 milestone Aug 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Stale Status Check Deleted

The Pull Request Build workflow run for this PR was older than 72 hours and has been deleted.

📋 Why was it deleted?

Status checks that are too old may no longer reflect the current state of the target branch. To ensure this PR is validated against the latest code and passes up-to-date checks, a fresh build is required.


🔄 How to trigger a new status check:

  1. 📤 Push a new commit to the PR branch, or
  2. 🔁 Close and reopen the PR

This will automatically trigger a new Pull Request Build workflow run.

mynjj
Joshua (mynjj) previously approved these changes Aug 24, 2026
@onbuyuka
Onat Buyukakkus (onbuyuka) dismissed stale reviews from Joshua (mynjj), Darrick (darjoo), and Sun Haoran (haoranpb) August 24, 2026 15:50

The merge-base changed after approval.

…ce and tests

Adds the review UI on top of the matching engine: the Tax Match Review page and
order tax-lines part, the order / sales-order / shop-card page extensions with
the review drill-through and Discovered uptake, and the stateless notification
codeunit. Grants the review pages in the permission set and adds the Architecture
and TestMatrix documentation.

Adds the review-specific tests (rate-conflict review flow and the human-in-the-
loop notification / undo-approval behaviour) to the test app whose engine suites
and unit tests shipped in the previous layer.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 86eff15e-fcd8-43b1-9984-5aca2b37e9f7
…faces, review-page tuning

- Add the standard MIT copyright header to all new review-UI and review-test
  .al files, matching the rest of the Shopify connector.
- On the base Sales Order page, affix the added control (ShpfyTaxMatchApplied)
  and brand the caption/action as "Shopify Tax Match Applied" / "Review Shopify
  Tax Match" so users see the data originates from Shopify.
- Narrow the review tax-lines part helper SetTaxLineFilter to internal so it is
  not a published contract.
- SetLoadFields on the review page's tax-line and order-line scans
  (SnapshotTaxLines, HasPendingEdits, RevertTaxLineEdits, BuildTaxLineFilter).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 86eff15e-fcd8-43b1-9984-5aca2b37e9f7
Follows the Shpfy affix rename of the base-table members through the review-UI
layer: the Sales Order page control now binds Rec."Shpfy Tax Match Applied", the
review page and the HITL/rate-conflict tests reference "Shpfy Created by Agent"
and "Shpfy Verified", and Architecture.md/TestMatrix.md field references are
updated. Captions are unchanged, so the concept prose still matches the UI.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 86eff15e-fcd8-43b1-9984-5aca2b37e9f7
Reflect the review feedback in Architecture.md: the per-tax-line (0000UN0) and
per-tax-area (0000UN1) events are now Normal traces rather than Used uptake, and
the guardrail-unavailable event (0000UNV) is Error rather than Warning.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 86eff15e-fcd8-43b1-9984-5aca2b37e9f7
Reflect the scope changes in Architecture.md: 0000UMG/UMH/UMJ and
0000UMM/UMN/UMO are now ExtensionPublisher-scoped, and 0000UMM logs the HTTP
status code as a custom dimension instead of the echoed AOAI error text.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 86eff15e-fcd8-43b1-9984-5aca2b37e9f7
Log the 0000UMU "tax review opened" usage event only when the review page
actually opens; emit a distinct 0000UN9 event when the drill-through falls back
to the raw Shopify order, so the metric no longer counts opens that did not
happen.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 86eff15e-fcd8-43b1-9984-5aca2b37e9f7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AL: Apps (W1) Add-on apps for W1 Team: Integrations GitHub request for Integrations area

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants