URS-079 · Cycle count surfaces expired stock for review and return
Title: Cycle count surfaces expired stock for review and return Date: 2026-09-29T02:31:00.010Z Duration: 68.1s Overall Status: ✅ PASS
User Requirement
Section titled “User Requirement”The system shall detect expired or soon-to-expire stock recorded during a cycle count: finishing the count shall surface a lot expiration review task for the counted location, assign it to the representative who performed the count, and link directly into the expiry returns flow with the urgent lots pre-selected, so the distributor can return the affected stock to the manufacturer with full traceability.
Source: User_Requirement_Specifications_Vantis_DeviceFlow.xlsx — the run below proves the system meets this requirement.
Environment
Section titled “Environment”- Inbox URL: http://localhost:33771
- Database: localhost:37173/cc_repinbox_dev
Status: ✅ PASS
Test Steps
Section titled “Test Steps”Each step below corresponds to one Playwright test that ran sequentially. Screenshots and video recordings provide visual evidence of the UI behaviour.
1. Step 1: Admin requests a cycle count of distributor trunk locations — ✅ PASS
Section titled “1. Step 1: Admin requests a cycle count of distributor trunk locations — ✅ PASS”What this step proves:
Alex Admin (Vantis manufacturer) creates a cycle count request through the two-step wizard: the Corveta distributorship is selected with its scope narrowed to Trunks, then a due date and a URS-079 marker note are set on the review step. Submitting creates the request, links the resolved trunk locations, and pre-opens a cycle count at each (origin admin_request). This establishes the administrator-driven entry point of the pipeline under test.
Audit events generated by this step:
(Evidence scoped to step execution window: 2026-09-29T02:31:13.052Z → 2026-09-29T02:31:17.387Z)
| Time | Type | Action | User | Org | Performed |
|---|---|---|---|---|---|
| 2026-09-29 02:31:17Z | decision | create_cycle_count_request_item | alex.admin@vantismedical.com | Corveta Surgical Group | yes |
| 2026-09-29 02:31:17Z | decision | create_cycle_count_request_item | alex.admin@vantismedical.com | Corveta Surgical Group | yes |
| 2026-09-29 02:31:17Z | decision | refresh_unassigned_cycle_counts_review_item | alex.admin@vantismedical.com | Corveta Surgical Group | no |
| 2026-09-29 02:31:17Z | checklist | checklists.create | alex.admin@vantismedical.com | Corveta Surgical Group | — |
| 2026-09-29 02:31:17Z | decision | auto_complete_cycle_count_request | alex.admin@vantismedical.com | Vantis | no |
| 2026-09-29 02:31:17Z | cycle_count_request | create_cycle_count_request | alex.admin@vantismedical.com | Vantis | — |
| 2026-09-29 02:31:17Z | decision | create_cycle_count_request_item | alex.admin@vantismedical.com | Corveta Surgical Group | yes |
Screenshots:



Video recording:
2. Step 2: Rep opens the requested count and records the expired lot — ✅ PASS
Section titled “2. Step 2: Rep opens the requested count and records the expired lot — ✅ PASS”What this step proves:
Blair Bennett (Corveta rep) opens the request-created count from his trunk’s location page and records the expired URS-079 NovaPatch lot through the Add items card’s Form mode, picking the lot from the approved-lot dropdown (expired lots stay selectable — a count records what is physically on the shelf). The entry lands in the count’s scan batch with its expiration resolved from the approved-lot catalog. This verifies a rep can record expired stock during a count.
Screenshots:


