refactor: program folders export a config with no screens - #1380
Conversation
🧙 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. |
75a4e87 to
9776f66
Compare
1e0bc81 to
45ecdf8
Compare
45ecdf8 to
f7978fd
Compare
9776f66 to
d754601
Compare
d754601 to
c56ac51
Compare
f7978fd to
8883b18
Compare
8883b18 to
e757985
Compare
PR overviewAll previously flagged issues have been addressed. No open security concerns remain on this pull request. Security reviewNo open security issues remain on this pull request. Fixed/addressed: 2 · PR risk: 0/10 |
johncwaters
left a comment
There was a problem hiding this comment.
Note
Automated review. Not written by a human.
| session.frameworkContext[key] = value; | ||
| } | ||
| } | ||
| noteDetectedFramework(session, frameworkConfig, context, log); |
There was a problem hiding this comment.
Note
Automated review. Not written by a human.
In an interactive scoped run, this runs as the run step's onRunPrep. scopeSession (run-program.ts:509) passes it a shallow session copy that is dropped after the run. So detectedFrameworkLabel lands on the copy, not the store, while analytics.setTag('detected_framework', …) still goes global. On main, getUI().setDetectedFramework wrote the variant label to the live store. Now the detected_framework session property in analytics.ts can disagree with the tag. prepSelfDrivingIntegration (self-driving/detect-agentic.ts:132) has the same problem.
Could the label reach the store? For example, give onRunPrep a store-backed setDetectedFramework, or have scopeSession copy detectedFrameworkLabel back through store.setDetectedFramework after prep.
e757985 to
76921c7
Compare
d4ea8ae to
2e0f510
Compare
2e0f510 to
d6cc0e7
Compare
76921c7 to
9eb3762
Compare
Generated-By: PostHog Desktop Task-Id: d14e92bb-6ee1-49b5-8502-39cb80079589
9eb3762 to
e6300c4
Compare
d6cc0e7 to
1e58bb8
Compare
Phase 2 of Release C (#1320), PR 4 of 16, after #1379. Review PR. PRs 1 to 14 of this phase split one change into reviewable pieces and compile only as a stack: review them one by one, then land the whole phase together.
Problem
On main, each program folder builds its own TUI steps, calls
getUI()for log lines and detected labels, and ends the process withwizardAbort. So no program runs without a UI.Changes
index.tsexportsconfig: ProgramConfigin place of a named config such asposthogIntegrationConfig, with nosteps.metrics,ai-observability,replay-visionanderror-trackingstate their ownbinding.ProgramAbortinstead of callingwizardAbort, inerror-tracking,replay-visionandposthog-integration.getUI()calls go. Each framework returns its label fromgetDetectedFrameworkLabel, and the Vercel environment upload and the audit ledger watcher take the runner context.posthog-integration,replay-vision,error-trackingandself-drivinghands the framework's label tonoteDetectedFramework, so a CI run prints the variant again, as on main.runSteps:targetDirandonRunPrepfor error tracking,runProgramId: 'posthog-integration'for self-driving. Detection that scans withrunAgentgainsonProgress.error-tracking,self-drivingandreplay-vision, which change most. The framework files move their label intogetDetectedFrameworkLabelor only update imports.Test plan
pnpm typecheck0 errors,pnpm lint0 errors, 3,515 tests pass,pnpm buildok.Created with PostHog Desktop