Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d48dd204db
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (data.selfTest?.passed) score += 25; | ||
| if (data.detect?.completeChain) score += 20; | ||
| if (data.match?.confidence > 0.65) score += 15; | ||
| const selfTestPassed = Boolean(data.selfTest?.passed || (data.selfTest?.micOk && data.selfTest?.audioApiOk)); |
There was a problem hiding this comment.
Respect an explicit failed self-test when scoring
When an injected self-test reports passed: false while micOk and audioApiOk are true, this fallback overrides the authoritative failure and awards the full 25 self-test points. The same assessment then records a readiness blocker but exposes an inflated setup score; only infer pass status from the component flags when passed is absent.
Useful? React with 👍 / 👎.
| const detectForDiagnosis = { | ||
| ...data.detect, | ||
| selfTest: data.selfTest, | ||
| readiness, | ||
| matchRound: data.match |
There was a problem hiding this comment.
Diagnose readiness blockers instead of reporting a clear setup
When the self-test fails or no input/output devices are found, readiness contains concrete blockers, but detectBottleneck does not inspect any of the added selfTest, readiness, or matchRound fields. With no legacy conflict signal it therefore returns status: 'clear' and “No bottleneck detected,” which the new Command Center presents as its primary insight on precisely the unconfigured systems that need guidance.
Useful? React with 👍 / 👎.
|
|
||
| return computeSetupReadiness({ | ||
| audioApi: Boolean(data.selfTest?.audioApiOk || data.selfTest?.checks?.audioApi), | ||
| micPermission: inputCount > 0 ? 'granted' : 'unknown', |
There was a problem hiding this comment.
Derive mic readiness from permission rather than device count
When enumerateDevices() exposes an audio-input entry while microphone permission is still prompt or denied, inputCount > 0 marks the permission as granted. computeSetupReadiness consequently adds the mic-permission weight and removes its blocker even though no capture access was proven; propagate an actual permission result instead of inferring authorization from device discovery.
Useful? React with 👍 / 👎.
Summary
Adds the Smart Onboarding compatibility layer requested for CueForge without replacing the existing Setup Command Center architecture.
What changed
runQuickAssessment()as a safe local-only quick-start API.runSmartAssessment()andrunFullSmartAssessment()APIs working.completeChain/chainComplete,eqActive/apoDetected,sonar/sonarDetected.primaryBottleneck.message,msg,type,severity, andfix.src/app/routes/CommandCenter.jsxscaffold based on the requested quick-assessment dashboard, corrected for the current CueForge folder layout.Why this approach
The live CueForge repo already has
src/smartOnboarding.js,src/core/bottleneckDiagnosis.js,src/ui/SetupCommandCenter.jsx, andsrc/ui/ProgressRing.jsx. The pasted snippet would have broken if added verbatim because the live app exportedrunSmartAssessment, notrunQuickAssessment, and bottleneck messages lived undermsg, notmessage. This PR hardens the compatibility layer instead of adding duplicate or fake UI behavior.Validation to run
npm test -- src/tests/smartOnboarding.test.js npm run test:ui npm run validate:manifest npm run validate:fixtures npm run buildSafety notes