Repository navigation
feat(traits): write the run's framework through its project trait - #1499
Draft
edwinyjlim wants to merge 1 commit into
Draft
edwinyjlim wants to merge 1 commit into
edwinyjlim wants to merge 1 commit into
Conversation
The session holds the run's written traits in `projectTraits`, each with its source. Every framework write records the framework trait as well as `integration`: the session store's `setFrameworkConfig` on a live session, and `applyFramework` on the drafts the `ciPreRun` hooks of posthog-integration, feature-flags, error-tracking and replay-vision edit. Detection records `static`; the intro screen's framework picker and `--integration` record `user`. The readers of `integration` are unchanged. `getProjectTraits` reads the written framework trait, with its source, over what detection supports. Every later event carries `framework_source`. Before each agent run, the runner compares the framework trait with `integration` and logs `framework trait mismatch` when a write went around the trait. Detection runs before login and flags are evaluated after it, so the change has no flag; the values the run uses are the same as before. 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. |
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
Every write of the run's framework also records it as a project trait with its source,
staticoruser. The values a run uses are unchanged, and the ~20 places that readintegrationstay as they are.Stack
The four PRs, in merge order:
wizard-agent-dagflag that decides which pick installs.main. Reads C1's tags but works without them. D1 builds on its traits service, and W2 on its traits and flag.wizard-agent-dagon, runs use them instead of the fetched prompts and the planner's graph.W1, D1 and W2 merge in that order and ship together in one wizard release, with
wizard-agent-dagoff. A later PR, W3, removes the flag and the paths it replaced after a week at 100%.Framework writes
flowchart LR detect["Detect step"] -->|static| setter screens["Error-tracking and self-driving<br/>detect screens"] -->|static| setter picker["Intro screen picker"] -->|user| setter hooks["ciPreRun hooks of four programs"] -->|static| apply cli["--integration flag"] -->|user| fields setter["SessionStore.setFrameworkConfig<br/>on the live session"] --> fields apply["applyFramework<br/>on a session draft"] --> fields setter & apply -.-> tags(["Later events carry integration<br/>and framework_source"]) fields["session.integration<br/>session.projectTraits.framework<br/>value and source"] fields --> readers["~20 readers of integration<br/>unchanged"] fields --> traits["getProjectTraits<br/>written trait over detection"] fields --> check{"Before each agent run:<br/>trait matches integration?"} check -- no --> mismatch(["framework trait mismatch event"])staticciPreRunhooks of posthog-integration, feature-flags, error-tracking and replay-visionuser--integrationDetection that later finds a framework overwrites
--integration, as it does today. There is no flag: detection runs before login, and flags load after it.Telemetry
framework_sourceframework trait mismatchintegrationdisagree, meaning a write skipped the setterTest plan
pnpm typecheck,pnpm lint(no errors),pnpm check:decisions-bundlepnpm test: 259 files, 3,830 testsstaticanduserand clears the trait with the framework;--integrationrecordsuser;applyFrameworkwrites integration, trait and tags on a draft; the mismatch check;getProjectTraitskeeps the written sourceapplyFrameworkmainframework trait mismatchevents beforewizard-agent-dagturns on🤖 Generated with Claude Code