{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T14:52:08.172087Z","repo":{"ref":{"host":"github.com","owner":"tude-alt","name":"testrun"},"default_branch":"main","clone_url":"https://github.com/tude-alt/testrun.git","html_url":"https://github.com/tude-alt/testrun","description":"hash","stars":0,"forks":0,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":13519,"primary_language":"Python","license_spdx":"MIT","created_at":"2026-09-25T12:28:05Z","pushed_at":"2026-10-26T21:52:40Z","security_policy_url":null,"distribution":{"owner_created_at":"2025-09-24T06:24:18Z","owner_type":"User","release_assets":[]}},"commit_sha":"26e86c3f8732b70fe673456bf74108a716ad1863","profile":{"lines_by_language":{"Python":283907,"Shell":274},"files_by_category":{"test":398,"source":332,"config":40,"docs":35,"other":5,"binary":1,"generated":1},"source_lines":102156,"test_lines":182025},"pillars":{"ai_provenance":{"score":0.0,"confidence":0.65,"coverage":1.0,"label":"possible","breakdown":{"attributed_share":0.0,"suspected_share":0.5948,"estimated_share":0.0,"ai_artifacts":2.0,"flagged_work_units":69.0,"flagged_releases":null,"style_index":0.152},"summary":"Weak signals consistent with AI-assisted development."},"quality":{"score":77.2,"confidence":0.9,"coverage":1.0,"label":"adequate","breakdown":{"complexity":83.7,"duplication":91.8,"lint":49.8,"testing":100.0,"docs":65.0,"type_safety":0.0,"process":null},"summary":"Code quality is adequate: test-to-source ratio 1.78, CI runs tests; 6% of function code in complex or long functions; 1% duplicated lines. Weakest area: type safety."},"security":{"score":45.5,"confidence":0.85,"coverage":1.0,"label":"poor","breakdown":{"secrets":81.9,"sast":96.8,"dependencies":5.6,"ci_actions":0.1,"posture":0.0,"scorecard":null},"summary":"Security posture is poor: 156 known vulnerabilities in 17 dependencies; 10 high-severity SAST findings; 30 high-severity workflow issues. Weakest area: posture."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":56.0,"checked":56.0,"missing":0.0,"recent":0.0,"lookup_errors":0.0},"findings":[],"evidence":[],"data":{"phantom":false},"error":null},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":1374.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":413974.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2024-06":{"loc":292,"attributed_loc":0},"2024-07":{"loc":3,"attributed_loc":0},"2024-10":{"loc":691,"attributed_loc":0},"2024-12":{"loc":1170,"attributed_loc":0},"2025-01":{"loc":106,"attributed_loc":0},"2025-02":{"loc":350,"attributed_loc":0},"2025-03":{"loc":223,"attributed_loc":0},"2025-04":{"loc":5,"attributed_loc":0},"2025-06":{"loc":0,"attributed_loc":0},"2025-07":{"loc":2364,"attributed_loc":0},"2025-08":{"loc":10960,"attributed_loc":0},"2025-09":{"loc":8978,"attributed_loc":0},"2025-10":{"loc":13,"attributed_loc":0},"2025-11":{"loc":395,"attributed_loc":0},"2025-12":{"loc":607,"attributed_loc":0},"2026-01":{"loc":209,"attributed_loc":0},"2026-02":{"loc":4358,"attributed_loc":0},"2026-03":{"loc":2279,"attributed_loc":0},"2026-04":{"loc":6386,"attributed_loc":0},"2026-05":{"loc":69089,"attributed_loc":0},"2026-06":{"loc":13871,"attributed_loc":0},"2026-07":{"loc":61080,"attributed_loc":0},"2026-08":{"loc":82628,"attributed_loc":0},"2026-09":{"loc":146393,"attributed_loc":0},"2026-10":{"loc":1524,"attributed_loc":0}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":1.0,"workflow_agents":1.0,"tools_configured":2.0,"earliest_adoption":1755972522.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":"AGENTS.md (generic-agent configuration)","ref":"AGENTS.md","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/AGENTS.md","weight":0.5},{"kind":"ai-workflow","description":".github/workflows/claude.yml runs anthropics/claude-code-action","ref":".github/workflows/claude.yml","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/.github/workflows/claude.yml","weight":0.6}],"data":{"artifacts":[{"tool":"generic-agent","path":"AGENTS.md","added_at":1755972522}],"workflows":[{"tool":"claude-code","path":".github/workflows/claude.yml","action":"anthropics/claude-code-action"}],"tools":["claude-code","generic-agent"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":331.0,"flagged_units":69.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":338958.0,"flagged_loc":246230.0,"flagged_loc_share":0.7264321833383487,"max_loc_per_hour":3464.516129032258,"median_loc_per_hour":278.6637858402639,"pr_timed_units":0.0,"excluded_import_loc":75016.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"11,098 lines of first-party code in ~3.2h (3,465 lines/hour, 44 commit session)","ref":"c3bd3efc04e15f4941b222d0fa2b5ab978a8bd48","url":"https://github.com/tude-alt/testrun/commit/c3bd3efc04e15f4941b222d0fa2b5ab978a8bd48","weight":0.6},{"kind":"velocity-burst","description":"2,840 lines of first-party code in ~1.0h (2,757 lines/hour, 2 commit session)","ref":"f213025f7e8c0fa8dcb25b860fae2bda3f995e51","url":"https://github.com/tude-alt/testrun/commit/f213025f7e8c0fa8dcb25b860fae2bda3f995e51","weight":0.6},{"kind":"velocity-burst","description":"4,287 lines of first-party code in ~1.6h (2,647 lines/hour, 33 commit session)","ref":"e12135d87d0c66766214a004a9656e1f56bd0d93","url":"https://github.com/tude-alt/testrun/commit/e12135d87d0c66766214a004a9656e1f56bd0d93","weight":0.6},{"kind":"velocity-burst","description":"6,861 lines of first-party code in ~2.7h (2,511 lines/hour, 30 commit session)","ref":"ea1b29a6cc8f2774e066e1c5e42b798ae7d2963d","url":"https://github.com/tude-alt/testrun/commit/ea1b29a6cc8f2774e066e1c5e42b798ae7d2963d","weight":0.6},{"kind":"velocity-burst","description":"6,050 lines of first-party code in ~2.4h (2,485 lines/hour, 8 commit session)","ref":"d30a9c4ea2976a13760d5dd8a869bc68798fe253","url":"https://github.com/tude-alt/testrun/commit/d30a9c4ea2976a13760d5dd8a869bc68798fe253","weight":0.6},{"kind":"velocity-burst","description":"2,859 lines of first-party code in ~1.4h (2,010 lines/hour, 1 commit session)","ref":"2b4690978e1f0172a41ae0348361247b1e1b567f","url":"https://github.com/tude-alt/testrun/commit/2b4690978e1f0172a41ae0348361247b1e1b567f","weight":0.6},{"kind":"velocity-burst","description":"10,811 lines of first-party code in ~5.4h (1,993 lines/hour, 28 commit session)","ref":"820b1a701f90b3c22db7a92234680ca5d18fa213","url":"https://github.com/tude-alt/testrun/commit/820b1a701f90b3c22db7a92234680ca5d18fa213","weight":0.5979964148527529},{"kind":"velocity-burst","description":"3,393 lines of first-party code in ~1.7h (1,970 lines/hour, 8 commit session)","ref":"6638350ac2bdae12c5ca1d358c4c72ddf04b9fbb","url":"https://github.com/tude-alt/testrun/commit/6638350ac2bdae12c5ca1d358c4c72ddf04b9fbb","weight":0.5911340538796579},{"kind":"velocity-burst","description":"6,915 lines of first-party code in ~4.0h (1,718 lines/hour, 8 commit session)","ref":"ff20e5e552cef71f1afd0486c83b103746446b6d","url":"https://github.com/tude-alt/testrun/commit/ff20e5e552cef71f1afd0486c83b103746446b6d","weight":0.5155460444567168},{"kind":"velocity-burst","description":"9,665 lines of first-party code in ~5.6h (1,718 lines/hour, 33 commit session)","ref":"972e4d6212e54f5e15fef7e0a0a36b534b9eceed","url":"https://github.com/tude-alt/testrun/commit/972e4d6212e54f5e15fef7e0a0a36b534b9eceed","weight":0.5153648661992692},{"kind":"velocity-burst","description":"9,849 lines of first-party code in ~6.0h (1,640 lines/hour, 13 commit session)","ref":"a61c53d1c3aecce6d2e00e440fb2ccabbe18aca4","url":"https://github.com/tude-alt/testrun/commit/a61c53d1c3aecce6d2e00e440fb2ccabbe18aca4","weight":0.4919489408935343},{"kind":"velocity-burst","description":"6,736 lines of first-party code in ~4.3h (1,572 lines/hour, 7 commit session)","ref":"3e484edcc1a4a261ec71a06af6ef100b1804ee35","url":"https://github.com/tude-alt/testrun/commit/3e484edcc1a4a261ec71a06af6ef100b1804ee35","weight":0.47165975103734437},{"kind":"velocity-burst","description":"2,547 lines of first-party code in ~1.6h (1,545 lines/hour, 2 commit session)","ref":"f852f8a53e532e80dc733831e112640252c514f5","url":"https://github.com/tude-alt/testrun/commit/f852f8a53e532e80dc733831e112640252c514f5","weight":0.4635591506572295},{"kind":"velocity-burst","description":"6,134 lines of first-party code in ~4.0h (1,534 lines/hour, 1 commit session)","ref":"39877f1433ba60e71df792864416ea15a6bf7d62","url":"https://github.com/tude-alt/testrun/commit/39877f1433ba60e71df792864416ea15a6bf7d62","weight":0.46005},{"kind":"velocity-burst","description":"2,012 lines of first-party code in ~1.4h (1,488 lines/hour, 7 commit session)","ref":"0109387c5869240312f705bfd18ea6017bea945c","url":"https://github.com/tude-alt/testrun/commit/0109387c5869240312f705bfd18ea6017bea945c","weight":0.44628465804066536}],"data":{"flagged_loc_by_commit":{"eebe63350c0fd5541addaaaf814e6105a27c9682":1072,"8277b00be24299ba98f07dd35afba88a9494fe64":52,"baff14dddd6cf8ec4ede25e080c458e9c311fc1f":77,"f7511ee9515dad8d29e4546c0ae9eecbeea571c5":17,"4f9d04f554e70cb210444b9d410e0adcf874ec4d":184,"1e5e1c4595a791182b821ebb42b27f3d950551e2":328,"47f068c99f99d5e544e695c86b3dcd2f3b4d69bf":367,"b50dafe5a9747a1adfe97d5560c064764ebdfc39":257,"51bad2ca9ffccfc34bb02190e56ea44797f62c01":711,"3a8804e6a8dcfd9bb46b0342f9801ad7571a5a35":793,"1b7e67bfcfb184ba109c78e231705fcb94c7c92d":1043,"2424c16ad49a0e204c72e751e35082a8d9355890":87,"3f9e534ee9f125f7259780a958f2be7a9459314b":74,"66852262588385ef06059970c6cdd0bc5192438d":64,"6beab44d345d2af5794fbe36dafc1a031d2c9c7c":15,"63febd4568b9199dfea37021159c8839fe5dcdbb":826,"ecba3e5f569b9f697fb45523a2f7b85a58f26c8e":211,"3389a3f3bfd283892ca90e2e77d54401098ad364":233,"4cbf8886c57d9c275c5f1c491e3bb92f768455c9":60,"6ffde54783e9d473cbb6156ffc881d4a306fd336":294,"8c91d44253954d2d559df4ea917827e5b007f3e7":2,"7096c2fac106c5367bd4828cfbed5aaff0867c3a":39,"72611019651afae26df994fc3db89f94d37ffbc4":82,"66ffee440abca903fad8791f07d6d06b572800e2":304,"a7e3ac4861f47d3dc0f8cfa594fa37c87d6f705d":58,"e913852149b9ce7210a98697b7469cb2e2bc511e":6,"bad32cc8e49cfab4d97e09b91cfb32b1e342e50a":54,"46051694ef5ee08d73bcea167b5823dcc4610e76":131,"9bfac6c378e0d87d23364a0c2c5bf9e4faa5adbb":77,"ff07ad881d22ac14be947327fa0b2668ea4c2765":51,"390d79783b9750bfec30a3aac8171822090b8e57":192,"bc0e4c65f8879999151c364f0e0038dbcbfd5c79":49,"4b2a368d58acfeb25ee8c8ee7101e297a70b2f57":13,"55cf83708b042f7175a21fcbcdf60898fecdfb6d":149,"a86c7f96c6117c16cad1e4909dc427861ff61062":56,"e913dd07cd3a29c5939ee396173fdf2bce2829eb":44,"8ec0f2cf253d7412ba5145b5548498d269c68441":450,"d50e8d250ed08ca3a1056fdf4f0e00bc56418a48":8,"3064805a09ebee160df82a9b91cea9f57ac1a2f5":42,"fcb57ca45594aa485ea13949fbdbfa24558c470e":208,"a2e4539d1e234e9494ababf89e5e73ad5eaca09d":2437,"6f9def4662b0d5e51211818208ad5da5e4194fd9":36,"95c4fff648a64f2565dc0b314d8c55934d4309dd":4417,"3bb993ecadb23826e1fb08092fb887932dc44216":2029,"ee7ec0f784ad0c35558a4fae3d6742ae621c52b0":5896,"2b4690978e1f0172a41ae0348361247b1e1b567f":2859,"310b085498360dc4993777852e28e059849429aa":310,"a938418f2322944f8a5c490d0e2adac15190dc5a":761,"750784ed33b55a7be0dcce551eadbca9235faf3e":1001,"b080fad57661f3f52da55d89b2353d8d0626d8cf":1713,"49def712431e009383122f6696d4cd5f6de91857":318,"47a65f6f92acc17a851d28e8be4b82915b302b02":143,"39201445465d48ca04f96689195155773f600172":535,"faed5686bd7eb362967f5e00703ee92edd1168e4":19,"ad35081314341ffd6556664a8218b13d2ac83117":748,"729f94774dc27c2609d383f2d9d17db3ab681cad":150,"8854abf9ac5806ceb58ab8356c0147a55845da19":245,"daa2d057bf8ae35cf8231c929b14b63bf45c9833":319,"6d4afef77c683fb564ad6a5a31426cb877d8fdd1":2242,"0017d6d1f088bc44a265597099fa15d1777d6ffc":4042,"947b0718c8625e0d29df36bf37595431e5e0c21d":2279,"e993f944912257eef0e5aa2b3e232968d948e175":2149,"cc2e484011f2fa147b518eba7eefbd5f747e0606":1444,"3dfa26dfa531e9410ca45f6efdd0ad6730ca2134":670,"20d8d49e23350b3da280d4ce5d256e7fc5dd2294":774,"be7c596b5c00482060167b37bf7638a2f5a2c679":691,"ca2b9ce3b25451baa3a0c55f8038d3d8b9020592":1007,"3e484edcc1a4a261ec71a06af6ef100b1804ee35":1,"693cfd80bec4da7dc933166b16b36fee37501d42":2272,"c14813d655279eb85c05ffdfa2e413d653dd3452":159,"78c51821922ad67e020144220945934b97a232f0":146,"fa7317f49fded69c66cff6a04e554e0d08b0bb6c":1509,"4628f5d727bd46cf7beefec6b79a4f051b9d7b74":1065,"bfae8909b1762de7df38e7a5120624e8a67f10ae":1216,"b3c766fdd76aabd575ab8bb1e5993942b7a9d5af":1134,"dc3665f39c1a0eaec696ad840f0ce7635671cd77":653,"66e31c0943ef0ccd5f30ce268a236a452479d320":2005,"f0b65cacaee9fbf9f6588f91e8f992acd6ca970c":204,"f4b2d78839007d41c35c647cc39313194977773f":2076,"6fc016c03a5f27a0ae61dfb5a56a7938427ea1ae":20,"31765b5c4826fb20fc8c1c180e04807a57fb54eb":507,"e25d18428a233aa7acc0517284549afa54eb6aed":765,"e95cbe4eb8e74c007a5cbe9457229f9bf99eafb3":12,"fbbe13901a19c7d4443a1c46b59f57ebba369af2":182,"f530968301cf83a9aca30204d1178c29170e33a2":497,"af8ca886490ed0dcb39da1783ca9fe879a43915f":432,"18302a084806560c76b5f99e3a93d32ec25ab9c0":112,"15fc5ddf3add441a1133b69f3dd0b3b3b4a35847":1345,"43b356b956b0e66daaca2cd220ab50ba5a30f764":201,"56c0d2fef507d8b6d84bb055f860836d75758486":1323,"f52133fd3d77a39f0f7cff538bf0faa621e4629f":872,"7547ce71bcc2ccd287453fd9e833b9e7003f946c":338,"90ed0493a750b2c27f595264fbef586bb804c806":1173,"ea889a63bd6e6dc29e7c7d7fa93071b64a85a8d9":1414,"3a7ba7d8104356d992c3588b691893c6dcdb06c4":629,"9479a6723044845f6ac84ee4404a13ffc40fa2c4":55,"f513984d3031d348e5f07df45e18a734fe8074d4":1128,"600ab24d1c3eb064bc06d4d1548ead46bdc9f1d7":343,"9ec8f452b6c63f2d8df3e37d226f6e10da8b9ab3":10,"ade08bb9e9f8b026284623105352eee504eecb44":13,"2ea055b8037a16003c394d4cdc4310373838590c":19,"d9aaa5be989ec1b23b790e4fe34c1b24fffdef77":39,"31f3688729203e5c7683c41c3977144906b5cc96":316,"d72f610f3d04bc3a8bf6037cc2fee56b05def78c":226,"5337a72bb982ba754c2402c1b97a7307f49a29b4":343,"4a656410329e7e0b3d67d9b321448b710b40e5da":134,"d8d4cc4e3c3d3ed3754d514eba43e86c08561682":532,"d8c77ffc75b1ccccafff29703b8232685ff1d558":758,"0fc77a6c0a8a9a479819737f90b55d990e2d2adf":209,"af3acdd05c653890d04b21f3c2456ba371153653":169,"a3023d756d3960eb18b0cd22e4e986cc43010a57":110,"bf300b38f2317f246a8d8fc8d995674ab213ad55":268,"6eed305cefd65d21ec0378e204249a86fa924d8e":525,"2ddf2c1ba349d40bca16795a696bdcae2a6cfdc5":542,"34d1e16a0f30d29be2751d145a213fd93e21d127":814,"a287bac2c8d8c961f1ff01b5cc4993ae4b1b2dc8":1131,"f410e1b6254935abd3f95d6b9d1e1d90e86e7053":4104,"a0e062ca95a94bc3c2179f9167a22f978e2cf2ba":192,"1a31f373f73efcede89ec0b77f114be9b5bbec89":321,"60e1408512b28baa80541d9d2a2013c2fae40003":142,"e495a91fd1ba37b8601928bda71ca69819b6df52":173,"b83d92b68ed2fb2328c6af7aed3ca8b075a65dc1":28,"0b346fd2c850f059ccd0e3815d9039f241f26fcb":1180,"866c5460e090bf4d2e491aa24ce1ba4f9eb301ab":26,"847ddbf2fc2e840e32f8128fa61b14aa75d0649c":83,"3c3a479187edbbb3f027914e85f6eeb338d626ef":23,"c3cd1718e8e1607362b59d724f94fbddb5ca0bf4":86,"de88eda605d0f2ca129ec759a8c05cf93721aa52":41,"93baef4648271355736cfad23d486d24cd4d4631":114,"483387febf15afa5762630a83339cc1752328f2d":177,"4a1dd1f9174c0ee92a934c184e4eebb4f72847f0":213,"f121de98524f4f42309ca4992fb3fc22fdabf295":280,"9484612d5fe967669a7b408c5149ea3bb098f6f3":202,"8ae9d5cbd80692b2d6a520f48bbb0805b394ccbc":69,"378a1f7d4eb7b059e1ba135f33f6bf8ef4ce1cd1":60,"9fa71aeb0f7b550a090cc8c75b378057a04aa711":7,"e3eb86189ea7e11206e6b5efdb0ea8445a7751d8":133,"14dc47f1fe288332f78a0a8e2be6af6a991d48fd":27,"2e4e49f9471ba3b05ffb055ab2d8ae97044f9923":6,"515428d277eb887f5d9c5c189494eea0347131a1":174,"59db11619c0997aec2f4e86dcba57fba6e204d6e":152,"a515510122ec0b06bbbf589b0c9fb01d75944167":21,"835b38c01b9771f11334f99d93994269be4de119":125,"dcfab634db97dc405371f7317a0b520cc08bdcfe":104,"1cf6c3386a45af40778405fbf6d6753566025e7b":5,"796da4c422da93849ef1f794105e4919171b6083":55,"92218e14d65a1b8f6429a0761a284a6b977c79a3":151,"fe1c32dd67542cd6c550492c4f44658ec8859f3c":503,"65c333be9a350abbe007c84f96e2c5a22e95cd95":314,"8496940d8f0f493e22c7fa0ed0f487529acd41cf":94,"89875274ab8eecd1a3a13191da988a9f8ec0f26c":248,"e2786b1a2f701f81f0fb6fe4d0f8c28db8aafe74":240,"3d802a19f39d0dbf38f8e2db438860607b13375e":524,"add43ca15c8688d8573445728e89c85b29b15c59":6,"6ce53b4806f25529de72476340a5bbd2b3ad0d7c":524,"f4c857ac4162d91cc7ef57498aae6c6de87f3b08":66,"5cd9a5c160efa5518ca89f9447908dba8ea35dd1":96,"7d99df3fc5e7dbdaac8252b115b2ba7aaba8e130":285,"835c4cf095992f260d2fa976b4c2b00ab941d784":75,"9aed832ae26d43d32aab32faca2c97d920a09e80":115,"ad610cb7c175ea36deee370ba9cf5f73c1e6304d":418,"0ec7b887ef3034b9143ec6a27d1d1280aeb8217c":73,"a13ca9aacd503ed58f4f2cb8a1c989a89a6cd3e7":21,"c8f63ce925446347e6335e8a68ad40e737800573":255,"99e42b5a755685f9ef4080658353b3a90bc46228":535,"5329346a3003f03f948affaf81fded79f3288679":166,"b0c92c75f1b9f409c4d9b928c1d7dddb15bf568f":446,"3a7a70a809b92e8ee721dd1b6d7916acf085948e":10,"24bd940387031d18d9a22572fe9d557d3d27048e":14,"2931bcd68df87428355a5187b76c1a043572d467":96,"912c6d5683dbde0087e59b7bcf518e6871c31e75":17,"7d4eb0fd30aff1ac05754b16785b9ebeec16a378":213,"b96d64dd221de84a265ac80b4fdbe9361fc77466":3684,"0a0c27ec91991e75937df4f0f1372077279ccf86":37,"a721c7c545f2eacbc85e080e636945e6c10bd578":1258,"1c75871b28b792a83456cac80775f59570f3c240":1193,"1d15bdf30194cf9b12e89bfbbe9932e983a66f7e":1,"9861b5bdaf935257f0261b22f64b5d7f1c06c4ea":436,"60cf02f872282edd254e42f06573a8b90e46e7f0":1194,"82ec611132b1d200f4222a7f3f797bfa2fa1d63e":3771,"15b4e1429ae72abd9f9250e84c1bbad4c9ee21c4":319,"e75e70841508c0d49671a4ae0605b79699c8fe10":2248,"5109ed9ad910b817bd32cfaa304378a5b9140dfa":3404,"cb691025f54b508275d848c1de6e4fb7f372c773":41,"8b8c0ad9fd2a69ef23e213547ed8669053b1cc3b":12,"6ceeaf9eabee0816f9b36afdf105bbb1628b28ec":70,"fe5fb081147307537b65937f03782a4075589302":262,"10d1acdf9a3807f0caefb019d0dfb10b3e92a2fd":1524,"65071d88643119861108587c1b85cde36093dfbd":223,"e4bddae92c88544be7fbc46eb84494b0ef3f8de0":2088,"9f5dc17b6ebbf3454d73ea712e689b6b88e0673d":1049,"e4810e054ed8d73e184d04894775bcc26aa5fbd7":1031,"ff20e5e552cef71f1afd0486c83b103746446b6d":668,"5f27c466f4fd6f87419e51c9688644265d7767df":1059,"c577231d51d3e31f5f705bcee62eb28c80bd193f":469,"865d4e01a32aacd029b1fc4a163a7183d258043a":203,"b76428f33158acdfd327b75505366eee6edfa6ec":857,"58175a7124938fa6c0b3b98aea86a9f8deae883a":2181,"6cbb3661983c9f6d6da66110e6fbdf4d9b818b72":148,"fcdea083c12a76666afbf59950238340010e7663":1330,"ec603d5addd008698eaf34f18c60b3e2acd37b0d":488,"023b0a3335c12c3754195a1d4f148825013e1965":513,"14d8cea30523f5fb449e0408ff8a4e5cf1b61946":502,"670d728b98af9929c59b952fb15c7cedf8ab246d":322,"d30a9c4ea2976a13760d5dd8a869bc68798fe253":566,"94b39e5132280ccc699b493dc7fd0a3efe2b3784":456,"8f5f3ad5cd5d673f8f5ca68bc07f33c2f57a3d73":500,"8da902680a9b82791916a43ff408d58cd66232f5":358,"2b74feafaad1f0b74286f13a227c65382013e363":19,"1ed3ea8475b76e486012c355f911a2ee0f439004":15,"09483a2da5df75ab49bb83e97c3b966b214a20f3":2,"951fa3f44863fa149aaeb755e6785147362275f0":791,"f852f8a53e532e80dc733831e112640252c514f5":1756,"5761cbe094c4cd85e86a0bf2fc8b2f00d435220b":213,"8cccdaaa5dc3bd88cb1caeeeaf76ee2f9a3f4c63":1329,"bc9d9ad3dd3bbf7802844574570728245a23c991":431,"8dc3c4903336db302203cfadab69939dc8c2fc02":33,"ab9974f013609fb0abba436d6c098aaded925373":66,"bb2b240ad8b75dd2529d569da5aa1eb4abaa0344":263,"b8607573639c22713ee3b17773e88c89ee7dcd52":1171,"6921ddec77c34617961e65aaca97b7307d00d6bc":1702,"39637985fe20c2e144f37f1cc8e631b0f7fc2ba7":2459,"63a0f913b4e401ba4623b0dfdeee2c15383c6773":1790,"a3c166b551508e88fc6de6ff1ea4fb89b2e81e39":33,"aa9367fc14ba516950a702d41feff21d6aa5a6bd":90,"7d851dc700b2ce5f4950e373a0dbedb7c55203f1":67,"2d665da50aeec09a97126685b6829a658f98437c":20,"75088d8a26b98e6685a7a5fb817c921b879cd062":31,"4895a9968c3eebb1483f6ca8b364ff7d11a759d1":57,"d6a3c88cdd1c3debc992b7aeff6f2f4101c57bb6":173,"969e7ad4b7fac54b58116d549c40f1cf16afe34a":6,"39c23e639cc16f24c047488c7a048c604b647a9d":8,"da0b0a08b230fb3002c5eb1286862d8d9ec495b5":563,"9262de5aac83a56c45ba3d12f3b5629eaaf13586":211,"930cc09f4eee955b98f102d57bcc200f135c0089":156,"88d1ae3dc63fe7edb2c39627df1998cd682cd84b":2,"00d4615e9bbf4dbbcf49f49a1185c8654cf9908b":2,"c9a911ad4c3b02ad2923dcdd8da90e451a9883b6":519,"622aec62e3cef7482c02a2e3dfc552e6ef93823b":511,"6340b76575f7767f89312a9e085d8d995e3f35ec":270,"2509a89d0e45db561c519e1c24299a9fbc9b2e76":7,"47ab0ebfd7a4c4cf83daf89a8773292f67bdcccd":852,"7600c5f3237c3f6e0f9aa130623a53efe84bed09":3,"02f2a2814637ec85de4d172c0d99dd5b77f53c89":5,"1d192344889fdc4c63493dbc2137ee8adcc3da59":687,"3c47fbc471d4d709449a3421df1a6c2c594e972c":1265,"d782c07ed60c95c8c5aeb49d906d53f4a4474152":1176,"7f214de147ddf5ea3751ad0ec8c54e5540f6ab4d":8,"2c2c8a5ac0959c25462beae01e1ef9e3c31cdfd5":101,"bebb54fe4e14c112e14b4995958d636e9a69aeec":739,"88648d8c158590f86cc37cce99cc4e1e489138ab":13,"ec653dbd3bbc4fd2f52c913bb380a4b7bb533eae":34,"0ff4b4bf22553738c9acf1b421c3d95b52791360":784,"e02b26483d558d2bf9a551eb1c9e674680165087":223,"5010dfa981e3dcf52d555e3e4b0f9c894929fc1b":972,"72cf01f1affb3970b5a6c8a369585cd6a665c822":105,"972e4d6212e54f5e15fef7e0a0a36b534b9eceed":5,"3ffcfc1f5e4f4e809323f89806c18da61f7ccaaf":57,"591a52806f10b1ecc629622ee7043c25619ae528":63,"871e57ec1a5fb72d7e3784a786054abeebafb63d":17,"8b361ee5394e5bb487f4ee5b92dba79c243d881e":89,"10a14deace2105719e6c38b6a7f43d315a71d48b":100,"411380e4878c0cfc6ffcd343fbf2c0316edf0c66":22,"f0485e9b7180cbb08093ae73f6a2cd53d4d7966e":9,"cea4d74d347e86f0d8debd3146df8e443c565246":78,"0bf48c50ae8a002a7250c3616a2aacd09dd99dad":7,"e76152ebc11d099941e73dc045b4fc32af364c13":36,"156732b632e895bb603f4e983ff4652e4b1025a9":14,"d221b5125d465a6cc2e78c92b580f7acd62f9f9f":138,"d9a2a969fcc587de17abc57c96b61a9e2445a7e5":157,"3a0130afd5db7a058eca8e98ef13bdb31156b958":10,"cb99ff7957833340a5de37e5712504cbd1cdc2aa":21,"ecb197638d20b3d24ea576275645e2f120a1afe7":13,"b6cee217f79828699d5b13c163f2cbab7e07f688":814,"22454aa774d8d445cc054b77db7758c4270fbdec":78,"b3848f05d568adbb8b4c0f354384e82cae417465":9,"d734dabd46d076eea925926683d2c4d6626d3744":52,"c6838e5ac10800e14772501f9bd4c4641d0d8eb1":224,"b7ccb2ca7bedefdd538537485c8781c48549b6fa":107,"a9fb953c09eb724ff1ebbabc779d53440dd1d8e7":24,"bbf1c4b7677f4d8c40d3a74a03db098b91a03db7":48,"9ac27d9a7328a853de92304a5d243da8ec512965":35,"280b1bb29e1bb5a47051ad0c2a624bf0bbe66703":52,"9516684c96c347d0011281d21ecdaedde7560d0d":155,"1c7bd1a7caadc0b53f8e544096e5d4558920d9be":128,"d256fea33b5f98dbd2dd14b89c5a116bf9c31fc7":1276,"cd192a22969d1305a7fde47a45c74bb032cab1e6":6,"c858a257884b70363893025ea9c28dcda21a4f71":199,"28a88a97c68398f007760ccfc2af69e1a7b50407":244,"e12135d87d0c66766214a004a9656e1f56bd0d93":5,"6bf7641ef670c1c8e60cec5b904b5b7b224d691e":546,"367dc6907e864ea3902ad5567eb6ee9ecf1504da":388,"6229f9019dea56c2f2ff8cc83acc37f524c825f2":745,"19c4e27c254bae528378c622759cd61e34d10c0d":944,"fbfc01eeeac35402fa651e42c79e2e7a89a27fbd":12,"96b975601412ffe17fc837a45f4df25c72f4a187":237,"a5f4b8d78932dd59ff6a0163449f258055fa0288":578,"d45aedc851dae8ca0faa55440c41a13948ed7a4d":609,"ce06e6fde08d2cbae39b3c128e24f08fbac6758d":76,"e74f20f37a1b45e1304dbd1c2c6ae1926cf91e38":56,"473659a8ab538ae27bf5056a00a3f37f3c9a6cb9":60,"c7926c2f4600f5fdcc23a41c1d86ae04845c449b":46,"f5a89a13c40a596fdab52e98e77a441d1eee5a45":90,"8490f0573da9ed4899b412f92a599cfcd00a1611":60,"cabb62dab9b06ff875e36d146fac16f01cbb9da7":316,"40be0d46258ac4074b7ec25e3d07abbcfe838b61":2273,"9b21a1b9a389f602f9d5185cc34dca10e790ad00":4,"eb2ae6bc068b5a84a82e1f06082f445375517060":148,"558997a7ca0140fcbc5b81c77011133c83dde17d":36,"1af5ee50171773f797d8d158ae84af23c0208369":114,"db2748b1481e1dd62aecc1c8d08e5a1d3a2cdb0b":111,"ba6a7c25d9f41567b45386f7e7cc3491f88a1e9b":112,"13b678f4d4755de49be1d6c3b5e2687110287405":99,"9403c18f9fd7ecaac7cba50713083ce6235454cf":18,"f07e3af7eef2554de7e52abc305ed540d173bc66":236,"5695b3c2679244b9fbbf07d661c95797fcbd1bda":4,"4e00c607df7e59decd047922a9cf55080b67b781":65,"8822134fb1a8d028737636ff253d19089ad10d53":12,"76f5eb11a4e820b09ac3e2e9a501231e20a53409":8,"25059bcc7cb0b34b7912ac6125ca2e55d10e7619":5,"707b062647f5e85e030e0d86b5a8f710ddefc12a":9,"d0213c5a3ecfedbe307254b35e4e4d2f11a58bea":39,"cad355adc4c8af200842deeaf09b95d80afcf230":15,"330eb4eb34711c4737be09b0cb798cd1cc80686c":20,"a7edbd52c0df3ce99884b3f98fb8beeacbba0ae0":41,"8abe3a32691716198fa29af42b2012ffa784130e":8,"9e8403b2b2efad37c75fdbed27a651f5df26b4e6":97,"4ec0e4b0e9b0cf98767df5e7a18b7f86deb0a7cd":82,"75ddea787bf0a59bd088e7acd3e7846f5ec44dc2":133,"202d50ccb7a7da1a64d528cd7fa6118defadd7d4":34,"dbadd56c1bb1141b666fc36660f0369cb3397f49":8,"6c828ef7873d24f6edf2cab904d8e8dc3fef2de1":11,"16e4c8f6f6e842e1940930beb408340aebd5dc39":27,"a5988546f3c20dc201e4fd0e37ef38ab5e018a0a":2265,"39877f1433ba60e71df792864416ea15a6bf7d62":6134,"18bc926863b1bcef44aff34f44bbe19c18afbc75":559,"f0337550acf75566879d5d55a3148f1418f12f02":172,"5bb974e436b89a3116cb026453787c05ead39b87":311,"fe4c8a48f388c47bdcc7bfeae339c456275bbfe2":1207,"5222a0160dde81f727be2c1b4660f1aed2f09a1c":946,"3eb538b1b9f71ab28548f3469fe51f3425358cd7":48,"df456e0ef35ceb6288634f74b18a672ea341f790":1405,"f213025f7e8c0fa8dcb25b860fae2bda3f995e51":1435,"6748e5fbf632adaa004413bd22c62f90cd07a053":7,"87e743c2014a59e7549f842d4b3ec4b3d21598e9":1,"5101044ab9117cf76079dc6ad85078c6b326ee06":317,"0cd5e36c97b0e7edc10447c1fafb6dc61bf97fbe":151,"f7e91f0b71ca68a642c065ca9e46b9dba9155c2d":51,"97aac1ced477245bc53347b1910cab60521f53aa":86,"6576ce2376a9fbf9717bd66e513111f9b79fcbc2":65,"06ded115050da28edd766137f132d60ba165515c":215,"7a234241284cd5852532211e38af9b0e8d9b9d40":240,"ab2ae954923a9679eeaaee47320022beb223c384":183,"bef3a3453264ebab365a351d2a50f6d09667649e":166,"192839ab26e276d96acb440b17f0855bb14809b2":415,"b67ca0950c925d6f09f4198c4b0b6665cc295178":60,"9d07ce0bafc4309cf480aaa039c79b22ccd99c61":54,"5f7e905aff425772e1bc003913f5db540b485f3d":1013,"d77a7ff37a0e9823ec73846e85fb2e677179311b":563,"8bf9e7adb3bbeab0d1e866d3c62074a3c2b3d374":610,"eeba91a27b67c415753757cb59b9b3c5a7b7d5c1":685,"f92098f9517399e7db27c1d8f596083fcca9c612":669,"068b81c509569062f0edafe92714b285fbfab19d":560,"742416945ae3835830378849acfe044231f1fc19":130,"8390337442cf4b432ec87c6ebf88f6d31c0dc59e":10,"bd10996adb6d312bfd4bd288f48d20b2aad96703":247,"a1ff0f785a244011af53afe10ade3e46fc449df6":22,"292d306a682e88486537260edd951bc0458db505":292,"9811ca3f208d419e097b0542141ced7471b56169":367,"162294e59bbba0bd24a16be9519f71e2eb601325":466,"0b1bfb2c892cd335ffaca13d0fa5b329cf6a468c":53,"417b91a8ff4f4369cda68b080c2bf4c37f0a3afd":59,"b00e95726206e9e8ce044f3a40e993340c95ee9e":146,"f98f7b80971d90d59dbdd940a8a4bdb0062a9b95":102,"e1d82c0d06664ff08e2ef9b963f0014e3c0bce7a":478,"fff7a66ba0e55d72dc7b7de2b0ee837f8f89fc8b":6,"7fd3c5d040296619dac018a5f3ba5eec3f7dfa2c":127,"03fb9f4ea7752c5772d35ad8ccfb6d9b1fe3e668":3,"9a053720ec7d1c5cca7e6ae730ea229baa6ea127":75,"84fcc0f10931565c2ea32a579ca400e8c02a217a":242,"4a8413e4299e250a2fc70ed19b54f440983a1333":53,"2c9b52e17854cf64232ce7aecbf7b9b9ed5d867a":193,"e4aaae0d9b432588eb42c00346174b3aef5a2a6f":57,"1e7e8831acd6c8c216d0da7760720dde5b6ee802":40,"7956348af54542b6c71b4d9413f5eb1663f49116":135,"ea6d11d6f1c9b732cc20d4512200ea72327080f1":1248,"55e02f512cb2a3021b967a864986ca8fc68dbc14":20,"bf11534013752fb119c734baae9498140451666a":198,"6df45211ae88e4a4c03ccd7ee1ff89499046c5f6":39,"1474a947fb30a8e8fe30c654962dc2a193d5b5fd":148,"50898673444be254a78cc27f44496ba30727ca6e":61,"a693a9966be77574490c468ba156653a196d1a30":62,"0362dd05f131b8335ed5b6e875842d255e1cd7df":48,"3bb405f9563034490cc8947429a9a0b97a293792":143,"02b70c2427426a2dae600af6acad9bf1006be275":62,"1a79e5082e49825273f5cfe4397fed4ba6556b8e":12,"ea1b29a6cc8f2774e066e1c5e42b798ae7d2963d":1926,"56555a89bcce166f1ccdab6e38249cfebfaef597":7,"2f6e352962bea6e1a2ea0880b0ece1b53a46e622":193,"4e570431ca9a335075cab2389f0b0aeb3d6fba1e":61,"3900084c2687690408d6c7a3669637be0a9df47c":105,"54e74835182722665474e5d7786341170b6ea9c2":118,"9ca58ad27512456afb06d63090762ebe292027f8":34,"1d575c544ec79293a16a2c1354ab401d17f6b0c3":77,"65df56d18837d4bbb599c893d19fe1195996441a":254,"396bf208eeb9b624f8c77966f49a1c36cb2663a4":280,"7e61d478fdc8771c66abd8642caaaf69a33ed6d8":40,"f799e21c1e5a95ad1a773c9ce8ff9fc1f0fb878b":187,"75ca9d7f062dd48324d54859682c7228815d311d":122,"d7d782b2c01e60da4deba39e35d7b0dabee4c91a":156,"77e38c49c7a2bd9c5445a7edac5c1af510099e09":55,"81876ca5170ac9b0387c39252a17ecb1a2e1c5e2":141,"496fc1756acdb7eda20e243702a55dbd5a7eeac7":282,"965280d5d0bee19ac08f911916925e3c78f09696":61,"6650f3f5f8c3efe6d190d0b869122de6b610e505":54,"9e00268ea63bf54b876d458729585a92e31bfdb0":119,"095f76d5fc2ded9c2f0e2a3ca17130c38d6de20d":61,"72b1dde32247469a588a876628705cf405b454c6":7,"f01adb7d3815a000f52a94ef2a3cff8400f3fbe7":225,"f02672e116f06c188eea493dbbcfb13ed605d953":10,"6ce20847e99ee0a4fc911260c40b22077d4d6475":54,"c60ec8189bc5a37d3c8179828f67daf54fd63cc5":26,"81a36e42a62e64de86556b898f575474b9e1f90e":112,"29ed90b63f60e564dce8ffce4f54569676a4315c":88,"975dc88c77f76777cb49bf03d4e23c7a36ea1f2d":122,"b5b6b3592a3132234bca9880db35fa887ff4bdb5":458,"ad9fec370ef71559f80dd57c6a87f8ff30a40c30":4,"06b3fd9f41a8a17e57fc9e432fa34b40f075fc30":269,"3640f04e0ab4ffb9bd4fd61e990e8eb3edc1983a":26,"617a6ac96358b6ac9cb849c5d78107bdfc4040db":30,"e34695cb8598a3d7399adcfa4dc43fbfc2ce2edb":1603,"4a6ad1cbd7eb9f43dc9cee541d1a49c1a4d89585":113,"883f6211e7be86eaea5678c6c86f36c072d5821e":16,"0867d741340a504a5ad4c112a12d945996bd6628":1198,"33d9d1b055b0a659adc38b01806b3108d55bd046":397,"6638350ac2bdae12c5ca1d358c4c72ddf04b9fbb":10,"d7fcdc8dbfa90e83843fb0a3b73b9b6a5cf4629d":321,"aa3038f4578ebecd791d134eb6c54b560825eb0b":674,"6a36b837bef568a18ab9245337ae90e09ea61386":20,"b163ec2c5161f96531792a70ab7b083b2f719c97":521,"ecf198d0478200253c614084d53f84d6c375e04a":10,"f65fffa5086449ed9cff4b141ad32b811fdf8581":224,"4d1ca28967ca81f53a74d2f510f98162727a9ac5":31,"b5326996d0ef7b4daaf7794dc22a741751c98f63":51,"3b02a845b4a281d1b86129242e200358601afdf1":2,"2eb8302f1f30c58562d5df253decfa9b164646c2":42,"73388f2feadc3dd26bbfa5e0872afe6ca42234fe":147,"7508426cbadf907285d23b5b721e6acca3ec2b70":75,"df359e48202089deffb4db0469f674a41d0642e2":50,"4b56986512f5f70cbb093fcc35742b235fe834f6":66,"96b68e5d316f1b8a164e6213ae9d1bfae12f8ec2":44,"f80f9bd5e60dbd046b77887d73134bff3eef334e":113,"bbc86465b09d2210fe07eacd24b8cd70bc875a60":299,"d40f345ea8bdc2b548d0b6ada3699c5732f003e1":56,"f18685eb8acdb3a8ebd07142a5c018adc65a46b2":1608,"97655fb26b41a1b0db6594e0c5368e8b3bea3b3d":1312,"f4020dee73e24142939c304d5ed4ee3709617efe":1012,"40f1bf6a0879205a069b0774a73c3622a0092154":3,"8fc7b064c07a1da2ca9cf575c83e6173cfd605a8":2260,"69187659f96dee98add9f0926bc2c2d4aed5d5a1":662,"f2b0135fb71ed23d747292d3526edb49f603a140":215,"b290f34f28385b39f6c57c2581ba96f80b781a94":259,"a7f438af3bb0e6cd64d6d049fbb54a71c5663e27":107,"cbe132eaeebbc0c20f198c1464100ea17f8e0b73":2744,"0d92d50931d7b9d0325782b7afcca5c5612bd2d5":217,"9825cbdafee631d992baec0879e2a9af2a6fcdb2":428,"efb4cec9d3f94218cf34b034564402dd5399235b":11,"482875a6643ceff02bd62e3d933fef82b59511d2":710,"ee621f161998b0db83ce93c6d6f90d45f43c9a5d":580,"3fb6c7470e6f956e78c2bb55700dafad7438ed8c":39,"0109387c5869240312f705bfd18ea6017bea945c":27,"12faf3116749e58853e8351f0009e75b515e256c":13,"9c49378ff6f24f26c7959354d24fbf29f049a32c":144,"e5f23a45c25fab5ccc1c9873246808216503076a":1014,"405f878681d7aee081488f8e95da1de6f7b03cc2":237,"ad3d9857efdd24955a798bc37664bf505cb2fc29":117,"a2e9a96949d161c79069286ff724dcbde7641215":217,"aa516d89c7049594fc65efcdfcab8eaef630354c":19,"292b3407d672c4df23a799b4c966b2362763b62c":595,"f4fa773fb190c30fea8c47164676a80b1edb1015":262,"eff72aa82071f0abf4558f94b551ce7d63929df6":59,"7e9ac3dfdb53f2c3d972e86e679dfc1e4f71020a":54,"593da1bcd3eb91b26f9baa1ebf598565287325c0":2211,"197fd83d243e17ad37338370ea8ba4c9ca2391c4":1212,"778eb3fea2fea517e260f7cc84363f6542fb33a1":6,"e00ff443ef1b56b9f57893507e107a2f4e413f8f":268,"c553b88cdd65043732d4277a1b49d2308f90e264":841,"faf4581c2ad97759f6198205b279e69614048f25":107,"0cf14f60827075ebc88dd95aaa1b42f604a32b9b":985,"21f3122d7f2c3ed01b8b750136fd557a504c2716":176,"8ae5a685e984a6513ad10536c1afcc41dfeed266":560,"8eba338abafbe1889bc677d96d2c34045855703f":275,"246fe68c12f72b1a57831ed1578b7ec48bf87304":137,"233c3f59c81ecad126b0319b352d191943927d70":104,"924cfc29bfb993a823a0e9c6faf9a57e141a538d":12,"075bd688aea350c559d88cacbc8abdcc60f56276":2,"8f51f2e6cd324ea91893c3b73e10c981be55ba91":18,"f692c0c91b3242784e719f83c753d874b73d2fd3":918,"820b1a701f90b3c22db7a92234680ca5d18fa213":248,"6d18f0366d31d0c6fb1e63e16d38c6f88bcecafd":37,"18bc452c9a6647657dea5c604d29ac49756771cf":628,"afbe19e89f91786327c2954aaf2721f2a70e33cd":741,"0f4ffa33ef617ac9368675507e4da099aaaf6385":2107,"1e1d6a8d7436179cd1396210c9870f9b7529e120":692,"7827235d8078748be9477e00f908031999dc79d3":123,"566811653ad689069a216ad5af10a02f137e080e":54,"fd3271c4dd4a9ddb35bdb07293c39f0992fafbcf":485,"c44ebab78a6a1772f927f18652ebb197848c21d4":515,"367b67c99933e08d8042c39f5842a1bfd8449e73":142,"91f9ebbb686d7d1faa407d019833ac9b1f5f3f3f":381,"1654150e11e2fd7c34cde30c0b86707692e328b0":34,"f93bf0f3bbeee5f9177c2fe5d5db0e8bcfaae275":1,"4025d724ee018822d73e4c8fdaccf22066053d8e":236,"aac7361b0b0821e7cafbf1c941805e168fc36d9e":497,"1eca925029f712faf26758d58e1dc19160bcef2a":2138,"72eb15be3b7436a7c05feaa8ccb7d0f6a8055904":310,"947908483a6ea52dec8938d58e4a2a96b6a0dcd0":151,"52aede992c1c8fde1ddee0136817474d5977152d":3,"4b23c6b75898ef695e0e72eb98885b8be8d87d54":11,"502b09d09604145d542efac23782cdaa6c65b734":29,"bc8a54c0c119490e3414cc5786011cb3f8a58f70":9,"dac7f3b341b97bea9de2f4f10b05c9334f5ddc3d":4,"b9556e092394a3cab0a6e0c1e1cc91d0161295bf":282,"f0e4ba206854e4779fba025d95878d087b5de0bc":4,"c4057e2f754130b695191303a9504f4b9eff36a3":72,"30b82eb36de03bfd91051d4dcae241b4572478fc":91,"09a0fbba4238779a3946b85a62c9d404fb899bab":140,"5bd681d5e957f87dc2ffee57c90965b02bf6cd76":153,"78fecfb1a37e6aa45025b7614d30110fb748bbdd":30,"fe87fd74c667982b15992248c1aea3477c7ed3ed":21,"2e97e1d1fdbf253752a690368a5057a2359c2eb6":501,"d3d3b4091b8f6c4f97cbeb0a9d74c2dcf2560176":2,"c1090b76a42d14d033da367ebdbd8ecd53484bc5":92,"b7aadc4b0787f59ff4f482c330b53768981cfd05":9,"f953673fe790ba61396159f76c111ac7893344a3":12,"53f9b9cc4a577aaa0d24e53bb7c35d7c09434ee8":15,"7583ad0a1c0129f6cedb9929cb23374a1ed4bdfd":33,"812c63acaac0ff198224666221c49a16702cf52d":6,"0f2b194fdc81edd68db668e0910e6a454e756e61":38,"847c6f14daec895d7029e64814732e7b780c2515":122,"c84628ec017aa8ddc921d02dcab9ceaebc5167af":25,"dc299cec3b1cb8d4edef1293c7bfda5a649e0afb":53,"c3bd3efc04e15f4941b222d0fa2b5ab978a8bd48":69,"ba328f180d7a4dff75c8c960e3cea6f5827dbb0f":25,"06666e398d18e417e6629641330af11504fb2e27":1057,"b05927538f4c672697c6b14509332eb10352d291":1384,"e0a81649fd15a70a55e0a9e370e7e221ef77b3cb":1139,"c9127b9b510624639d987fc633f2bbb930f83f8f":74,"0c01f88d6221b0116b0a4c665a87b731f1d1e53d":5,"4d69641e8127312423f1fc808fd3ea8c96125b4d":122,"e1b73d291356c03f7beaf2a5d3643708150db5e2":218,"cd376191d97d2fbfa1ff9d543d2f36f9ef41c06b":3,"e286b1efe87a71511ce38f5357f6cfa036b513d7":202,"e3f375737a4773a68820c85d925bb310fc117ad5":878,"81d4320976284fef6e147106749783571d200bb3":477,"d3cb60563fe27bfab63d6700d6ac0f9d4ffdb634":5187,"907d65ea233a66f68dbfe825fd22e0084b65f4a5":164,"45797a7e841e5ce27f7aab3d13fdd0dfab72ed56":304,"42a5d243a41bfe72ac2751ce9e1fddf74754af63":58,"202e6179236416ba32a8397cf9cb6cc5015df0fd":13,"b6d80f5ab777b45c871e07e810736714a66295a3":711,"a61c53d1c3aecce6d2e00e440fb2ccabbe18aca4":1512},"excluded_import_commits":["0954a741e52ca5743adea5c804d7be12c6bdee25","276ecf223cf182ea32f26f6be9eaf21db774977f","73b0d4a3fc12db4293b80c0b786c34e5caf2bbaf","da45aaac70915fe8c2ae7e2160352dbbe4e98bdf","e1343db35f2f92db38f06fd89dac6a54d81ad69d","e37b8ae8a45468dff0d6f52164889805a052125f"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":102156.0,"index":0.152,"count:narrated_steps":0.0,"per_kloc:narrated_steps":0.0,"files:narrated_steps":0.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":31.0,"per_kloc:emoji_in_code":0.303,"files:emoji_in_code":15.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":6.0,"secrets_low_confidence":0.0},"findings":[{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"tests/data/manifold_multi_outcome_2026_08_05.json","line":52,"fingerprint":"tests/data/manifold_multi_outcome_2026_08_05.json:generic-api-key:52"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"tests/data/manifold_pseudo_numeric_2026_08_05.json","line":26,"fingerprint":"tests/data/manifold_pseudo_numeric_2026_08_05.json:generic-api-key:26"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"tests/data/prediction_market_venue_payloads.json","line":719,"fingerprint":"tests/data/prediction_market_venue_payloads.json:generic-api-key:719"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"tests/test_check_openrouter_credits.py","line":18,"fingerprint":"tests/test_check_openrouter_credits.py:generic-api-key:18"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"tests/test_credit_telemetry.py","line":58,"fingerprint":"tests/test_credit_telemetry.py:generic-api-key:58"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"tests/test_credit_role_spend.py","line":523,"fingerprint":"tests/test_credit_role_spend.py:generic-api-key:523"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":14.0,"findings_high":10.0,"findings_medium":4.0,"findings_low":0.0,"weighted_findings":9.55,"scanned_lines":102156.0,"parse_errors":8.0},"findings":[{"rule_id":"opengrep/python.lang.security.audit.dangerous-asyncio-create-exec-audit","severity":"high","message":"Detected 'create_subprocess_exec' function without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"metaculus_bot/ablation/claude_cli.py","line":86,"fingerprint":"python.lang.security.audit.dangerous-asyncio-create-exec-audit:metaculus_bot/ablation/claude_cli.py:86"},{"rule_id":"opengrep/python.lang.security.use-defused-xml","severity":"high","message":"The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and \"XML bombs\" can cause denial of service. [confidence low]","path":"metaculus_bot/research/fred_rendering.py","line":22,"fingerprint":"python.lang.security.use-defused-xml:metaculus_bot/research/fred_rendering.py:22"},{"rule_id":"opengrep/python.lang.security.use-defused-xml","severity":"high","message":"The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and \"XML bombs\" can cause denial of service. [confidence low]","path":"metaculus_bot/research/known_api/backends.py","line":30,"fingerprint":"python.lang.security.use-defused-xml:metaculus_bot/research/known_api/backends.py:30"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"scripts/backfill_research_from_logs.py","line":140,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:scripts/backfill_research_from_logs.py:140"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"scripts/backfill_research_from_logs.py","line":158,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:scripts/backfill_research_from_logs.py:158"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"scripts/derive_mini_comment_fixture.py","line":236,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:scripts/derive_mini_comment_fixture.py:236"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"scripts/dispatch_watch.py","line":206,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:scripts/dispatch_watch.py:206"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"scripts/download_run_logs.py","line":101,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:scripts/download_run_logs.py:101"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"scripts/gha_artifacts.py","line":134,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:scripts/gha_artifacts.py:134"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-audit","severity":"high","message":"Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low]","path":"scripts/gha_artifacts.py","line":254,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:scripts/gha_artifacts.py:254"},{"rule_id":"opengrep/python.lang.security.audit.logging.python-logger-credential-disclosure","severity":"medium","message":"Detected a python logger call with a potential hardcoded secret \"LLM_ROUTE_SUCCESS role=%s slot=%s provider=%s model=%s prompt_tokens=%s completion_tokens=%s\" being logged. This may lead to secret credentials being exposed. Make sure that the logger is not logging  sensitive information. [confidence medium]","path":"metaculus_bot/akash_router.py","line":216,"fingerprint":"python.lang.security.audit.logging.python-logger-credential-disclosure:metaculus_bot/akash_router.py:216"},{"rule_id":"opengrep/python.lang.security.audit.logging.python-logger-credential-disclosure","severity":"medium","message":"Detected a python logger call with a potential hardcoded secret \"GEMINI_VERTEX_USAGE: role=%s model=%s prompt_tokens=%s output_tokens=%s cost_usd=unknown\" being logged. This may lead to secret credentials being exposed. Make sure that the logger is not logging  sensitive information. [confidence medium]","path":"metaculus_bot/gemini_routing.py","line":167,"fingerprint":"python.lang.security.audit.logging.python-logger-credential-disclosure:metaculus_bot/gemini_routing.py:167"},{"rule_id":"opengrep/python.lang.security.audit.logging.python-logger-credential-disclosure","severity":"medium","message":"Detected a python logger call with a potential hardcoded secret \"resolution_source: url_context rung is enabled but GCP_API_KEY_1 is not set — skipping %s\" being logged. This may lead to secret credentials being exposed. Make sure that the logger is not logging  sensitive information. [confidence medium]","path":"metaculus_bot/research/fetch_ladder/rungs.py","line":1052,"fingerprint":"python.lang.security.audit.logging.python-logger-credential-disclosure:metaculus_bot/research/fetch_ladder/rungs.py:1052"},{"rule_id":"opengrep/python.lang.security.audit.regex_dos","severity":"medium","message":"Detected usage of re.compile with an inefficient regular expression. This can lead to regular expression denial of service, which can result in service down time. Instead, check all regexes or use safer alternatives such as pyre2. [confidence low]","path":"metaculus_bot/research/gemini_search.py","line":174,"fingerprint":"python.lang.security.audit.regex_dos:metaculus_bot/research/gemini_search.py:174"}],"evidence":[],"data":{"rulesets":["python","bash"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":17.0,"vulnerabilities":156.0,"vulns_critical":11.0,"vulns_high":81.0,"vulns_medium":54.0,"vulns_low":9.0,"vulns_unknown":1.0,"penalty":173.0},"findings":[{"rule_id":"osv/GHSA-9v8h-qqgm-4m35","severity":"critical","message":"brotli@1.2.0 (PyPI) is affected by PYSEC-2026-4322, GHSA-9v8h-qqgm-4m35","path":"uv.lock","line":null,"fingerprint":"brotli@1.2.0 (PyPI):GHSA-9v8h-qqgm-4m35"},{"rule_id":"osv/GHSA-6q48-6c7w-9gw2","severity":"critical","message":"certifi@2026.7.22 (PyPI) is affected by PYSEC-2026-4320, GHSA-6q48-6c7w-9gw2","path":"uv.lock","line":null,"fingerprint":"certifi@2026.7.22 (PyPI):GHSA-6q48-6c7w-9gw2"},{"rule_id":"osv/GHSA-p423-j2cm-9vmq","severity":"critical","message":"cryptography@46.0.6 (PyPI) is affected by PYSEC-2026-36, GHSA-p423-j2cm-9vmq","path":"uv.lock","line":null,"fingerprint":"cryptography@46.0.6 (PyPI):GHSA-p423-j2cm-9vmq"},{"rule_id":"osv/GHSA-7hp6-4w63-5g45","severity":"critical","message":"litellm@1.98.0 (PyPI) is affected by GHSA-7hp6-4w63-5g45","path":"uv.lock","line":null,"fingerprint":"litellm@1.98.0 (PyPI):GHSA-7hp6-4w63-5g45"},{"rule_id":"osv/GHSA-5x8w-8jj5-q52h","severity":"critical","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4330, GHSA-5x8w-8jj5-q52h","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-5x8w-8jj5-q52h"},{"rule_id":"osv/GHSA-8g5g-8vmr-9782","severity":"critical","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4332, GHSA-8g5g-8vmr-9782","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-8g5g-8vmr-9782"},{"rule_id":"osv/GHSA-v9pv-5gc8-w2m6","severity":"critical","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4339, GHSA-v9pv-5gc8-w2m6","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-v9pv-5gc8-w2m6"},{"rule_id":"osv/GHSA-xvh5-g6gv-559v","severity":"critical","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4363, GHSA-xvh5-g6gv-559v","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-xvh5-g6gv-559v"},{"rule_id":"osv/GHSA-332p-7hrc-92wf","severity":"critical","message":"pillow@12.3.0 (PyPI) is affected by GHSA-332p-7hrc-92wf","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-332p-7hrc-92wf"},{"rule_id":"osv/GHSA-w889-685w-c8fh","severity":"critical","message":"pillow@12.3.0 (PyPI) is affected by GHSA-w889-685w-c8fh","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-w889-685w-c8fh"},{"rule_id":"osv/GHSA-ffc3-869f-jxw9","severity":"critical","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4145, GHSA-ffc3-869f-jxw9","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-ffc3-869f-jxw9"},{"rule_id":"osv/GHSA-2g87-pp6c-29x5","severity":"high","message":"aiohttp@3.14.3 (PyPI) is affected by GHSA-2g87-pp6c-29x5","path":"uv.lock","line":null,"fingerprint":"aiohttp@3.14.3 (PyPI):GHSA-2g87-pp6c-29x5"},{"rule_id":"osv/GHSA-5wr8-gcqf-gqf3","severity":"high","message":"aiohttp@3.14.3 (PyPI) is affected by GHSA-5wr8-gcqf-gqf3","path":"uv.lock","line":null,"fingerprint":"aiohttp@3.14.3 (PyPI):GHSA-5wr8-gcqf-gqf3"},{"rule_id":"osv/GHSA-9xw5-w5jj-pvcg","severity":"high","message":"aiohttp@3.14.3 (PyPI) is affected by GHSA-9xw5-w5jj-pvcg","path":"uv.lock","line":null,"fingerprint":"aiohttp@3.14.3 (PyPI):GHSA-9xw5-w5jj-pvcg"},{"rule_id":"osv/GHSA-g6cj-pr64-35w5","severity":"high","message":"cryptography@46.0.6 (PyPI) is affected by PYSEC-2026-3552, GHSA-g6cj-pr64-35w5","path":"uv.lock","line":null,"fingerprint":"cryptography@46.0.6 (PyPI):GHSA-g6cj-pr64-35w5"},{"rule_id":"osv/GHSA-jwv3-5hgf-82ww","severity":"high","message":"cryptography@46.0.6 (PyPI) is affected by PYSEC-2026-3553, GHSA-jwv3-5hgf-82ww","path":"uv.lock","line":null,"fingerprint":"cryptography@46.0.6 (PyPI):GHSA-jwv3-5hgf-82ww"},{"rule_id":"osv/GHSA-537c-gmf6-5ccf","severity":"high","message":"cryptography@46.0.6 (PyPI) is affected by GHSA-537c-gmf6-5ccf","path":"uv.lock","line":null,"fingerprint":"cryptography@46.0.6 (PyPI):GHSA-537c-gmf6-5ccf"},{"rule_id":"osv/GHSA-45c3-73f7-pv4m","severity":"high","message":"dnspython@2.8.0 (PyPI) is affected by GHSA-45c3-73f7-pv4m","path":"uv.lock","line":null,"fingerprint":"dnspython@2.8.0 (PyPI):GHSA-45c3-73f7-pv4m"},{"rule_id":"osv/GHSA-vvf4-9x63-8xvv","severity":"high","message":"dnspython@2.8.0 (PyPI) is affected by GHSA-vvf4-9x63-8xvv","path":"uv.lock","line":null,"fingerprint":"dnspython@2.8.0 (PyPI):GHSA-vvf4-9x63-8xvv"},{"rule_id":"osv/GHSA-v4x8-3wr5-3wq8","severity":"high","message":"filelock@3.32.4 (PyPI) is affected by GHSA-v4x8-3wr5-3wq8","path":"uv.lock","line":null,"fingerprint":"filelock@3.32.4 (PyPI):GHSA-v4x8-3wr5-3wq8"},{"rule_id":"osv/GHSA-84m7-p3x7-pcfv","severity":"high","message":"mcp@1.29.1 (PyPI) is affected by GHSA-84m7-p3x7-pcfv","path":"uv.lock","line":null,"fingerprint":"mcp@1.29.1 (PyPI):GHSA-84m7-p3x7-pcfv"},{"rule_id":"osv/GHSA-27h8-gf7j-v5hc","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4326, GHSA-27h8-gf7j-v5hc","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-27h8-gf7j-v5hc"},{"rule_id":"osv/GHSA-4558-3h8r-v8xp","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4327, GHSA-4558-3h8r-v8xp","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-4558-3h8r-v8xp"},{"rule_id":"osv/GHSA-4rr5-89j8-mwwm","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4328, GHSA-4rr5-89j8-mwwm","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-4rr5-89j8-mwwm"},{"rule_id":"osv/GHSA-58r4-6rv3-gfh8","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4329, GHSA-58r4-6rv3-gfh8","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-58r4-6rv3-gfh8"},{"rule_id":"osv/GHSA-7mwm-ghpf-9vrm","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4331, GHSA-7mwm-ghpf-9vrm","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-7mwm-ghpf-9vrm"},{"rule_id":"osv/GHSA-cp9v-662q-vvx9","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4333, GHSA-cp9v-662q-vvx9","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-cp9v-662q-vvx9"},{"rule_id":"osv/GHSA-pchr-8j38-3x4p","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4334, GHSA-pchr-8j38-3x4p","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-pchr-8j38-3x4p"},{"rule_id":"osv/GHSA-xgh8-jp6q-p5x8","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4335, GHSA-xgh8-jp6q-p5x8","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-xgh8-jp6q-p5x8"},{"rule_id":"osv/GHSA-g842-9rc4-69pw","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4338, GHSA-g842-9rc4-69pw","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-g842-9rc4-69pw"},{"rule_id":"osv/GHSA-3j72-p6qg-6xp7","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4341, GHSA-3j72-p6qg-6xp7","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-3j72-p6qg-6xp7"},{"rule_id":"osv/GHSA-g4qv-2jxx-769h","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4342, GHSA-g4qv-2jxx-769h","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-g4qv-2jxx-769h"},{"rule_id":"osv/GHSA-9v9v-9qvf-h2hj","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4343, GHSA-9v9v-9qvf-h2hj","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-9v9v-9qvf-h2hj"},{"rule_id":"osv/GHSA-22hg-r758-rrw9","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-22hg-r758-rrw9","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-22hg-r758-rrw9"},{"rule_id":"osv/GHSA-5xm2-6676-qcp9","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-5xm2-6676-qcp9","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-5xm2-6676-qcp9"},{"rule_id":"osv/GHSA-65qm-jvmh-6pqg","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-65qm-jvmh-6pqg","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-65qm-jvmh-6pqg"},{"rule_id":"osv/GHSA-78g4-xqwv-q3g8","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-78g4-xqwv-q3g8","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-78g4-xqwv-q3g8"},{"rule_id":"osv/GHSA-c6hw-5grf-ff96","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-c6hw-5grf-ff96","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-c6hw-5grf-ff96"},{"rule_id":"osv/GHSA-f2g6-542v-9j58","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-f2g6-542v-9j58","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-f2g6-542v-9j58"},{"rule_id":"osv/GHSA-g7cr-3p24-7wf7","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-g7cr-3p24-7wf7","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-g7cr-3p24-7wf7"},{"rule_id":"osv/GHSA-gg2r-wvfm-q9rx","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-gg2r-wvfm-q9rx","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-gg2r-wvfm-q9rx"},{"rule_id":"osv/GHSA-j4m9-6w36-pw47","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-j4m9-6w36-pw47","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-j4m9-6w36-pw47"},{"rule_id":"osv/GHSA-jg86-v3jv-hrpm","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-jg86-v3jv-hrpm","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-jg86-v3jv-hrpm"},{"rule_id":"osv/GHSA-mrfp-p49p-3hf2","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-mrfp-p49p-3hf2","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-mrfp-p49p-3hf2"},{"rule_id":"osv/GHSA-p4wg-p73j-c528","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-p4wg-p73j-c528","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-p4wg-p73j-c528"},{"rule_id":"osv/GHSA-q45j-58j2-45rg","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-q45j-58j2-45rg","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-q45j-58j2-45rg"},{"rule_id":"osv/GHSA-xcvg-w56q-r89m","severity":"high","message":"pillow@12.3.0 (PyPI) is affected by GHSA-xcvg-w56q-r89m","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-xcvg-w56q-r89m"},{"rule_id":"osv/GHSA-2qm8-x737-gmw5","severity":"high","message":"pyasn1@0.6.4 (PyPI) is affected by GHSA-2qm8-x737-gmw5","path":"uv.lock","line":null,"fingerprint":"pyasn1@0.6.4 (PyPI):GHSA-2qm8-x737-gmw5"},{"rule_id":"osv/GHSA-9m75-vc3g-4x39","severity":"high","message":"pyasn1@0.6.4 (PyPI) is affected by GHSA-9m75-vc3g-4x39","path":"uv.lock","line":null,"fingerprint":"pyasn1@0.6.4 (PyPI):GHSA-9m75-vc3g-4x39"},{"rule_id":"osv/GHSA-fm9c-5rcf-2q5p","severity":"high","message":"pyasn1@0.6.4 (PyPI) is affected by GHSA-fm9c-5rcf-2q5p","path":"uv.lock","line":null,"fingerprint":"pyasn1@0.6.4 (PyPI):GHSA-fm9c-5rcf-2q5p"},{"rule_id":"osv/GHSA-mm57-4v3p-rchx","severity":"high","message":"pyasn1@0.6.4 (PyPI) is affected by GHSA-mm57-4v3p-rchx","path":"uv.lock","line":null,"fingerprint":"pyasn1@0.6.4 (PyPI):GHSA-mm57-4v3p-rchx"},{"rule_id":"osv/GHSA-9j54-fg26-wv3r","severity":"high","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4143, GHSA-9j54-fg26-wv3r","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-9j54-fg26-wv3r"},{"rule_id":"osv/GHSA-9v7f-9g4p-ffgj","severity":"high","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4144, GHSA-9v7f-9g4p-ffgj","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-9v7f-9g4p-ffgj"},{"rule_id":"osv/GHSA-p4g4-x82p-q773","severity":"high","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4149, GHSA-p4g4-x82p-q773","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-p4g4-x82p-q773"},{"rule_id":"osv/GHSA-r6x4-923q-g947","severity":"high","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4150, GHSA-r6x4-923q-g947","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-r6x4-923q-g947"},{"rule_id":"osv/GHSA-w2cx-738m-mc7w","severity":"high","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4151, GHSA-w2cx-738m-mc7w","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-w2cx-738m-mc7w"},{"rule_id":"osv/GHSA-x33g-cr3x-6449","severity":"high","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4183, GHSA-x33g-cr3x-6449","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-x33g-cr3x-6449"},{"rule_id":"osv/GHSA-pxh4-856f-4h89","severity":"high","message":"pyjwt@2.13.0 (PyPI) is affected by GHSA-pxh4-856f-4h89","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-pxh4-856f-4h89"},{"rule_id":"osv/GHSA-5jq2-8x83-x246","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by PYSEC-2026-4153, GHSA-5jq2-8x83-x246","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-5jq2-8x83-x246"},{"rule_id":"osv/GHSA-fp3h-c4fm-7vvf","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by PYSEC-2026-4154, GHSA-fp3h-c4fm-7vvf","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-fp3h-c4fm-7vvf"},{"rule_id":"osv/GHSA-g9cg-prrw-2r8q","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by PYSEC-2026-4155, GHSA-g9cg-prrw-2r8q","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-g9cg-prrw-2r8q"},{"rule_id":"osv/GHSA-jw7q-gvrg-4vj3","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by PYSEC-2026-4156, GHSA-jw7q-gvrg-4vj3","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-jw7q-gvrg-4vj3"},{"rule_id":"osv/GHSA-php9-fj8v-98fj","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by PYSEC-2026-4157, GHSA-php9-fj8v-98fj","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-php9-fj8v-98fj"},{"rule_id":"osv/GHSA-qv6h-rv94-w285","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by PYSEC-2026-4158, GHSA-qv6h-rv94-w285","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-qv6h-rv94-w285"},{"rule_id":"osv/GHSA-v247-6f48-mgcj","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by PYSEC-2026-4159, GHSA-v247-6f48-mgcj","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-v247-6f48-mgcj"},{"rule_id":"osv/GHSA-w23x-9jrw-r45c","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by PYSEC-2026-4160, GHSA-w23x-9jrw-r45c","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-w23x-9jrw-r45c"},{"rule_id":"osv/GHSA-42gh-23hr-vphw","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-42gh-23hr-vphw","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-42gh-23hr-vphw"},{"rule_id":"osv/GHSA-4vqv-7265-gm2w","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-4vqv-7265-gm2w","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-4vqv-7265-gm2w"},{"rule_id":"osv/GHSA-5849-834g-hvw5","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-5849-834g-hvw5","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-5849-834g-hvw5"},{"rule_id":"osv/GHSA-62m5-6wh8-28x7","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-62m5-6wh8-28x7","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-62m5-6wh8-28x7"},{"rule_id":"osv/GHSA-6c7f-9265-g8fw","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-6c7f-9265-g8fw","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-6c7f-9265-g8fw"},{"rule_id":"osv/GHSA-cggf-277g-3q54","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-cggf-277g-3q54","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-cggf-277g-3q54"},{"rule_id":"osv/GHSA-gmh7-3g9r-mjh5","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-gmh7-3g9r-mjh5","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-gmh7-3g9r-mjh5"},{"rule_id":"osv/GHSA-jr96-gvgh-j3r4","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-jr96-gvgh-j3r4","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-jr96-gvgh-j3r4"},{"rule_id":"osv/GHSA-mfr5-77xh-9j7h","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-mfr5-77xh-9j7h","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-mfr5-77xh-9j7h"},{"rule_id":"osv/GHSA-x3rh-gjgm-fmqc","severity":"high","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-x3rh-gjgm-fmqc","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-x3rh-gjgm-fmqc"},{"rule_id":"osv/GHSA-6655-6qjp-jx7x","severity":"high","message":"soupsieve@2.9.2 (PyPI) is affected by GHSA-6655-6qjp-jx7x","path":"uv.lock","line":null,"fingerprint":"soupsieve@2.9.2 (PyPI):GHSA-6655-6qjp-jx7x"},{"rule_id":"osv/GHSA-mmhr-3c5m-f64f","severity":"high","message":"soupsieve@2.9.2 (PyPI) is affected by GHSA-mmhr-3c5m-f64f","path":"uv.lock","line":null,"fingerprint":"soupsieve@2.9.2 (PyPI):GHSA-mmhr-3c5m-f64f"},{"rule_id":"osv/GHSA-c2m8-h5v5-343r","severity":"high","message":"tornado@6.5.8 (PyPI) is affected by GHSA-c2m8-h5v5-343r","path":"uv.lock","line":null,"fingerprint":"tornado@6.5.8 (PyPI):GHSA-c2m8-h5v5-343r"},{"rule_id":"osv/GHSA-chx6-46f5-w4vp","severity":"high","message":"tornado@6.5.8 (PyPI) is affected by GHSA-chx6-46f5-w4vp","path":"uv.lock","line":null,"fingerprint":"tornado@6.5.8 (PyPI):GHSA-chx6-46f5-w4vp"},{"rule_id":"osv/GHSA-8988-9cw3-xx77","severity":"high","message":"urllib3@2.7.0 (PyPI) is affected by PYSEC-2026-4175, GHSA-8988-9cw3-xx77","path":"uv.lock","line":null,"fingerprint":"urllib3@2.7.0 (PyPI):GHSA-8988-9cw3-xx77"},{"rule_id":"osv/GHSA-vxq7-64xx-v4gw","severity":"high","message":"urllib3@2.7.0 (PyPI) is affected by PYSEC-2026-4177, GHSA-vxq7-64xx-v4gw","path":"uv.lock","line":null,"fingerprint":"urllib3@2.7.0 (PyPI):GHSA-vxq7-64xx-v4gw"},{"rule_id":"osv/GHSA-94p9-xgh2-xp45","severity":"high","message":"virtualenv@21.7.7 (PyPI) is affected by PYSEC-2026-4011, GHSA-94p9-xgh2-xp45","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-94p9-xgh2-xp45"},{"rule_id":"osv/GHSA-p58f-9548-mpm2","severity":"high","message":"virtualenv@21.7.7 (PyPI) is affected by PYSEC-2026-4013, GHSA-p58f-9548-mpm2","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-p58f-9548-mpm2"},{"rule_id":"osv/GHSA-x78j-v8h9-3j2q","severity":"high","message":"virtualenv@21.7.7 (PyPI) is affected by PYSEC-2026-4014, GHSA-x78j-v8h9-3j2q","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-x78j-v8h9-3j2q"},{"rule_id":"osv/GHSA-394h-qwmc-48pf","severity":"high","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-394h-qwmc-48pf","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-394h-qwmc-48pf"},{"rule_id":"osv/GHSA-5vjq-rrrf-7h2q","severity":"high","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-5vjq-rrrf-7h2q","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-5vjq-rrrf-7h2q"},{"rule_id":"osv/GHSA-6w3r-xr62-4xcp","severity":"high","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-6w3r-xr62-4xcp","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-6w3r-xr62-4xcp"},{"rule_id":"osv/GHSA-8rjx-v5ww-45pp","severity":"high","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-8rjx-v5ww-45pp","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-8rjx-v5ww-45pp"},{"rule_id":"osv/GHSA-c947-3pg5-gm8q","severity":"high","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-c947-3pg5-gm8q","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-c947-3pg5-gm8q"},{"rule_id":"osv/GHSA-c978-59m8-c77v","severity":"high","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-c978-59m8-c77v","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-c978-59m8-c77v"},{"rule_id":"osv/GHSA-vxj4-q4g9-crj7","severity":"high","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-vxj4-q4g9-crj7","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-vxj4-q4g9-crj7"},{"rule_id":"osv/GHSA-494j-54xm-rwp3","severity":"medium","message":"aiohttp@3.14.3 (PyPI) is affected by GHSA-494j-54xm-rwp3","path":"uv.lock","line":null,"fingerprint":"aiohttp@3.14.3 (PyPI):GHSA-494j-54xm-rwp3"},{"rule_id":"osv/GHSA-6cjc-53gc-5rqm","severity":"medium","message":"aiohttp@3.14.3 (PyPI) is affected by GHSA-6cjc-53gc-5rqm","path":"uv.lock","line":null,"fingerprint":"aiohttp@3.14.3 (PyPI):GHSA-6cjc-53gc-5rqm"},{"rule_id":"osv/GHSA-f9xw-jh8m-3mwq","severity":"medium","message":"aiohttp@3.14.3 (PyPI) is affected by GHSA-f9xw-jh8m-3mwq","path":"uv.lock","line":null,"fingerprint":"aiohttp@3.14.3 (PyPI):GHSA-f9xw-jh8m-3mwq"},{"rule_id":"osv/GHSA-pqxq-w44r-73xw","severity":"medium","message":"aiohttp@3.14.3 (PyPI) is affected by GHSA-pqxq-w44r-73xw","path":"uv.lock","line":null,"fingerprint":"aiohttp@3.14.3 (PyPI):GHSA-pqxq-w44r-73xw"},{"rule_id":"osv/GHSA-m2h6-j472-rp4c","severity":"medium","message":"cryptography@46.0.6 (PyPI) is affected by PYSEC-2026-3554, GHSA-m2h6-j472-rp4c","path":"uv.lock","line":null,"fingerprint":"cryptography@46.0.6 (PyPI):GHSA-m2h6-j472-rp4c"},{"rule_id":"osv/GHSA-6627-m3xw-93mp","severity":"medium","message":"filelock@3.32.4 (PyPI) is affected by GHSA-6627-m3xw-93mp","path":"uv.lock","line":null,"fingerprint":"filelock@3.32.4 (PyPI):GHSA-6627-m3xw-93mp"},{"rule_id":"osv/GHSA-69hj-f68j-2879","severity":"medium","message":"filelock@3.32.4 (PyPI) is affected by GHSA-69hj-f68j-2879","path":"uv.lock","line":null,"fingerprint":"filelock@3.32.4 (PyPI):GHSA-69hj-f68j-2879"},{"rule_id":"osv/GHSA-8mx5-7m5m-r77g","severity":"medium","message":"filelock@3.32.4 (PyPI) is affected by GHSA-8mx5-7m5m-r77g","path":"uv.lock","line":null,"fingerprint":"filelock@3.32.4 (PyPI):GHSA-8mx5-7m5m-r77g"},{"rule_id":"osv/GHSA-9c4x-gm8v-wgc4","severity":"medium","message":"filelock@3.32.4 (PyPI) is affected by GHSA-9c4x-gm8v-wgc4","path":"uv.lock","line":null,"fingerprint":"filelock@3.32.4 (PyPI):GHSA-9c4x-gm8v-wgc4"},{"rule_id":"osv/GHSA-cwqr-hh33-gh44","severity":"medium","message":"filelock@3.32.4 (PyPI) is affected by GHSA-cwqr-hh33-gh44","path":"uv.lock","line":null,"fingerprint":"filelock@3.32.4 (PyPI):GHSA-cwqr-hh33-gh44"},{"rule_id":"osv/GHSA-fq56-3cx3-fjxp","severity":"medium","message":"filelock@3.32.4 (PyPI) is affected by GHSA-fq56-3cx3-fjxp","path":"uv.lock","line":null,"fingerprint":"filelock@3.32.4 (PyPI):GHSA-fq56-3cx3-fjxp"},{"rule_id":"osv/GHSA-j8f7-rjxc-mr56","severity":"medium","message":"filelock@3.32.4 (PyPI) is affected by GHSA-j8f7-rjxc-mr56","path":"uv.lock","line":null,"fingerprint":"filelock@3.32.4 (PyPI):GHSA-j8f7-rjxc-mr56"},{"rule_id":"osv/GHSA-m462-7rxw-wvpg","severity":"medium","message":"filelock@3.32.4 (PyPI) is affected by GHSA-m462-7rxw-wvpg","path":"uv.lock","line":null,"fingerprint":"filelock@3.32.4 (PyPI):GHSA-m462-7rxw-wvpg"},{"rule_id":"osv/GHSA-rfpc-qcw5-3pc4","severity":"medium","message":"filelock@3.32.4 (PyPI) is affected by GHSA-rfpc-qcw5-3pc4","path":"uv.lock","line":null,"fingerprint":"filelock@3.32.4 (PyPI):GHSA-rfpc-qcw5-3pc4"},{"rule_id":"osv/GHSA-5h93-6whr-6q8j","severity":"medium","message":"mcp@1.29.1 (PyPI) is affected by GHSA-5h93-6whr-6q8j","path":"uv.lock","line":null,"fingerprint":"mcp@1.29.1 (PyPI):GHSA-5h93-6whr-6q8j"},{"rule_id":"osv/GHSA-rwrf-2pqf-9j8j","severity":"medium","message":"mcp@1.29.1 (PyPI) is affected by GHSA-rwrf-2pqf-9j8j","path":"uv.lock","line":null,"fingerprint":"mcp@1.29.1 (PyPI):GHSA-rwrf-2pqf-9j8j"},{"rule_id":"osv/GHSA-w4fh-qvv9-3v23","severity":"medium","message":"mcp@1.29.1 (PyPI) is affected by GHSA-w4fh-qvv9-3v23","path":"uv.lock","line":null,"fingerprint":"mcp@1.29.1 (PyPI):GHSA-w4fh-qvv9-3v23"},{"rule_id":"osv/GHSA-54p9-h82j-f925","severity":"medium","message":"multidict@6.7.1 (PyPI) is affected by PYSEC-2026-4244, GHSA-54p9-h82j-f925","path":"uv.lock","line":null,"fingerprint":"multidict@6.7.1 (PyPI):GHSA-54p9-h82j-f925"},{"rule_id":"osv/GHSA-654x-cwwv-5j9c","severity":"medium","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4336, GHSA-654x-cwwv-5j9c","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-654x-cwwv-5j9c"},{"rule_id":"osv/GHSA-p8hx-v2p6-rp84","severity":"medium","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4337, GHSA-p8hx-v2p6-rp84","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-p8hx-v2p6-rp84"},{"rule_id":"osv/GHSA-4rm8-3hmm-39fg","severity":"medium","message":"pillow@12.3.0 (PyPI) is affected by PYSEC-2026-4340, GHSA-4rm8-3hmm-39fg","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-4rm8-3hmm-39fg"},{"rule_id":"osv/GHSA-24rc-8hj2-v98c","severity":"medium","message":"pillow@12.3.0 (PyPI) is affected by GHSA-24rc-8hj2-v98c","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-24rc-8hj2-v98c"},{"rule_id":"osv/GHSA-254f-3936-288h","severity":"medium","message":"pillow@12.3.0 (PyPI) is affected by GHSA-254f-3936-288h","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-254f-3936-288h"},{"rule_id":"osv/GHSA-462x-pgg6-55fp","severity":"medium","message":"pillow@12.3.0 (PyPI) is affected by GHSA-462x-pgg6-55fp","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-462x-pgg6-55fp"},{"rule_id":"osv/GHSA-74r2-7ff9-mjj2","severity":"medium","message":"pillow@12.3.0 (PyPI) is affected by GHSA-74r2-7ff9-mjj2","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-74r2-7ff9-mjj2"},{"rule_id":"osv/GHSA-fc9g-5qg7-mf45","severity":"medium","message":"pillow@12.3.0 (PyPI) is affected by GHSA-fc9g-5qg7-mf45","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-fc9g-5qg7-mf45"},{"rule_id":"osv/GHSA-rfgq-q3w2-pmv2","severity":"medium","message":"pillow@12.3.0 (PyPI) is affected by GHSA-rfgq-q3w2-pmv2","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-rfgq-q3w2-pmv2"},{"rule_id":"osv/GHSA-vx6w-vv9f-6gvg","severity":"medium","message":"pillow@12.3.0 (PyPI) is affected by GHSA-vx6w-vv9f-6gvg","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-vx6w-vv9f-6gvg"},{"rule_id":"osv/GHSA-wqgw-9xfh-qf2g","severity":"medium","message":"pillow@12.3.0 (PyPI) is affected by GHSA-wqgw-9xfh-qf2g","path":"uv.lock","line":null,"fingerprint":"pillow@12.3.0 (PyPI):GHSA-wqgw-9xfh-qf2g"},{"rule_id":"osv/GHSA-2gx3-rcp4-g85q","severity":"medium","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4140, GHSA-2gx3-rcp4-g85q","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-2gx3-rcp4-g85q"},{"rule_id":"osv/GHSA-42vr-xj54-vc7v","severity":"medium","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4141, GHSA-42vr-xj54-vc7v","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-42vr-xj54-vc7v"},{"rule_id":"osv/GHSA-8wjv-2p76-3863","severity":"medium","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4142, GHSA-8wjv-2p76-3863","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-8wjv-2p76-3863"},{"rule_id":"osv/GHSA-gvp8-978c-rx2q","severity":"medium","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4146, GHSA-gvp8-978c-rx2q","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-gvp8-978c-rx2q"},{"rule_id":"osv/GHSA-hxm8-2xgr-2p9m","severity":"medium","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4147, GHSA-hxm8-2xgr-2p9m","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-hxm8-2xgr-2p9m"},{"rule_id":"osv/GHSA-jwrc-g2q2-pq5p","severity":"medium","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4148, GHSA-jwrc-g2q2-pq5p","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-jwrc-g2q2-pq5p"},{"rule_id":"osv/GHSA-w6j9-cwv2-h6wq","severity":"medium","message":"pyjwt@2.13.0 (PyPI) is affected by PYSEC-2026-4152, GHSA-w6j9-cwv2-h6wq","path":"uv.lock","line":null,"fingerprint":"pyjwt@2.13.0 (PyPI):GHSA-w6j9-cwv2-h6wq"},{"rule_id":"osv/GHSA-39mj-jf6j-2qj3","severity":"medium","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-39mj-jf6j-2qj3","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-39mj-jf6j-2qj3"},{"rule_id":"osv/GHSA-6vvc-x485-93v7","severity":"medium","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-6vvc-x485-93v7","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-6vvc-x485-93v7"},{"rule_id":"osv/GHSA-7mh2-4gg2-979f","severity":"medium","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-7mh2-4gg2-979f","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-7mh2-4gg2-979f"},{"rule_id":"osv/GHSA-9mx8-4j7g-633p","severity":"medium","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-9mx8-4j7g-633p","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-9mx8-4j7g-633p"},{"rule_id":"osv/GHSA-cgf9-327m-v77c","severity":"medium","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-cgf9-327m-v77c","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-cgf9-327m-v77c"},{"rule_id":"osv/GHSA-f54x-cmq8-qg57","severity":"medium","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-f54x-cmq8-qg57","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-f54x-cmq8-qg57"},{"rule_id":"osv/GHSA-qfv9-64jg-mh7p","severity":"medium","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-qfv9-64jg-mh7p","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-qfv9-64jg-mh7p"},{"rule_id":"osv/GHSA-4j63-6c4x-wfg4","severity":"medium","message":"soupsieve@2.9.2 (PyPI) is affected by GHSA-4j63-6c4x-wfg4","path":"uv.lock","line":null,"fingerprint":"soupsieve@2.9.2 (PyPI):GHSA-4j63-6c4x-wfg4"},{"rule_id":"osv/GHSA-7g44-g9rc-x53w","severity":"medium","message":"soupsieve@2.9.2 (PyPI) is affected by GHSA-7g44-g9rc-x53w","path":"uv.lock","line":null,"fingerprint":"soupsieve@2.9.2 (PyPI):GHSA-7g44-g9rc-x53w"},{"rule_id":"osv/GHSA-3hv7-mjh2-fv65","severity":"medium","message":"tornado@6.5.8 (PyPI) is affected by GHSA-3hv7-mjh2-fv65","path":"uv.lock","line":null,"fingerprint":"tornado@6.5.8 (PyPI):GHSA-3hv7-mjh2-fv65"},{"rule_id":"osv/GHSA-pcg2-g6cj-q92c","severity":"medium","message":"tornado@6.5.8 (PyPI) is affected by GHSA-pcg2-g6cj-q92c","path":"uv.lock","line":null,"fingerprint":"tornado@6.5.8 (PyPI):GHSA-pcg2-g6cj-q92c"},{"rule_id":"osv/GHSA-r4j5-9xpp-3985","severity":"medium","message":"tornado@6.5.8 (PyPI) is affected by GHSA-r4j5-9xpp-3985","path":"uv.lock","line":null,"fingerprint":"tornado@6.5.8 (PyPI):GHSA-r4j5-9xpp-3985"},{"rule_id":"osv/GHSA-gh4c-6fx4-qh6g","severity":"medium","message":"urllib3@2.7.0 (PyPI) is affected by PYSEC-2026-4176, GHSA-gh4c-6fx4-qh6g","path":"uv.lock","line":null,"fingerprint":"urllib3@2.7.0 (PyPI):GHSA-gh4c-6fx4-qh6g"},{"rule_id":"osv/GHSA-9h9j-4vrj-gf7g","severity":"medium","message":"virtualenv@21.7.7 (PyPI) is affected by PYSEC-2026-4012, GHSA-9h9j-4vrj-gf7g","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-9h9j-4vrj-gf7g"},{"rule_id":"osv/GHSA-43mp-35q3-x3fq","severity":"medium","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-43mp-35q3-x3fq","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-43mp-35q3-x3fq"},{"rule_id":"osv/GHSA-558c-9hv2-4prj","severity":"medium","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-558c-9hv2-4prj","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-558c-9hv2-4prj"},{"rule_id":"osv/GHSA-cw65-gx24-rc82","severity":"medium","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-cw65-gx24-rc82","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-cw65-gx24-rc82"},{"rule_id":"osv/GHSA-fc2g-4w5p-6whm","severity":"medium","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-fc2g-4w5p-6whm","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-fc2g-4w5p-6whm"},{"rule_id":"osv/GHSA-hhxq-47xx-j5xx","severity":"medium","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-hhxq-47xx-j5xx","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-hhxq-47xx-j5xx"},{"rule_id":"osv/GHSA-gx76-c99x-2c96","severity":"low","message":"aiohttp@3.14.3 (PyPI) is affected by GHSA-gx76-c99x-2c96","path":"uv.lock","line":null,"fingerprint":"aiohttp@3.14.3 (PyPI):GHSA-gx76-c99x-2c96"},{"rule_id":"osv/GHSA-567q-5qvw-pf92","severity":"low","message":"filelock@3.32.4 (PyPI) is affected by GHSA-567q-5qvw-pf92","path":"uv.lock","line":null,"fingerprint":"filelock@3.32.4 (PyPI):GHSA-567q-5qvw-pf92"},{"rule_id":"osv/GHSA-9vhv-jxww-xfm5","severity":"low","message":"filelock@3.32.4 (PyPI) is affected by GHSA-9vhv-jxww-xfm5","path":"uv.lock","line":null,"fingerprint":"filelock@3.32.4 (PyPI):GHSA-9vhv-jxww-xfm5"},{"rule_id":"osv/GHSA-5hx5-vpf9-5wcv","severity":"low","message":"pypdf@6.16.2 (PyPI) is affected by GHSA-5hx5-vpf9-5wcv","path":"uv.lock","line":null,"fingerprint":"pypdf@6.16.2 (PyPI):GHSA-5hx5-vpf9-5wcv"},{"rule_id":"osv/GHSA-5cjw-f85j-cv6r","severity":"low","message":"tornado@6.5.8 (PyPI) is affected by GHSA-5cjw-f85j-cv6r","path":"uv.lock","line":null,"fingerprint":"tornado@6.5.8 (PyPI):GHSA-5cjw-f85j-cv6r"},{"rule_id":"osv/GHSA-pw9p-v7r6-gx4p","severity":"low","message":"tornado@6.5.8 (PyPI) is affected by GHSA-pw9p-v7r6-gx4p","path":"uv.lock","line":null,"fingerprint":"tornado@6.5.8 (PyPI):GHSA-pw9p-v7r6-gx4p"},{"rule_id":"osv/GHSA-494p-63j8-28p3","severity":"low","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-494p-63j8-28p3","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-494p-63j8-28p3"},{"rule_id":"osv/GHSA-cx28-75q4-x26q","severity":"low","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-cx28-75q4-x26q","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-cx28-75q4-x26q"},{"rule_id":"osv/GHSA-qmx5-4p3x-wvqf","severity":"low","message":"virtualenv@21.7.7 (PyPI) is affected by GHSA-qmx5-4p3x-wvqf","path":"uv.lock","line":null,"fingerprint":"virtualenv@21.7.7 (PyPI):GHSA-qmx5-4p3x-wvqf"}],"evidence":[],"data":{"ecosystems":["PyPI"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":11.0,"findings":53.0,"findings_high":30.0,"findings_medium":23.0,"findings_low":0.0,"penalty":396.0},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yaml","line":20,"fingerprint":"unpinned-uses:.github/workflows/ci.yaml:20"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yaml","line":21,"fingerprint":"unpinned-uses:.github/workflows/ci.yaml:21"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yaml","line":44,"fingerprint":"unpinned-uses:.github/workflows/ci.yaml:44"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yaml","line":50,"fingerprint":"unpinned-uses:.github/workflows/ci.yaml:50"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yaml","line":67,"fingerprint":"unpinned-uses:.github/workflows/ci.yaml:67"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yaml","line":94,"fingerprint":"unpinned-uses:.github/workflows/ci.yaml:94"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yaml","line":95,"fingerprint":"unpinned-uses:.github/workflows/ci.yaml:95"},{"rule_id":"zizmor/dangerous-triggers","severity":"high","message":"use of fundamentally insecure workflow trigger [confidence medium]","path":".github/workflows/claude.yml","line":4,"fingerprint":"dangerous-triggers:.github/workflows/claude.yml:4"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/claude.yml","line":36,"fingerprint":"unpinned-uses:.github/workflows/claude.yml:36"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/claude.yml","line":42,"fingerprint":"unpinned-uses:.github/workflows/claude.yml:42"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/fetch_diagnostic.yaml","line":41,"fingerprint":"unpinned-uses:.github/workflows/fetch_diagnostic.yaml:41"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/fetch_diagnostic.yaml","line":43,"fingerprint":"unpinned-uses:.github/workflows/fetch_diagnostic.yaml:43"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_bot_on_mantic.yaml","line":64,"fingerprint":"unpinned-uses:.github/workflows/run_bot_on_mantic.yaml:64"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_bot_on_mantic.yaml","line":66,"fingerprint":"unpinned-uses:.github/workflows/run_bot_on_mantic.yaml:66"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_bot_on_mantic.yaml","line":228,"fingerprint":"unpinned-uses:.github/workflows/run_bot_on_mantic.yaml:228"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_bot_on_metaculus_cup.yaml","line":52,"fingerprint":"unpinned-uses:.github/workflows/run_bot_on_metaculus_cup.yaml:52"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_bot_on_metaculus_cup.yaml","line":54,"fingerprint":"unpinned-uses:.github/workflows/run_bot_on_metaculus_cup.yaml:54"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_bot_on_metaculus_cup.yaml","line":203,"fingerprint":"unpinned-uses:.github/workflows/run_bot_on_metaculus_cup.yaml:203"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_bot_on_minibench.yaml","line":42,"fingerprint":"unpinned-uses:.github/workflows/run_bot_on_minibench.yaml:42"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_bot_on_minibench.yaml","line":44,"fingerprint":"unpinned-uses:.github/workflows/run_bot_on_minibench.yaml:44"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_bot_on_minibench.yaml","line":190,"fingerprint":"unpinned-uses:.github/workflows/run_bot_on_minibench.yaml:190"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_bot_on_tournament.yaml","line":43,"fingerprint":"unpinned-uses:.github/workflows/run_bot_on_tournament.yaml:43"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_bot_on_tournament.yaml","line":45,"fingerprint":"unpinned-uses:.github/workflows/run_bot_on_tournament.yaml:45"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/run_bot_on_tournament.yaml","line":194,"fingerprint":"unpinned-uses:.github/workflows/run_bot_on_tournament.yaml:194"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/test_bot.yaml","line":36,"fingerprint":"unpinned-uses:.github/workflows/test_bot.yaml:36"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/test_bot.yaml","line":38,"fingerprint":"unpinned-uses:.github/workflows/test_bot.yaml:38"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/test_bot.yaml","line":179,"fingerprint":"unpinned-uses:.github/workflows/test_bot.yaml:179"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/test_bot_basic.yaml","line":50,"fingerprint":"unpinned-uses:.github/workflows/test_bot_basic.yaml:50"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/test_bot_basic.yaml","line":52,"fingerprint":"unpinned-uses:.github/workflows/test_bot_basic.yaml:52"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/test_bot_basic.yaml","line":197,"fingerprint":"unpinned-uses:.github/workflows/test_bot_basic.yaml:197"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yaml","line":20,"fingerprint":"artipacked:.github/workflows/ci.yaml:20"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yaml","line":44,"fingerprint":"artipacked:.github/workflows/ci.yaml:44"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yaml","line":67,"fingerprint":"artipacked:.github/workflows/ci.yaml:67"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yaml","line":94,"fingerprint":"artipacked:.github/workflows/ci.yaml:94"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/ci.yaml","line":2,"fingerprint":"excessive-permissions:.github/workflows/ci.yaml:2"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/ci.yaml","line":16,"fingerprint":"excessive-permissions:.github/workflows/ci.yaml:16"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/ci.yaml","line":40,"fingerprint":"excessive-permissions:.github/workflows/ci.yaml:40"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/ci.yaml","line":90,"fingerprint":"excessive-permissions:.github/workflows/ci.yaml:90"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/claude.yml","line":35,"fingerprint":"artipacked:.github/workflows/claude.yml:35"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/fetch_diagnostic.yaml","line":40,"fingerprint":"artipacked:.github/workflows/fetch_diagnostic.yaml:40"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/fetch_diagnostic.yaml","line":31,"fingerprint":"excessive-permissions:.github/workflows/fetch_diagnostic.yaml:31"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/run_bot_on_mantic.yaml","line":63,"fingerprint":"artipacked:.github/workflows/run_bot_on_mantic.yaml:63"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/run_bot_on_mantic.yaml","line":32,"fingerprint":"excessive-permissions:.github/workflows/run_bot_on_mantic.yaml:32"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/run_bot_on_metaculus_cup.yaml","line":51,"fingerprint":"artipacked:.github/workflows/run_bot_on_metaculus_cup.yaml:51"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/run_bot_on_metaculus_cup.yaml","line":30,"fingerprint":"excessive-permissions:.github/workflows/run_bot_on_metaculus_cup.yaml:30"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/run_bot_on_minibench.yaml","line":41,"fingerprint":"artipacked:.github/workflows/run_bot_on_minibench.yaml:41"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/run_bot_on_minibench.yaml","line":20,"fingerprint":"excessive-permissions:.github/workflows/run_bot_on_minibench.yaml:20"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/run_bot_on_tournament.yaml","line":42,"fingerprint":"artipacked:.github/workflows/run_bot_on_tournament.yaml:42"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/run_bot_on_tournament.yaml","line":21,"fingerprint":"excessive-permissions:.github/workflows/run_bot_on_tournament.yaml:21"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/test_bot.yaml","line":35,"fingerprint":"artipacked:.github/workflows/test_bot.yaml:35"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/test_bot.yaml","line":14,"fingerprint":"excessive-permissions:.github/workflows/test_bot.yaml:14"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/test_bot_basic.yaml","line":49,"fingerprint":"artipacked:.github/workflows/test_bot_basic.yaml:49"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/test_bot_basic.yaml","line":28,"fingerprint":"excessive-permissions:.github/workflows/test_bot_basic.yaml:28"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":1.0,"signed_commit_share":0.05,"unpinned_manifests":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":0.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"readme-download-lure","description":"gives an archive password","ref":"README.md","url":null,"weight":0.0}],"data":{"signals":["readme-download-lure"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":3421.0,"function_nloc":47493.0,"mean_ccn":4.26,"p90_ccn":9.0,"complex_functions":51.0,"long_functions":5.0,"many_param_functions":33.0,"risky_nloc_share":0.0595},"findings":[],"evidence":[{"kind":"complex-function","description":"new_wave_summary in metaculus_bot/performance_analysis/round_outputs.py: complexity 37, 55 lines","ref":"metaculus_bot/performance_analysis/round_outputs.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/performance_analysis/round_outputs.py#L372","weight":0.6166666666666667},{"kind":"complex-function","description":"sweep_row in metaculus_bot/performance_analysis/clip_threshold_sweep.py: complexity 30, 45 lines","ref":"metaculus_bot/performance_analysis/clip_threshold_sweep.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/performance_analysis/clip_threshold_sweep.py#L744","weight":0.5},{"kind":"complex-function","description":"_type_report in metaculus_bot/performance_analysis/clip_threshold_tables.py: complexity 29, 49 lines","ref":"metaculus_bot/performance_analysis/clip_threshold_tables.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/performance_analysis/clip_threshold_tables.py#L813","weight":0.48333333333333334},{"kind":"complex-function","description":"counts_payload in metaculus_bot/performance_analysis/round_outputs.py: complexity 28, 94 lines","ref":"metaculus_bot/performance_analysis/round_outputs.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/performance_analysis/round_outputs.py#L432","weight":0.4666666666666667},{"kind":"complex-function","description":"_ladder_at_stage in metaculus_bot/research/market_retrieval/rendering.py: complexity 28, 30 lines","ref":"metaculus_bot/research/market_retrieval/rendering.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/research/market_retrieval/rendering.py#L683","weight":0.4666666666666667},{"kind":"complex-function","description":"_route_question_impl in metaculus_bot/research/ts_routing.py: complexity 25, 65 lines","ref":"metaculus_bot/research/ts_routing.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/research/ts_routing.py#L593","weight":0.4166666666666667},{"kind":"complex-function","description":"binary_summary in metaculus_bot/performance_analysis/analysis.py: complexity 24, 37 lines","ref":"metaculus_bot/performance_analysis/analysis.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/performance_analysis/analysis.py#L134","weight":0.4},{"kind":"complex-function","description":"render_snapshot_with_stats in metaculus_bot/research/market_retrieval/rendering.py: complexity 24, 58 lines","ref":"metaculus_bot/research/market_retrieval/rendering.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/research/market_retrieval/rendering.py#L924","weight":0.4},{"kind":"complex-function","description":"role_costs in scripts/cost_report.py: complexity 23, 38 lines","ref":"scripts/cost_report.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/scripts/cost_report.py#L171","weight":0.38333333333333336},{"kind":"complex-function","description":"_extract_prediction_value in metaculus_bot/ensemble_analysis/correlation_analysis.py: complexity 22, 23 lines","ref":"metaculus_bot/ensemble_analysis/correlation_analysis.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/ensemble_analysis/correlation_analysis.py#L488","weight":0.36666666666666664}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":77650.0,"duplicated_lines":1101.0,"duplicated_share":0.0142,"files":332.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: analyze_correlations.py:435 and community_benchmark.py:502","ref":"analyze_correlations.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/analyze_correlations.py#L435","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: backtest.py:57 and community_benchmark.py:74","ref":"backtest.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/backtest.py#L57","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: community_benchmark.py:107 and metaculus_bot/backtest/question_prep.py:460","ref":"community_benchmark.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/community_benchmark.py#L107","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: metaculus_bot/ablation/cli.py:261 and metaculus_bot/ablation/cli.py:320","ref":"metaculus_bot/ablation/cli.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/ablation/cli.py#L261","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: metaculus_bot/ablation/deterministic_arms.py:97 and metaculus_bot/ablation/deterministic_arms.py:107","ref":"metaculus_bot/ablation/deterministic_arms.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/ablation/deterministic_arms.py#L97","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: metaculus_bot/ablation/forecasters.py:172 and metaculus_bot/ablation/run_stacker.py:193","ref":"metaculus_bot/ablation/forecasters.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/ablation/forecasters.py#L172","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: metaculus_bot/ablation/prune.py:269 and metaculus_bot/ablation/qa_iterate.py:198","ref":"metaculus_bot/ablation/prune.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/ablation/prune.py#L269","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: metaculus_bot/ablation/qa_iterate.py:197 and metaculus_bot/ablation/qa_iterate.py:231","ref":"metaculus_bot/ablation/qa_iterate.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/ablation/qa_iterate.py#L197","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: metaculus_bot/ablation/run_pdf.py:125 and metaculus_bot/probabilistic_tools/binary_pooling.py:50","ref":"metaculus_bot/ablation/run_pdf.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/ablation/run_pdf.py#L125","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: metaculus_bot/ablation/run_simple_agg.py:68 and metaculus_bot/ablation/run_simple_agg.py:138","ref":"metaculus_bot/ablation/run_simple_agg.py","url":"https://github.com/tude-alt/testrun/blob/26e86c3f8732b70fe673456bf74108a716ad1863/metaculus_bot/ablation/run_simple_agg.py#L68","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":272.0,"weighted_findings":285.25,"scanned_lines":102156.0,"category:best-practice":45.0,"category:correctness":142.0,"category:maintainability":85.0},"findings":[{"rule_id":"opengrep/python.lang.best-practice.arbitrary-sleep","severity":"high","message":"time.sleep() call; did you mean to leave this in?","path":"metaculus_bot/performance_analysis/collector.py","line":130,"fingerprint":"python.lang.best-practice.arbitrary-sleep:metaculus_bot/performance_analysis/collector.py:130"},{"rule_id":"opengrep/python.lang.best-practice.arbitrary-sleep","severity":"high","message":"time.sleep() call; did you mean to leave this in?","path":"metaculus_bot/performance_analysis/collector.py","line":147,"fingerprint":"python.lang.best-practice.arbitrary-sleep:metaculus_bot/performance_analysis/collector.py:147"},{"rule_id":"opengrep/python.lang.maintainability.useless-inner-function","severity":"high","message":"function `_fetch_impl` is defined inside a function but never used","path":"metaculus_bot/research/providers.py","line":225,"fingerprint":"python.lang.maintainability.useless-inner-function:metaculus_bot/research/providers.py:225"},{"rule_id":"opengrep/python.lang.best-practice.arbitrary-sleep","severity":"high","message":"time.sleep() call; did you mean to leave this in?","path":"scripts/backfill_research_from_comments.py","line":71,"fingerprint":"python.lang.best-practice.arbitrary-sleep:scripts/backfill_research_from_comments.py:71"},{"rule_id":"opengrep/python.lang.best-practice.arbitrary-sleep","severity":"high","message":"time.sleep() call; did you mean to leave this in?","path":"scripts/backfill_research_from_comments.py","line":233,"fingerprint":"python.lang.best-practice.arbitrary-sleep:scripts/backfill_research_from_comments.py:233"},{"rule_id":"opengrep/python.lang.best-practice.arbitrary-sleep","severity":"high","message":"time.sleep() call; did you mean to leave this in?","path":"scripts/cronjob_dispatch_setup.py","line":209,"fingerprint":"python.lang.best-practice.arbitrary-sleep:scripts/cronjob_dispatch_setup.py:209"},{"rule_id":"opengrep/python.lang.best-practice.arbitrary-sleep","severity":"high","message":"time.sleep() call; did you mean to leave this in?","path":"scripts/supply_probe.py","line":497,"fingerprint":"python.lang.best-practice.arbitrary-sleep:scripts/supply_probe.py:497"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"analyze_correlations.py","line":58,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:analyze_correlations.py:58"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"analyze_correlations.py","line":561,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:analyze_correlations.py:561"},{"rule_id":"opengrep/python.lang.best-practice.logging-error-without-handling","severity":"medium","message":"Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info.","path":"community_benchmark.py","line":130,"fingerprint":"python.lang.best-practice.logging-error-without-handling:community_benchmark.py:130"},{"rule_id":"opengrep/python.lang.best-practice.logging-error-without-handling","severity":"medium","message":"Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info.","path":"community_benchmark.py","line":131,"fingerprint":"python.lang.best-practice.logging-error-without-handling:community_benchmark.py:131"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_saturated_stack\" a function or an attribute? If it is a function, you may have meant score.is_saturated_stack() because score.is_saturated_stack is always true.","path":"metaculus_bot/ablation/scoring.py","line":625,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/ablation/scoring.py:625"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_saturated_stack_aug\" a function or an attribute? If it is a function, you may have meant score.is_saturated_stack_aug() because score.is_saturated_stack_aug is always true.","path":"metaculus_bot/ablation/scoring.py","line":627,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/ablation/scoring.py:627"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_saturated_pdf_min1\" a function or an attribute? If it is a function, you may have meant score.is_saturated_pdf_min1() because score.is_saturated_pdf_min1 is always true.","path":"metaculus_bot/ablation/scoring.py","line":629,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/ablation/scoring.py:629"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_saturated_pdf_min2\" a function or an attribute? If it is a function, you may have meant score.is_saturated_pdf_min2() because score.is_saturated_pdf_min2 is always true.","path":"metaculus_bot/ablation/scoring.py","line":631,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/ablation/scoring.py:631"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_saturated_median\" a function or an attribute? If it is a function, you may have meant score.is_saturated_median() because score.is_saturated_median is always true.","path":"metaculus_bot/ablation/scoring.py","line":633,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/ablation/scoring.py:633"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_saturated_mean\" a function or an attribute? If it is a function, you may have meant score.is_saturated_mean() because score.is_saturated_mean is always true.","path":"metaculus_bot/ablation/scoring.py","line":635,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/ablation/scoring.py:635"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/ablation/scoring_report.py","line":47,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/ablation/scoring_report.py:47"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/ablation/scoring_report.py","line":51,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/ablation/scoring_report.py:51"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/ablation/scoring_report.py","line":120,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/ablation/scoring_report.py:120"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/ablation/scoring_report.py","line":124,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/ablation/scoring_report.py:124"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/ablation/scoring_report.py","line":131,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/ablation/scoring_report.py:131"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/ablation/scoring_report.py","line":135,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/ablation/scoring_report.py:135"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_saturated_stack\" a function or an attribute? If it is a function, you may have meant s.is_saturated_stack() because s.is_saturated_stack is always true.","path":"metaculus_bot/ablation/scoring_report.py","line":166,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/ablation/scoring_report.py:166"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_saturated_stack_aug\" a function or an attribute? If it is a function, you may have meant s.is_saturated_stack_aug() because s.is_saturated_stack_aug is always true.","path":"metaculus_bot/ablation/scoring_report.py","line":167,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/ablation/scoring_report.py:167"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_saturated_median\" a function or an attribute? If it is a function, you may have meant s.is_saturated_median() because s.is_saturated_median is always true.","path":"metaculus_bot/ablation/scoring_report.py","line":168,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/ablation/scoring_report.py:168"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/ablation/scoring_report.py","line":314,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/ablation/scoring_report.py:314"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/ablation/scoring_report.py","line":318,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/ablation/scoring_report.py:318"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/ablation/scoring_report.py","line":320,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/ablation/scoring_report.py:320"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/ablation/scoring_report.py","line":323,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/ablation/scoring_report.py:323"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/ablation/scoring_report.py","line":362,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/ablation/scoring_report.py:362"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/aggregation_pipeline.py","line":81,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/aggregation_pipeline.py:81"},{"rule_id":"opengrep/python.lang.best-practice.logging-error-without-handling","severity":"medium","message":"Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info.","path":"metaculus_bot/backtest/question_prep.py","line":500,"fingerprint":"python.lang.best-practice.logging-error-without-handling:metaculus_bot/backtest/question_prep.py:500"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_byok\" a function or an attribute? If it is a function, you may have meant usage.is_byok() because usage.is_byok is always true.","path":"metaculus_bot/credit_telemetry.py","line":707,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/credit_telemetry.py:707"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/ensemble_analysis/correlation_analysis.py","line":626,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/ensemble_analysis/correlation_analysis.py:626"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/ensemble_analysis/correlation_analysis.py","line":665,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/ensemble_analysis/correlation_analysis.py:665"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/ensemble_analysis/correlation_analysis.py","line":711,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/ensemble_analysis/correlation_analysis.py:711"},{"rule_id":"opengrep/python.lang.best-practice.logging-error-without-handling","severity":"medium","message":"Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info.","path":"metaculus_bot/fallback_openrouter.py","line":586,"fingerprint":"python.lang.best-practice.logging-error-without-handling:metaculus_bot/fallback_openrouter.py:586"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_benchmarking\" a function or an attribute? If it is a function, you may have meant self.is_benchmarking() because self.is_benchmarking is always true.","path":"metaculus_bot/forecaster.py","line":180,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/forecaster.py:180"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_exhausted\" a function or an attribute? If it is a function, you may have meant time_budget.is_exhausted() because time_budget.is_exhausted is always true.","path":"metaculus_bot/forecaster.py","line":649,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/forecaster.py:649"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_benchmarking\" a function or an attribute? If it is a function, you may have meant self.is_benchmarking() because self.is_benchmarking is always true.","path":"metaculus_bot/forecaster.py","line":743,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/forecaster.py:743"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_discrete_integer\" a function or an attribute? If it is a function, you may have meant outcome_result.is_discrete_integer() because outcome_result.is_discrete_integer is always true.","path":"metaculus_bot/forecaster_runners.py","line":501,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/forecaster_runners.py:501"},{"rule_id":"opengrep/python.requests.best-practice.use-raise-for-status","severity":"medium","message":"There's an HTTP request made with requests, but the raise_for_status() utility method isn't used. This can result in request errors going unnoticed and your code behaving in unexpected ways, such as if your authorization API returns a 500 error while you're only checking for a 401.","path":"metaculus_bot/mantic.py","line":190,"fingerprint":"python.requests.best-practice.use-raise-for-status:metaculus_bot/mantic.py:190"},{"rule_id":"opengrep/python.lang.best-practice.manual-defaultdict-list-create","severity":"medium","message":"manually creating a defaultdict - use collections.defaultdict(list)","path":"metaculus_bot/performance_analysis/analysis.py","line":198,"fingerprint":"python.lang.best-practice.manual-defaultdict-list-create:metaculus_bot/performance_analysis/analysis.py:198"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_interval\" a function or an attribute? If it is a function, you may have meant self.is_interval() because self.is_interval is always true.","path":"metaculus_bot/performance_analysis/analysis.py","line":256,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/analysis.py:256"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_interval\" a function or an attribute? If it is a function, you may have meant reading.is_interval() because reading.is_interval is always true.","path":"metaculus_bot/performance_analysis/analysis.py","line":373,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/analysis.py:373"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/analysis.py","line":844,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/analysis.py:844"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/analysis.py","line":849,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/analysis.py:849"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/analysis.py","line":933,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/analysis.py:933"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/clip_threshold.py","line":94,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/clip_threshold.py:94"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":98,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:98"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":100,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:100"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":120,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:120"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":123,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:123"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":125,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:125"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":128,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:128"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":130,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:130"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":136,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:136"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":140,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:140"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":144,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:144"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":149,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:149"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":162,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:162"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":171,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:171"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":302,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:302"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":342,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:342"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":398,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:398"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":423,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:423"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":442,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:442"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":474,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:474"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":487,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:487"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":567,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:567"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":620,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:620"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":706,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:706"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/clip_threshold_report.py","line":717,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/clip_threshold_report.py:717"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_binary\" a function or an attribute? If it is a function, you may have meant self.is_binary() because self.is_binary is always true.","path":"metaculus_bot/performance_analysis/clip_threshold_sweep.py","line":214,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/clip_threshold_sweep.py:214"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_binary\" a function or an attribute? If it is a function, you may have meant self.is_binary() because self.is_binary is always true.","path":"metaculus_bot/performance_analysis/clip_threshold_sweep.py","line":224,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/clip_threshold_sweep.py:224"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_binary\" a function or an attribute? If it is a function, you may have meant self.is_binary() because self.is_binary is always true.","path":"metaculus_bot/performance_analysis/clip_threshold_sweep.py","line":246,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/clip_threshold_sweep.py:246"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_binary\" a function or an attribute? If it is a function, you may have meant self.is_binary() because self.is_binary is always true.","path":"metaculus_bot/performance_analysis/clip_threshold_sweep.py","line":255,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/clip_threshold_sweep.py:255"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_binary\" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true.","path":"metaculus_bot/performance_analysis/clip_threshold_sweep.py","line":440,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/clip_threshold_sweep.py:440"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_binary\" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true.","path":"metaculus_bot/performance_analysis/clip_threshold_sweep.py","line":470,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/clip_threshold_sweep.py:470"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_binary\" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true.","path":"metaculus_bot/performance_analysis/clip_threshold_sweep.py","line":490,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/clip_threshold_sweep.py:490"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_binary\" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true.","path":"metaculus_bot/performance_analysis/clip_threshold_sweep.py","line":497,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/clip_threshold_sweep.py:497"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_binary\" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true.","path":"metaculus_bot/performance_analysis/clip_threshold_tables.py","line":512,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/clip_threshold_tables.py:512"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_binary\" a function or an attribute? If it is a function, you may have meant r.is_binary() because r.is_binary is always true.","path":"metaculus_bot/performance_analysis/clip_threshold_tables.py","line":671,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/clip_threshold_tables.py:671"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_era_slice\" a function or an attribute? If it is a function, you may have meant self.is_era_slice() because self.is_era_slice is always true.","path":"metaculus_bot/performance_analysis/clip_threshold_windows.py","line":80,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/clip_threshold_windows.py:80"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_era_slice\" a function or an attribute? If it is a function, you may have meant w.is_era_slice() because w.is_era_slice is always true.","path":"metaculus_bot/performance_analysis/clip_threshold_windows.py","line":172,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/performance_analysis/clip_threshold_windows.py:172"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/cluster_structure.py","line":138,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/cluster_structure.py:138"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/cluster_structure.py","line":370,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/cluster_structure.py:370"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/cluster_structure.py","line":413,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/cluster_structure.py:413"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/cluster_structure.py","line":422,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/cluster_structure.py:422"},{"rule_id":"opengrep/python.requests.best-practice.use-raise-for-status","severity":"medium","message":"There's an HTTP request made with requests, but the raise_for_status() utility method isn't used. This can result in request errors going unnoticed and your code behaving in unexpected ways, such as if your authorization API returns a 500 error while you're only checking for a 401.","path":"metaculus_bot/performance_analysis/collector.py","line":77,"fingerprint":"python.requests.best-practice.use-raise-for-status:metaculus_bot/performance_analysis/collector.py:77"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/collector.py","line":600,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/collector.py:600"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/collector.py","line":661,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/collector.py:661"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/era_gap.py","line":130,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/era_gap.py:130"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/performance_analysis/era_gap.py","line":412,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/performance_analysis/era_gap.py:412"},{"rule_id":"opengrep/python.lang.maintainability.code-after-unconditional-return","severity":"medium","message":"code after return statement will not be executed","path":"metaculus_bot/performance_analysis/era_gap.py","line":412,"fingerprint":"python.lang.maintainability.code-after-unconditional-return:metaculus_bot/performance_analysis/era_gap.py:412"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/performance_analysis/era_gap.py","line":419,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/performance_analysis/era_gap.py:419"},{"rule_id":"opengrep/python.lang.maintainability.code-after-unconditional-return","severity":"medium","message":"code after return statement will not be executed","path":"metaculus_bot/performance_analysis/era_gap.py","line":419,"fingerprint":"python.lang.maintainability.code-after-unconditional-return:metaculus_bot/performance_analysis/era_gap.py:419"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/performance_analysis/era_gap.py","line":419,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/performance_analysis/era_gap.py:419"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/performance_analysis/era_gap.py","line":437,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/performance_analysis/era_gap.py:437"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/performance_analysis/era_gap.py","line":438,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/performance_analysis/era_gap.py:438"},{"rule_id":"opengrep/python.lang.maintainability.code-after-unconditional-return","severity":"medium","message":"code after return statement will not be executed","path":"metaculus_bot/performance_analysis/era_gap.py","line":438,"fingerprint":"python.lang.maintainability.code-after-unconditional-return:metaculus_bot/performance_analysis/era_gap.py:438"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/performance_analysis/era_gap.py","line":438,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/performance_analysis/era_gap.py:438"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/performance_analysis/era_gap.py","line":458,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/performance_analysis/era_gap.py:458"},{"rule_id":"opengrep/python.lang.maintainability.code-after-unconditional-return","severity":"medium","message":"code after return statement will not be executed","path":"metaculus_bot/performance_analysis/era_gap.py","line":458,"fingerprint":"python.lang.maintainability.code-after-unconditional-return:metaculus_bot/performance_analysis/era_gap.py:458"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/performance_analysis/era_gap.py","line":458,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/performance_analysis/era_gap.py:458"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/era_gap.py","line":671,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/era_gap.py:671"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/era_gap.py","line":678,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/era_gap.py:678"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/era_gap.py","line":689,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/era_gap.py:689"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/era_gap.py","line":704,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/era_gap.py:704"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/era_gap.py","line":719,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/era_gap.py:719"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/era_gap.py","line":729,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/era_gap.py:729"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/era_gap.py","line":809,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/era_gap.py:809"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/outer_tail.py","line":495,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/outer_tail.py:495"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/outer_tail.py","line":505,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/outer_tail.py:505"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/outer_tail.py","line":509,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/outer_tail.py:509"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/outer_tail.py","line":515,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/outer_tail.py:515"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/outer_tail.py","line":521,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/outer_tail.py:521"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/performance_analysis/rescore_diff.py","line":244,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/performance_analysis/rescore_diff.py:244"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/round_dataset.py","line":190,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/round_dataset.py:190"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/round_dataset.py","line":253,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/round_dataset.py:253"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/round_dataset.py","line":415,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/round_dataset.py:415"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/round_dataset.py","line":429,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/round_dataset.py:429"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/round_dataset.py","line":642,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/round_dataset.py:642"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/round_outputs.py","line":182,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/round_outputs.py:182"},{"rule_id":"opengrep/python.lang.best-practice.manual-defaultdict-list-create","severity":"medium","message":"manually creating a defaultdict - use collections.defaultdict(list)","path":"metaculus_bot/performance_analysis/stacker_detection.py","line":189,"fingerprint":"python.lang.best-practice.manual-defaultdict-list-create:metaculus_bot/performance_analysis/stacker_detection.py:189"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/width_monitor.py","line":621,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/width_monitor.py:621"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"metaculus_bot/performance_analysis/width_monitor.py","line":626,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:metaculus_bot/performance_analysis/width_monitor.py:626"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/prompts.py","line":626,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/prompts.py:626"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/prompts.py","line":632,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/prompts.py:632"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/prompts.py","line":638,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/prompts.py:638"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/prompts.py","line":1230,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/prompts.py:1230"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/prompts.py","line":1233,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/prompts.py:1233"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/prompts.py","line":1283,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/prompts.py:1283"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/prompts.py","line":1286,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/prompts.py:1286"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/agentic/gates.py","line":341,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/agentic/gates.py:341"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/agentic/tool_schemas.py","line":171,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/agentic/tool_schemas.py:171"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/agentic/tool_schemas.py","line":177,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/agentic/tool_schemas.py:177"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/currency_pegs.py","line":87,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/currency_pegs.py:87"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/currency_pegs.py","line":118,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/currency_pegs.py:118"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/currency_pegs.py","line":150,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/currency_pegs.py:150"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_encrypted\" a function or an attribute? If it is a function, you may have meant reader.is_encrypted() because reader.is_encrypted is always true.","path":"metaculus_bot/research/document_text.py","line":468,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/document_text.py:468"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/research/fetch_ladder/context.py","line":127,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/research/fetch_ladder/context.py:127"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_private\" a function or an attribute? If it is a function, you may have meant ip.is_private() because ip.is_private is always true.","path":"metaculus_bot/research/fetch_ladder/guard.py","line":80,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/fetch_ladder/guard.py:80"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_loopback\" a function or an attribute? If it is a function, you may have meant ip.is_loopback() because ip.is_loopback is always true.","path":"metaculus_bot/research/fetch_ladder/guard.py","line":81,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/fetch_ladder/guard.py:81"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_link_local\" a function or an attribute? If it is a function, you may have meant ip.is_link_local() because ip.is_link_local is always true.","path":"metaculus_bot/research/fetch_ladder/guard.py","line":82,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/fetch_ladder/guard.py:82"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_reserved\" a function or an attribute? If it is a function, you may have meant ip.is_reserved() because ip.is_reserved is always true.","path":"metaculus_bot/research/fetch_ladder/guard.py","line":83,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/fetch_ladder/guard.py:83"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_multicast\" a function or an attribute? If it is a function, you may have meant ip.is_multicast() because ip.is_multicast is always true.","path":"metaculus_bot/research/fetch_ladder/guard.py","line":84,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/fetch_ladder/guard.py:84"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_unspecified\" a function or an attribute? If it is a function, you may have meant ip.is_unspecified() because ip.is_unspecified is always true.","path":"metaculus_bot/research/fetch_ladder/guard.py","line":85,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/fetch_ladder/guard.py:85"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_global\" a function or an attribute? If it is a function, you may have meant ip.is_global() because ip.is_global is always true.","path":"metaculus_bot/research/fetch_ladder/guard.py","line":86,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/fetch_ladder/guard.py:86"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/fetch_markers.py","line":58,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/fetch_markers.py:58"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/financial_data.py","line":453,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/financial_data.py:453"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/fred_rendering.py","line":136,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/fred_rendering.py:136"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/fred_rendering.py","line":149,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/fred_rendering.py:149"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/fred_rendering.py","line":155,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/fred_rendering.py:155"},{"rule_id":"opengrep/python.lang.best-practice.logging-error-without-handling","severity":"medium","message":"Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info.","path":"metaculus_bot/research/image_persistence.py","line":173,"fingerprint":"python.lang.best-practice.logging-error-without-handling:metaculus_bot/research/image_persistence.py:173"},{"rule_id":"opengrep/python.lang.best-practice.logging-error-without-handling","severity":"medium","message":"Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info.","path":"metaculus_bot/research/image_persistence.py","line":181,"fingerprint":"python.lang.best-practice.logging-error-without-handling:metaculus_bot/research/image_persistence.py:181"},{"rule_id":"opengrep/python.lang.best-practice.logging-error-without-handling","severity":"medium","message":"Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info.","path":"metaculus_bot/research/image_persistence.py","line":191,"fingerprint":"python.lang.best-practice.logging-error-without-handling:metaculus_bot/research/image_persistence.py:191"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_resolved\" a function or an attribute? If it is a function, you may have meant match.is_resolved() because match.is_resolved is always true.","path":"metaculus_bot/research/market_retrieval/ranking.py","line":280,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/market_retrieval/ranking.py:280"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_resolved\" a function or an attribute? If it is a function, you may have meant match.is_resolved() because match.is_resolved is always true.","path":"metaculus_bot/research/market_retrieval/rendering.py","line":466,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/market_retrieval/rendering.py:466"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_resolved\" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true.","path":"metaculus_bot/research/market_retrieval/rendering.py","line":497,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/market_retrieval/rendering.py:497"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_resolved\" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true.","path":"metaculus_bot/research/market_retrieval/rendering.py","line":549,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/market_retrieval/rendering.py:549"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_resolved\" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true.","path":"metaculus_bot/research/market_retrieval/rendering.py","line":631,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/market_retrieval/rendering.py:631"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_resolved\" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true.","path":"metaculus_bot/research/market_retrieval/rendering.py","line":645,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/market_retrieval/rendering.py:645"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_resolved\" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true.","path":"metaculus_bot/research/market_retrieval/rendering.py","line":705,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/market_retrieval/rendering.py:705"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_resolved\" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true.","path":"metaculus_bot/research/market_retrieval/rendering.py","line":706,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/market_retrieval/rendering.py:706"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/research/market_retrieval/session_state.py","line":217,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/research/market_retrieval/session_state.py:217"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_log_scale\" a function or an attribute? If it is a function, you may have meant self.is_log_scale() because self.is_log_scale is always true.","path":"metaculus_bot/research/market_retrieval/types.py","line":112,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/market_retrieval/types.py:112"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_resolved\" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true.","path":"metaculus_bot/research/market_retrieval/venues/_shared.py","line":50,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/market_retrieval/venues/_shared.py:50"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_alertable\" a function or an attribute? If it is a function, you may have meant finding.is_alertable() because finding.is_alertable is always true.","path":"metaculus_bot/research/provider_health.py","line":345,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/provider_health.py:345"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_alertable\" a function or an attribute? If it is a function, you may have meant finding.is_alertable() because finding.is_alertable is always true.","path":"metaculus_bot/research/provider_health.py","line":365,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/provider_health.py:365"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_alertable\" a function or an attribute? If it is a function, you may have meant finding.is_alertable() because finding.is_alertable is always true.","path":"metaculus_bot/research/provider_health.py","line":366,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/provider_health.py:366"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_alertable\" a function or an attribute? If it is a function, you may have meant finding.is_alertable() because finding.is_alertable is always true.","path":"metaculus_bot/research/provider_health.py","line":390,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/provider_health.py:390"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_max\" a function or an attribute? If it is a function, you may have meant route.is_max() because route.is_max is always true.","path":"metaculus_bot/research/timeseries_anchor.py","line":131,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/timeseries_anchor.py:131"},{"rule_id":"opengrep/python.requests.best-practice.use-raise-for-status","severity":"medium","message":"There's an HTTP request made with requests, but the raise_for_status() utility method isn't used. This can result in request errors going unnoticed and your code behaving in unexpected ways, such as if your authorization API returns a 500 error while you're only checking for a 401.","path":"metaculus_bot/research/ts_fetch.py","line":284,"fingerprint":"python.requests.best-practice.use-raise-for-status:metaculus_bot/research/ts_fetch.py:284"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/ts_render.py","line":289,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/ts_render.py:289"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/ts_render.py","line":339,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/ts_render.py:339"},{"rule_id":"opengrep/python.lang.maintainability.is-function-without-parentheses","severity":"medium","message":"Is \"is_max\" a function or an attribute? If it is a function, you may have meant route.is_max() because route.is_max is always true.","path":"metaculus_bot/research/ts_render.py","line":383,"fingerprint":"python.lang.maintainability.is-function-without-parentheses:metaculus_bot/research/ts_render.py:383"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/research/ts_render.py","line":513,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/research/ts_render.py:513"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/tool_runner.py","line":308,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/tool_runner.py:308"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"metaculus_bot/tool_runner.py","line":327,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:metaculus_bot/tool_runner.py:327"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/value_extraction.py","line":199,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/value_extraction.py:199"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/value_extraction.py","line":203,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/value_extraction.py:203"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/value_extraction.py","line":207,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/value_extraction.py:207"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/value_extraction.py","line":211,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/value_extraction.py:211"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/value_extraction.py","line":215,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/value_extraction.py:215"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/value_extraction.py","line":219,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/value_extraction.py:219"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/value_extraction.py","line":224,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/value_extraction.py:224"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/value_extraction.py","line":233,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/value_extraction.py:233"},{"rule_id":"opengrep/python.lang.maintainability.code-after-unconditional-return","severity":"medium","message":"code after return statement will not be executed","path":"metaculus_bot/value_extraction.py","line":233,"fingerprint":"python.lang.maintainability.code-after-unconditional-return:metaculus_bot/value_extraction.py:233"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/value_extraction.py","line":291,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/value_extraction.py:291"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"metaculus_bot/value_extraction.py","line":309,"fingerprint":"python.lang.maintainability.return-not-in-function:metaculus_bot/value_extraction.py:309"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"scripts/backfill_research_from_comments.py","line":191,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:scripts/backfill_research_from_comments.py:191"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"scripts/backfill_research_from_comments.py","line":280,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:scripts/backfill_research_from_comments.py:280"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"scripts/backfill_research_from_logs.py","line":171,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:scripts/backfill_research_from_logs.py:171"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"scripts/backfill_research_from_logs.py","line":242,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:scripts/backfill_research_from_logs.py:242"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"scripts/cost_report.py","line":295,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:scripts/cost_report.py:295"},{"rule_id":"opengrep/python.lang.correctness.common-mistakes.string-concat-in-list","severity":"medium","message":"Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list?","path":"scripts/dispatch_watch.py","line":177,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:scripts/dispatch_watch.py:177"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"scripts/download_research.py","line":412,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:scripts/download_research.py:412"},{"rule_id":"opengrep/python.lang.best-practice.unspecified-open-encoding","severity":"medium","message":"Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding=\"utf-8\").","path":"scripts/download_research.py","line":417,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:scripts/download_research.py:417"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":1.0,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":1.0,"check:tests_cochange":1.0,"test_lines":182025.0,"source_lines":102156.0,"test_ratio":1.7818,"ci_files":11.0,"cochange_share":0.7475,"cochange_commits":202.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/YOUR_EXISTING_MANTIC_WORKFLOW.yml","ref":".github/workflows/YOUR_EXISTING_MANTIC_WORKFLOW.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/ci.yaml","ref":".github/workflows/ci.yaml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/claude.yml","ref":".github/workflows/claude.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/docker-compose.yml","ref":".github/workflows/docker-compose.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/fetch_diagnostic.yaml","ref":".github/workflows/fetch_diagnostic.yaml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/run_bot_on_mantic.yaml","ref":".github/workflows/run_bot_on_mantic.yaml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/run_bot_on_metaculus_cup.yaml","ref":".github/workflows/run_bot_on_metaculus_cup.yaml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/run_bot_on_minibench.yaml","ref":".github/workflows/run_bot_on_minibench.yaml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/run_bot_on_tournament.yaml","ref":".github/workflows/run_bot_on_tournament.yaml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/test_bot.yaml","ref":".github/workflows/test_bot.yaml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (pytest, npm run test)","ref":null,"url":null,"weight":0.0},{"kind":"ci","description":"CI runs linters (ruff, pyright, pre-commit)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["pytest","npm run test"],"lint_commands":["ruff","pyright","pre-commit"]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":0.0,"check:changelog":0.0,"readme_lines":129.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":0.0,"check:low_escape_density":0.0,"escapes":927.0,"escapes_per_kloc":9.099},"findings":[],"evidence":[],"data":{},"error":null}],"flags":[]}