Repository navigation
feat(319): a skill that cannot decide says so before it runs - #134
Merged
Merged
Conversation
A decision step now requires the `decision_model` setup token. Under Auto a key for any decision model's provider satisfies it; an assigned decision model needs its own provider's key. A skill with no answerable decision step reads needsSetup with a connect-provider remedy instead of reporting ready and failing at its first decision. The provider list is pinned to the catalog's decision models by a contract test. The composer's Models & reasoning menu gains the Decisions row the settings page already had. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
munchist
approved these changes
Oct 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes
A skill that cannot decide says so before it runs.
ai.*is a platform prefix, so a skill with a decision step used to show as ready even when the space had no key for any decision model. The problem only showed up when the run reached its first decision step and failed withAI_PROVIDER_CREDENTIAL_MISSING.decision_modelsetup requirement, built the same way as the existingsearch_providerone.needsSetupinstead of ready. The remedy text names the providers that would fix it, and the install manifest offers a connect-provider step.The composer's Models & reasoning menu shows the Decisions row. It's the same row Plan 319 added to the settings page: "Auto · first decision model with a key", or a specific model by alias.
Plan 319 records this as D7.
How it is proven
codePolicyReadiness.test.ts: four cases, covering no key, Auto with an OpenAI key, an assignedjevwith only an OpenAI key, and a model missing from the catalog.decisionLaneProviders.contract.test.ts: checks the provider list against the catalog, which steps need the requirement, and the remedy text. Removing a provider from the list makes the test fail.yarn verifypasses: typecheck, 234 test files, lint and format.🤖 Generated with Claude Code