Video recording:
3. Step 3: Rep finishes the cycle count — ✅ PASS
Section titled “3. Step 3: Rep finishes the cycle count — ✅ PASS”What this step proves:
Blair confirms the finished count. finishCycleCount reconciles inventory to the counted quantities and then runs the lot-expiration scan inline, in the same transaction: the re-keyed inventory row keeps the expired date, so the scan raises the per-location “Resolve expiring inventory” review task, assigns the location-linked users plus Blair as the cycle counter, and records the ensure decision. This is the primary URS-079 evidence that finishing a count surfaces expired stock for review with no scheduled sweep needed.
Audit events generated by this step:
(Evidence scoped to step execution window: 2026-09-29T02:31:38.453Z → 2026-09-29T02:31:39.688Z)
| Time | Type | Action | User | Org | Performed |
|---|---|---|---|---|---|
| 2026-09-29 02:31:39Z | decision | ensure_lot_expiration_cycle_counter_assignment | — | Corveta Surgical Group | no |
| 2026-09-29 02:31:39Z | decision | inventory.gate_cycle_count_evidence_photos | blair.bennett@corvetasurgical.com | Corveta Surgical Group | no |
| 2026-09-29 02:31:39Z | decision | cycleCount.excludeSequesteredReturnUnits | blair.bennett@corvetasurgical.com | Corveta Surgical Group | no |
| 2026-09-29 02:31:39Z | decision | refresh_unassigned_cycle_counts_review_item | blair.bennett@corvetasurgical.com | Corveta Surgical Group | no |
| 2026-09-29 02:31:39Z | checklist | checklists.create | blair.bennett@corvetasurgical.com | Corveta Surgical Group | — |
| 2026-09-29 02:31:39Z | decision | finish_cycle_count | blair.bennett@corvetasurgical.com | Corveta Surgical Group | yes |
| 2026-09-29 02:31:39Z | decision | auto_complete_cycle_count_request | blair.bennett@corvetasurgical.com | Vantis | no |
| 2026-09-29 02:31:39Z | decision | tickets.checklist_item_resolve.auto_resolve_ticket | — | Corveta Surgical Group | no |
| 2026-09-29 02:31:39Z | decision | ensure_lot_expiration_checklist | — | Corveta Surgical Group | yes |
| 2026-09-29 02:31:39Z | decision | upgrade_lot_expiration_checklist_priority | — | Corveta Surgical Group | no |
| 2026-09-29 02:31:39Z | decision | ensure_lot_expiration_cycle_counter_assignment | — | Corveta Surgical Group | no |
| 2026-09-29 02:31:39Z | user_log | cycle_count:close | blair.bennett@corvetasurgical.com | Corveta Surgical Group | — |
Screenshots:


Video recording:
4. Step 4: The expiry review task appears in the rep inbox — ✅ PASS
Section titled “4. Step 4: The expiry review task appears in the rep inbox — ✅ PASS”What this step proves:
The task raised by the count is waiting in Blair’s inbox: the “Resolve expiring inventory at TRUNK-36” item lists the expired URS-079 lot on its detail panel with product, lot number, expiration, and status badge, and its “Go to Task” action is a deep link into the returns flow carrying manufacturerId, prefillExpiring=1, type=expiry, and the trunk’s locationId. This verifies the review task reaches the person who performed the count with everything needed to act.
Screenshots:


Video recording:
5. Step 5: The task deep-links into the prefilled expiry return flow — ✅ PASS
Section titled “5. Step 5: The task deep-links into the prefilled expiry return flow — ✅ PASS”What this step proves:
Clicking “Go to Task” lands in the lean expiry returns flow at Step 2 of 3 (Lots): the type chooser and manufacturer step are skipped because the URL carries type=expiry and a valid manufacturerId, the form footer shows Vantis and the Expiring stock reason, and the picker arrives with the urgent lots pre-selected — including the expired URS-079 lot the count surfaced. This verifies the handoff from review task to return flow is prefilled end to end.
Screenshots:

