const fs = require('fs'); const glob = require('glob'); const jobs = glob.sync('/home/hoon/kis_bot/logs/optuna_web_jobs/*.json'); const latest = jobs.sort((a,b) => fs.statSync(b).mtime - fs.statSync(a).mtime)[0]; console.log("Latest job:", latest); const jobData = JSON.parse(fs.readFileSync(latest, 'utf8')); // Find best gated trial (usually rank 1) const resultJsonPath = jobData.result_json || jobData.log_path.replace('.log', '.json'); console.log("Result JSON:", resultJsonPath); const resultData = JSON.parse(fs.readFileSync(resultJsonPath, 'utf8')); const gated = resultData.top5_gated[0]; console.log("Top gated params:", gated.params); const pTune = gated.params || {}; const pEng = gated.params_full || {}; const p = Object.assign({}, pEng, pTune); console.log("Merged sl_pct:", p.sl_pct); console.log("Merged use_defense_filters:", p.use_defense_filters); console.log("Merged skip_hts_scan_dupes:", p.skip_hts_scan_dupes);