Remove context_definitions completely, and just use locked values on input_definitions.
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3542472. --> Reported by: [michaellander](https://www.drupal.org/user/636494) Related to !6 >>> <h3 id="summary-problem-motivation">Problem/Motivation</h3> <p>Right now we are using <code>input_definitions</code> that auto generate <code>context_definitions</code>. This was done for two reasons, to preserve using the <code>ContextAwarePluginInterface</code> that is common in core(that we are no longer using) and to allow creating sub-tools in the UI that preset and lock some inputs. This meant that on calls to <code>access</code> and <code>execute</code>, we'd grab values from context and configuration and set the values into unlocked <code>input_definitions</code>, validate and return all the values. This does create some inconsistencies where in plugins you are defining <code>input_definitions</code>, but when interacting with plugins you are actually calling <code>setContextValue()</code>.. </p> <h3 id="summary-proposed-resolution">Proposed resolution</h3> <p>Remove <code>context_definitions</code> completely and just use <code>input_definitions</code>, with <code>setInputValue</code> and <code>getInputDefinitions($include_locked = FALSE);</code>. Most external calls will never need to use <code>getInputDefinitions(TRUE)</code>, which will just be more straightforward and intuitive, which is ultimately the goal of this module. If we are no longer using the <code>ContextAwarePluginInterface</code>, then there's no reason to preserve that behavior.</p>
issue