removeReason, updateReasons are never called when a component becomes more compatible
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3585530. -->
Reported by: [mglaman](https://www.drupal.org/user/2416470)
Related to !936
>>>
<h3 id="overview">Overview</h3>
<p>I used Claude Code to create an SDC from a Loveable design and it made a `logo_url` prop with the shape of:</p>
<p>{"type":"string","contentMediaType":"image/*","format":"uri-reference"}</p>
<p>I changed it to be a lot so I could place the branding block, then cleared caches.</p>
<p>But the component is still incompatible for the same reasons.</p>
<p>I used `drush config:get` to get the component config... and it was correct and generated without the `logo_url` prop and `status: true`</p>
<p>And I can find it in the components panel to add to my site still</p>
<h3 id="proposed-resolution">Proposed resolution</h3>
<p>Make sure reasons are synchronized properly. </p>
<pre> // All other components:<br> // 1. create a Component config entity if it does not exist yet, or<br> // 2. if the computed settings changed, create a new version on the existing<br> // 3. if other metadata changed, update it (no new version!)<br> foreach ($eligible_component_ids as $source_specific_component_id) {</pre><p>
purge reasons here</p>
<p>updateReasons isn't really used because we always call storeReasons</p>
<h3 id="ui-changes">User interface changes</h3>
issue