# woocommerce-pos/1.10.2/includes/Sync/Order_Uuid_Exception.php

WCPOS – Point of Sale (POS) plugin for WooCommerce, version 1.10.2. 27 lines.

- Page: https://pluginprobe.com/plugins/woocommerce-pos/1.10.2/code/includes/Sync/Order_Uuid_Exception.php
- Raw: https://pluginprobe.com/plugins/woocommerce-pos/1.10.2/raw/includes/Sync/Order_Uuid_Exception.php
- Modified: 2026-08-25T07:52:20+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/woocommerce-pos/1.10.2/code/includes/Sync/Order_Uuid_Exception.php#L10-L20`.

```php
<?php
/**
 * WCPOS sync read surface.
 *
 * @package WCPOS\WooCommercePOS\Sync
 */

namespace WCPOS\WooCommercePOS\Sync;

use RuntimeException;

// phpcs:disable Squiz.Commenting, Generic.Commenting -- Ported lab documentation is preserved verbatim.

/**
 * The uuid fail-closed contract violated: serialize_order/skeleton_for_order
 * always stamp _woocommerce_pos_uuid, so an empty uuid on a non-empty payload
 * means the write surface is broken — never emit the document. This is THE
 * one reaction (#424): direct builders let it fail their page/chunk (retried);
 * the pull planner catches it to stop the page WITHOUT advancing the checkpoint
 * (hasMore forces a retry from the last emitted position).
 */
final class Order_Uuid_Exception extends RuntimeException {
	public static function for_order( int $order_id ): self {
		return new self( 'Order document could not resolve _woocommerce_pos_uuid for order ' . $order_id );
	}
}

```
