diff --git a/dashboard/index.html b/dashboard/index.html index fc63c62..70b38a4 100644 --- a/dashboard/index.html +++ b/dashboard/index.html @@ -3102,6 +3102,8 @@ + + diff --git a/dashboard/js/proactive.js b/dashboard/js/proactive.js index 480df48..652f087 100644 --- a/dashboard/js/proactive.js +++ b/dashboard/js/proactive.js @@ -835,8 +835,8 @@ const readyCount = diurnalData.filter(d => d.is_ready).length; diurnalReady = readyCount > (diurnalData.length / 2); // Majority ready - // Average learning progress - const progressValues = diurnalData.map(d => d.learning_progress || 0).filter(p => p >= 0); + // Average learning progress (backend returns 'progress' field, 0-100 range) + const progressValues = diurnalData.map(d => (d.progress || 0) / 100).filter(p => p >= 0); if (progressValues.length > 0) { learningProgress = progressValues.reduce((a, b) => a + b, 0) / progressValues.length; } diff --git a/dashboard/js/settings-panel.js b/dashboard/js/settings-panel.js index 2203141..009e460 100644 --- a/dashboard/js/settings-panel.js +++ b/dashboard/js/settings-panel.js @@ -447,6 +447,17 @@ if (window.SpaxelState) { Object.assign(window.SpaxelState.settings, updates); } + + // Track setting changes for proactive assistance + if (window.Proactive) { + // Track each qualifying setting that changed + const qualifyingSettings = ['delta_rms_threshold', 'fresnel_decay', 'n_subcarriers', 'tau_s', 'breathing_sensitivity']; + for (const key in updates) { + if (qualifyingSettings.includes(key)) { + window.Proactive.trackSettingChange(key, updates[key]); + } + } + } }); }