A synced pattern on forty-one pages, nine of which had been detached and were now divergent copies.
// the query, run monthly since 2025
$detached = $wpdb->get_col( "
SELECT ID FROM {$wpdb->posts}
WHERE post_content LIKE '%wp:group {"metadata":{"name":"Campaign hero"%'
AND post_content NOT LIKE '%wp:block {"ref":%'
" );
Detaching is one click with no confirmation and no subsequent indication, so a synced pattern silently becomes a fleet of copies. The query is crude — it matches on a name in the block metadata — and it is the only signal available, which says something about how this feature is meant to be operated.