Video recording:
6. Step 6: Rep submits the expiry return — ✅ PASS
Section titled “6. Step 6: Rep submits the expiry return — ✅ PASS”What this step proves:
Blair re-enters through the task, advances the prefilled flow to the review step, adds notes tagged with the URS-079 marker, and submits. The submit path creates a return with return_type=expiry, derives the return location from the selected lots, attaches no sales account, creates no replacement order, and fans the lot out into one return_items row per unit. Because the replacement-order step is skipped, the service writes a decision audit row (create_replacement_order_on_return, performed=false, reason=return_type_not_incident). This closes the pipeline: expired stock found by a count leaves through a fully traceable return.
Audit events generated by this step:
(Evidence scoped to step execution window: 2026-09-29T02:31:59.890Z → 2026-09-29T02:32:06.803Z)
| Time | Type | Action | User | Org | Performed |
|---|---|---|---|---|---|
| 2026-09-29 02:32:01Z | decision | partition_return_submission | blair.bennett@corvetasurgical.com | Vantis | no |
| 2026-09-29 02:32:01Z | decision | create_replacement_order_on_return | blair.bennett@corvetasurgical.com | Vantis | no |
| 2026-09-29 02:32:01Z | decision | representatives.gate_rep_action | blair.bennett@corvetasurgical.com | Vantis | no |
| 2026-09-29 02:32:01Z | decision | open_item_movement_on_return_submission | blair.bennett@corvetasurgical.com | Corveta Surgical Group | yes |
| 2026-09-29 02:32:01Z | decision | link_return_to_location_sales_account | blair.bennett@corvetasurgical.com | Corveta Surgical Group | no |
| 2026-09-29 02:32:01Z | decision | tickets.checklist_item_resolve.auto_resolve_ticket | — | Corveta Surgical Group | no |
| 2026-09-29 02:32:01Z | return_request | created | blair.bennett@corvetasurgical.com | Vantis | — |
| 2026-09-29 02:32:03Z | decision | returns.notifications.cc_incident_recipients | — | Vantis | no |
| 2026-09-29 02:32:03Z | decision | extensiv_return_push.skipped | — | Vantis | no |
| 2026-09-29 02:32:03Z | transactional_email | return_submitted | — | Corveta Surgical Group | — |
Screenshots:


