A pattern registered against a category that does not exist yet lands silently in uncategorized, which is a tab nobody opens.
add_action( 'init', function () {
register_block_pattern_category( 'turkerdev', array(
'label' => __( 'Site layouts', 'turkerdev' ),
) );
}, 9 ); // ← before
add_action( 'init', function () {
register_block_pattern( 'turkerdev/cta', array( /* ... */ ) );
}, 10 );
The priority is load-bearing and there is no warning of any kind — the pattern registers successfully and appears somewhere unhelpful. Removing the core patterns with remove_theme_support( 'core-block-patterns' ) is worth considering alongside this, because nine useful patterns among forty generic ones is a worse inserter than nine alone. Both belong in the same file so that the ordering relationship is visible.