Repository navigation
feat(orchestrator): pick task skills by project traits, in shadow - #1497
Draft
edwinyjlim wants to merge 2 commits into
Draft
edwinyjlim wants to merge 2 commits into
edwinyjlim wants to merge 2 commits into
Conversation
Orchestrator runs resolve each task's skills two ways. The exact-match pick (the id itself, else its group's variant for the run's framework) decides. The criteria resolver in `@shared/skill-resolution` picks beside it from menu tags and the run's project traits, and each disagreement is logged as `orchestrator skill resolver disagreement`. With the `wizard-agent-dag` flag on, the criteria pick decides and the exact match is its fallback. `@services/project-traits` holds the run's project traits from static detection: the framework, and `callsLlmApi` when an LLM SDK is a dependency. `traitsToSkillTags` maps the framework to its `framework:<id>` tag, and the program runner hands the tags to the orchestrator through `RunConfig.traitTags`. Skill-menu entries carry `title`, `description` and `tags`, and bundle variants inherit the bundle's title and description. Every event after the menu loads carries `context_mill_version`, and the terminal `setup wizard finished` event carries the run's wizard flags. `fixtures/context-mill/` holds a context-mill build's skill menu, agent menu and 41 agent prompts; `pnpm record:context-mill-fixtures` re-records them from a release. The equivalence test checks that both resolvers pick the same skill for every prompt skill and framework. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🧙 Wizard CIRun the Wizard CI and test your changes against wizard-workbench example apps by replying with a GitHub comment using one of the following commands: Test all apps:
Test all apps in a directory:
Test an individual app:
Show more apps
Test against a Context Mill branch:
Add Results will be posted here when complete. |
Flows in the program contract read project traits, and the contract imports no service, so the vocabulary types live there and `@services/project-traits` produces their values. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 29, 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.
Summary
@shared/skill-resolutionpicks beside it from menu tags and the run's project traits; each disagreement is logged asorchestrator skill resolver disagreement. With thewizard-agent-dagflag on, the criteria pick decides and the exact match is its fallback.@services/project-traitsholds the run's traits from static detection: the framework, andcallsLlmApiwhen an LLM SDK is a dependency.traitsToSkillTagsmaps the framework to itsframework:<id>tag, and the program runner passes the tags to the orchestrator throughRunConfig.traitTags.SkillEntrycarriestitle,descriptionandtags; bundle variants inherit the bundle's title and description.context_mill_version. The terminalsetup wizard finishedevent carries the run's wizard flags ($feature/<key>), so run outcomes can be split by flag variant.fixtures/context-mill/holds a context-mill build's skill menu, agent menu and 41 agent prompts.pnpm record:context-mill-fixtures [base-url]re-records them from a release.Part of the agent DAG and project traits plan. The flag is
wizard-agent-dag; it does not exist in PostHog yet, so every run takes the off path.Stack
maingroup,frameworkanddefault.Test plan
pnpm typecheckpnpm lint: no errors, and no new warnings in changed filespnpm test: 258 files, 3,822 testsCONTEXT_MILL_MENU=<path>), which has no tagsbuildVersion: dev)wizard-agent-dagturns on🤖 Generated with Claude Code