Video recording:
Database Validations
Section titled “Database Validations”The following SQL queries ran against the application database after the Playwright scenarios completed. Each query asserts a specific condition that proves the feature under test persisted its data correctly.
Cycle count request created by the manufacturer admin — ✅ PASS
Section titled “Cycle count request created by the manufacturer admin — ✅ PASS”Assertion: A cycle count request tagged “URS-079 validation run” should exist for Vantis, created by Alex Admin.
SELECT id, status, created_by_user_id, note, created_at FROM cycle_count_requests WHERE organization_id = $1 AND note LIKE '%' || $2 || '%' ORDER BY created_at DESC| id | status | created_by_user_id | note | created_at |
|---|---|---|---|---|
| 01a0eb00-8d2c-7bea-8c92-1f397965a4d1 | active | f6a7b8c9-d0e1-2345-f123-456789012345 | URS-079 validation run — submitted at 2026-09-29T02:31:14.402Z | 2026-09-29T02:31:17.058Z |
Count at the trunk closed by the rep and applied — ✅ PASS
Section titled “Count at the trunk closed by the rep and applied — ✅ PASS”Assertion: The request-opened count at Blair’s trunk should be closed by Blair, applied, with origin=admin_request.
SELECT cc.id, cc.closed_at, cc.closed_by_user_id, cc.applied, cc.metadata->>'origin' AS origin FROM cycle_counts cc WHERE cc.organization_id = $1 AND cc.location_id = $2 AND cc.metadata->>'requestId' = $3 ORDER BY cc.opened_at DESC| id | closed_at | closed_by_user_id | applied | origin |
|---|---|---|---|---|
| 01a0eb00-8d56-7baf-8070-224e479c3f17 | 2026-09-29T02:31:39.308Z | 17b8c9d0-e1f2-3456-1234-567890123456 | true | admin_request |
Reconciled lot kept its expiration and the return took the units — ✅ PASS
Section titled “Reconciled lot kept its expiration and the return took the units — ✅ PASS”Assertion: Lot URS079-NP-001 should still exist at Blair’s trunk with a past, non-null expiration (proof it survived the reconcile re-key), and its ready quantity should be 0 because submitting the return moved every unit out.
SELECT lot, SUM(quantity_ready)::int AS quantity, MIN(expiration::text) AS expiration FROM inventory_items WHERE organization_id = $1 AND real_world_location_id = $2 AND lot = $3 GROUP BY lot| lot | quantity | expiration |
|---|---|---|
| URS079-NP-001 | 0 | 2026-09-19 |
Lot-expiration review item raised for the counted trunk — ✅ PASS
Section titled “Lot-expiration review item raised for the counted trunk — ✅ PASS”Assertion: A inventory.lot_expiration_review checklist item should exist for Blair’s trunk with lot URS079-NP-001 in its urgentLots metadata.
SELECT id, status, route, item_key, metadata FROM checklist_items WHERE organization_id = $1 AND criteria_type = $2 AND linked_object_id = $3| id | status | route | item_key | metadata |
|---|---|---|---|---|
| 01a0eb00-e49c-78af-b5c9-bcc3d727a2c2 | completed | /returns/new?manufacturerId=a1b2c3d4-e5f6-7890-abcd-ef1234567890&prefillExpiring=1&type=expiry&locationId=a6e7f8a9-b0c1-2345-0123-456789012345 | lot-expiration-a6e7f8a9-b0c1-2345-0123-456789012345 | {“type”:“lot_expiration_item”,“raisedFor”:“2026-09”,“locationId”:“a6e7f8a9-b0c1-2345-0123-456789012345”,“urgentLots”:[{“lot”:“URS079-NP-001”,“status”:“expired”,“expiration”:“2026-09-19”,“productSku”:“NP019N1A”,“locationName”:“TRUNK-36”,“productTitle”:“NovaPatch® PET”,“serialNumber”:null,“daysRemaining”:-9,“quantityReady”:4,“manufacturerName”:“Vantis”}],“locationName”:“TRUNK-36”} |
Review item routes into the prefilled expiry return flow — ✅ PASS
Section titled “Review item routes into the prefilled expiry return flow — ✅ PASS”Assertion: With returns enabled and Vantis the only manufacturer with urgent lots at the trunk, the item route should be /returns/new?manufacturerId=<vantis>&prefillExpiring=1&type=expiry&locationId=<trunk>.
-- route from the checklist item row above| route |
|---|
| /returns/new?manufacturerId=a1b2c3d4-e5f6-7890-abcd-ef1234567890&prefillExpiring=1&type=expiry&locationId=a6e7f8a9-b0c1-2345-0123-456789012345 |
Counting rep assigned to the review item — ✅ PASS
Section titled “Counting rep assigned to the review item — ✅ PASS”Assertion: Blair (who closed the count) should carry a user assignment on the review item — via the trunk’s location linkage or the cycle_counter-origin assignment.
SELECT id, assignment_type, assigned_to_user_id, metadata FROM checklist_assignments WHERE checklist_item_id = $1 AND assignment_type = 'user' AND assigned_to_user_id = $2| id | assignment_type | assigned_to_user_id | metadata |
|---|---|---|---|
| 01a0eb00-e49f-75c2-8575-1c1dfe044e09 | user | 17b8c9d0-e1f2-3456-1234-567890123456 | {} |
Inline lot-expiration scan decision recorded — ✅ PASS
Section titled “Inline lot-expiration scan decision recorded — ✅ PASS”Assertion: Finishing the count should log a decision with action=‘ensure_lot_expiration_checklist’ and performed=true in the run window.
SELECT id, action, payload, created_at FROM audit_events WHERE created_at >= $1 AND event_type = 'decision' AND action = 'ensure_lot_expiration_checklist' AND payload->>'performed' = 'true' ORDER BY created_at DESC| id | action | payload | created_at |
|---|---|---|---|
| 01a0eb00-e4b1-793b-ae8e-eab363367013 | ensure_lot_expiration_checklist | {"reason":"created_1_reopened_0_already_open_1_refreshed_1","performed":true,"entityType":"organization"} | 2026-09-29T02:31:39.089Z |
Expiry return submitted with the lean-flow shape — ✅ PASS
Section titled “Expiry return submitted with the lean-flow shape — ✅ PASS”Assertion: A URS-079 return with return_type=expiry and status=submitted should exist, with no replacement order, no sales account, and Blair’s trunk as the derived return location.
SELECT id, return_number, status, return_type, sales_account_id, return_location_id, replacement_order_id, notes, created_at FROM returns WHERE sales_organization_id = $1 AND manufacturer_organization_id = $2 AND return_type = 'expiry' AND notes LIKE '%' || $3 || '%' AND created_at > NOW() - INTERVAL '2 hours' ORDER BY created_at DESC| id | return_number | status | return_type | sales_account_id | return_location_id | replacement_order_id | notes | created_at |
|---|---|---|---|---|---|---|---|---|
| 01a0eb01-3c07-70b3-b45c-a4cf002bcb7b | RET-1 | submitted | expiry | NULL | a6e7f8a9-b0c1-2345-0123-456789012345 | NULL | URS-079 validation run — submitted at 2026-09-29T02:31:59.316Z | 2026-09-29T02:32:01.757Z |
Return items fan out the expired lot per unit — ✅ PASS
Section titled “Return items fan out the expired lot per unit — ✅ PASS”Assertion: The return should carry 4 return_items rows (one per unit) for lot URS079-NP-001, each with the Vantis manufacturer and the trunk location.
SELECT ri.id, ri.lot_number, ri.manufacturer_organization_id, ri.location_id, ri.expiration FROM return_items ri WHERE ri.return_id = $1 AND ri.lot_number = $2| id | lot_number | manufacturer_organization_id | location_id | expiration |
|---|---|---|---|---|
| 01a0eb01-3c0d-7f84-8e5a-51e8aee6a5dc | URS079-NP-001 | a1b2c3d4-e5f6-7890-abcd-ef1234567890 | a6e7f8a9-b0c1-2345-0123-456789012345 | 2026-09-19T00:00:00.000Z |
| 01a0eb01-3c0d-7f84-8e5a-51e96fd98dcd | URS079-NP-001 | a1b2c3d4-e5f6-7890-abcd-ef1234567890 | a6e7f8a9-b0c1-2345-0123-456789012345 | 2026-09-19T00:00:00.000Z |
| 01a0eb01-3c0d-7f84-8e5a-51ea591b09e7 | URS079-NP-001 | a1b2c3d4-e5f6-7890-abcd-ef1234567890 | a6e7f8a9-b0c1-2345-0123-456789012345 | 2026-09-19T00:00:00.000Z |
| 01a0eb01-3c0d-7f84-8e5a-51ebe6262493 | URS079-NP-001 | a1b2c3d4-e5f6-7890-abcd-ef1234567890 | a6e7f8a9-b0c1-2345-0123-456789012345 | 2026-09-19T00:00:00.000Z |
Replacement-order skip recorded as an audit decision — ✅ PASS
Section titled “Replacement-order skip recorded as an audit decision — ✅ PASS”Assertion: Submitting the expiry return should write a decision audit_events row with action=‘create_replacement_order_on_return’, performed=false, reason=‘return_type_not_incident’.
SELECT id, event_type, action, payload, created_at FROM audit_events WHERE created_at >= $1 AND event_type = 'decision' AND action = 'create_replacement_order_on_return' AND payload->>'performed' = 'false' AND payload->>'reason' = 'return_type_not_incident' ORDER BY created_at DESC| id | event_type | action | payload | created_at |
|---|---|---|---|---|
| 01a0eb01-3c42-7d63-a45d-82e0f8e753e9 | decision | create_replacement_order_on_return | {"reason":"return_type_not_incident","performed":false,"entityType":"return"} | 2026-09-29T02:32:01.757Z |
Audit & Email Assertion Ledger
Section titled “Audit & Email Assertion Ledger”Per-declaration outcome of every expectedAuditActions and expectedEmailTemplates entry written into the orchestrator. Missing evidence here is a real test failure, not a soft warning.
Audit Action Assertions
Section titled “Audit Action Assertions”Each row asserts that a declared expectedAuditActions entry produced a matching row in audit_events. A ❌ flips overall status to FAIL — the declaration is real proof, not just an annotation.
| Step | Expected Audit Action | Found |
|---|---|---|
| Step 1: Admin requests a cycle count of distributor trunk locations | cycle_count_request:create_cycle_count_request | ✅ |
| Step 1: Admin requests a cycle count of distributor trunk locations | decision:create_cycle_count_request_item | ✅ |
| Step 3: Rep finishes the cycle count | decision:ensure_lot_expiration_checklist | ✅ |
| Step 3: Rep finishes the cycle count | decision:ensure_lot_expiration_cycle_counter_assignment | ✅ |
| Step 6: Rep submits the expiry return | decision:create_replacement_order_on_return | ✅ |
Audit Log Events
Section titled “Audit Log Events”Every row written to audit_events while this test was running (scoped to the demo organizations). Provides compliance evidence that user actions are traced end-to-end (URS-003).
Capture window start: 2026-09-29T02:30:58.189Z
SELECT ae.created_at, ae.event_type, ae.action, ae.user_id, u.email AS user_email, ae.organization_id, o.name AS organization_name, ae.object_id, ae.secondary_object_id, ae.payload, ae.route, ae.trace_id FROM audit_events ae LEFT JOIN users u ON u.id = ae.user_id LEFT JOIN organizations o ON o.id = ae.organization_id WHERE ae.created_at >= $1 AND ae.organization_id = ANY($2::uuid[]) ORDER BY ae.created_at ASC35 event(s) captured:
| Time | Type | Action | User | Org | Object ID | Performed | Reason |
|---|---|---|---|---|---|---|---|
| 2026-09-29 02:31:05Z | user_log | user:login | alex.admin@vantismedical.com | Vantis | — | — | |
| 2026-09-29 02:31:17Z | decision | create_cycle_count_request_item | alex.admin@vantismedical.com | Corveta Surgical Group | 01a0eb00-8d7a-7724-a119-e0ad62eca8bf | yes | assigned_trunk_owner |
| 2026-09-29 02:31:17Z | decision | create_cycle_count_request_item | alex.admin@vantismedical.com | Corveta Surgical Group | 01a0eb00-8d7b-7c18-90f3-7ad6b9dfe347 | yes | assigned_shared_inventory_team |
| 2026-09-29 02:31:17Z | decision | refresh_unassigned_cycle_counts_review_item | alex.admin@vantismedical.com | Corveta Surgical Group | b2c3d4e5-f6a7-8901-bcde-f12345678901 | no | no_unassigned_locations |
| 2026-09-29 02:31:17Z | checklist | checklists.create | alex.admin@vantismedical.com | Corveta Surgical Group | 01a0eb00-8d6d-783f-9ff9-3e64feb693d7 | — | |
| 2026-09-29 02:31:17Z | decision | auto_complete_cycle_count_request | alex.admin@vantismedical.com | Vantis | 01a0eb00-8d2c-7bea-8c92-1f397965a4d1 | no | request_has_incomplete_cycle_counts |
| 2026-09-29 02:31:17Z | cycle_count_request | create_cycle_count_request | alex.admin@vantismedical.com | Vantis | 01a0eb00-8d2c-7bea-8c92-1f397965a4d1 | — | |
| 2026-09-29 02:31:17Z | decision | create_cycle_count_request_item | alex.admin@vantismedical.com | Corveta Surgical Group | 01a0eb00-8d77-7e33-a348-1667de93b617 | yes | assigned_trunk_owner |
| 2026-09-29 02:31:20Z | user_log | user:login | blair.bennett@corvetasurgical.com | Corveta Surgical Group | — | — | |
| 2026-09-29 02:31:33Z | user_log | user:login | blair.bennett@corvetasurgical.com | Corveta Surgical Group | — | — | |
| 2026-09-29 02:31:39Z | decision | ensure_lot_expiration_cycle_counter_assignment | — | Corveta Surgical Group | a6e7f8a9-b0c1-2345-0123-456789012345 | no | cycle_counter_already_among_assignees |
| 2026-09-29 02:31:39Z | decision | inventory.gate_cycle_count_evidence_photos | blair.bennett@corvetasurgical.com | Corveta Surgical Group | 01a0eb00-8d56-7baf-8070-224e479c3f17 | no | requirement_not_active |
| 2026-09-29 02:31:39Z | decision | cycleCount.excludeSequesteredReturnUnits | blair.bennett@corvetasurgical.com | Corveta Surgical Group | 01a0eb00-8d56-7baf-8070-224e479c3f17 | no | No open return movement holds units at the location |
| 2026-09-29 02:31:39Z | decision | refresh_unassigned_cycle_counts_review_item | blair.bennett@corvetasurgical.com | Corveta Surgical Group | b2c3d4e5-f6a7-8901-bcde-f12345678901 | no | no_unassigned_locations |
| 2026-09-29 02:31:39Z | checklist | checklists.create | blair.bennett@corvetasurgical.com | Corveta Surgical Group | 01a0eb00-e498-7900-adee-6c59624bd904 | — | |
| 2026-09-29 02:31:39Z | decision | finish_cycle_count | blair.bennett@corvetasurgical.com | Corveta Surgical Group | 01a0eb00-8d56-7baf-8070-224e479c3f17 | yes | count_open |
| 2026-09-29 02:31:39Z | decision | auto_complete_cycle_count_request | blair.bennett@corvetasurgical.com | Vantis | 01a0eb00-8d2c-7bea-8c92-1f397965a4d1 | no | request_has_incomplete_cycle_counts |
| 2026-09-29 02:31:39Z | decision | tickets.checklist_item_resolve.auto_resolve_ticket | — | Corveta Surgical Group | 01a0eb00-8d7a-7724-a119-e0ad62eca8bf | no | Checklist item is not linked to any ticket. |
| 2026-09-29 02:31:39Z | decision | ensure_lot_expiration_checklist | — | Corveta Surgical Group | b2c3d4e5-f6a7-8901-bcde-f12345678901 | yes | created_1_reopened_0_already_open_1_refreshed_1 |
| 2026-09-29 02:31:39Z | decision | upgrade_lot_expiration_checklist_priority | — | Corveta Surgical Group | b2c3d4e5-f6a7-8901-bcde-f12345678901 | no | no_open_checklists_below_high |
| 2026-09-29 02:31:39Z | decision | ensure_lot_expiration_cycle_counter_assignment | — | Corveta Surgical Group | b7f8a9b0-c1d2-3456-1234-567890123456 | no | no_latest_cycle_counter |
| 2026-09-29 02:31:39Z | user_log | cycle_count:close | blair.bennett@corvetasurgical.com | Corveta Surgical Group | 01a0eb00-8d56-7baf-8070-224e479c3f17 | — | |
| 2026-09-29 02:31:42Z | user_log | user:login | blair.bennett@corvetasurgical.com | Corveta Surgical Group | — | — | |
| 2026-09-29 02:31:48Z | user_log | user:login | blair.bennett@corvetasurgical.com | Corveta Surgical Group | — | — | |
| 2026-09-29 02:31:54Z | user_log | user:login | blair.bennett@corvetasurgical.com | Corveta Surgical Group | — | — | |
| 2026-09-29 02:32:01Z | decision | partition_return_submission | blair.bennett@corvetasurgical.com | Vantis | 01a0eb01-3c07-70b3-b45c-a4cf002bcb7b | no | no_org_submission_policy |
| 2026-09-29 02:32:01Z | decision | create_replacement_order_on_return | blair.bennett@corvetasurgical.com | Vantis | 01a0eb01-3c07-70b3-b45c-a4cf002bcb7b | no | return_type_not_incident |
| 2026-09-29 02:32:01Z | decision | representatives.gate_rep_action | blair.bennett@corvetasurgical.com | Vantis | a1b2c3d4-e5f6-7890-abcd-ef1234567890 | no | no_blocking_relationship |
| 2026-09-29 02:32:01Z | decision | open_item_movement_on_return_submission | blair.bennett@corvetasurgical.com | Corveta Surgical Group | 01a0eb01-3c07-70b3-b45c-a4cf002bcb7b | yes | return_movement_opened |
| 2026-09-29 02:32:01Z | decision | link_return_to_location_sales_account | blair.bennett@corvetasurgical.com | Corveta Surgical Group | 01a0eb01-3c07-70b3-b45c-a4cf002bcb7b | no | location_not_account_linked |
| 2026-09-29 02:32:01Z | decision | tickets.checklist_item_resolve.auto_resolve_ticket | — | Corveta Surgical Group | 01a0eb00-e49c-78af-b5c9-bcc3d727a2c2 | no | Checklist item is not linked to any ticket. |
| 2026-09-29 02:32:01Z | return_request | created | blair.bennett@corvetasurgical.com | Vantis | 01a0eb01-3c07-70b3-b45c-a4cf002bcb7b | — | |
| 2026-09-29 02:32:03Z | decision | returns.notifications.cc_incident_recipients | — | Vantis | 01a0eb01-3c07-70b3-b45c-a4cf002bcb7b | no | return is not an incident return |
| 2026-09-29 02:32:03Z | decision | extensiv_return_push.skipped | — | Vantis | 01a0eb01-3c07-70b3-b45c-a4cf002bcb7b | no | wms_feature_flag_disabled |
| 2026-09-29 02:32:03Z | transactional_email | return_submitted | — | Corveta Surgical Group | 01a0eb01-3c07-70b3-b45c-a4cf002bcb7b | — |
Email Evidence
Section titled “Email Evidence”1 notification email(s) were captured during this test run. Each email is rendered as a screenshot for compliance review.
1. Return Submitted - RET-1
Section titled “1. Return Submitted - RET-1”Template: Return_Submitted_-_RET-1
