{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-13T23:52:59.556516Z","repo":{"ref":{"host":"github.com","owner":"AgentiaPT","name":"vela-slides"},"default_branch":"main","clone_url":"https://github.com/AgentiaPT/vela-slides.git","html_url":"https://github.com/AgentiaPT/vela-slides","description":"Vela Slides - AI Powered presentation App and Agent Skill","stars":7,"forks":1,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":32006,"primary_language":"JavaScript","license_spdx":"NOASSERTION","created_at":"2026-03-28T14:20:56Z","pushed_at":"2026-11-11T08:29:33Z","security_policy_url":"https://github.com/AgentiaPT/vela-slides/security/policy","distribution":{"owner_created_at":"2026-02-09T00:55:19Z","owner_type":"Organization","release_assets":[{"name":"SHA256SUMS-v13.82.txt","size":786,"download_count":1,"release_tag":"v13.82","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/SHA256SUMS-v13.82.txt"},{"name":"vela-desktop-v13.82-linux_arm64.zip","size":4469562,"download_count":1,"release_tag":"v13.82","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/vela-desktop-v13.82-linux_arm64.zip"},{"name":"vela-desktop-v13.82-linux_x64.zip","size":4741075,"download_count":1,"release_tag":"v13.82","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/vela-desktop-v13.82-linux_x64.zip"},{"name":"vela-desktop-v13.82-mac_arm64.zip","size":4580896,"download_count":1,"release_tag":"v13.82","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/vela-desktop-v13.82-mac_arm64.zip"},{"name":"vela-desktop-v13.82-mac_universal.zip","size":6690318,"download_count":1,"release_tag":"v13.82","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/vela-desktop-v13.82-mac_universal.zip"},{"name":"vela-desktop-v13.82-mac_x64.zip","size":4853732,"download_count":1,"release_tag":"v13.82","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/vela-desktop-v13.82-mac_x64.zip"},{"name":"vela-desktop-v13.82-win_x64.zip","size":5171203,"download_count":1,"release_tag":"v13.82","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/vela-desktop-v13.82-win_x64.zip"},{"name":"vela-slides-skill-v13.82.zip","size":832331,"download_count":1,"release_tag":"v13.82","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/vela-slides-skill-v13.82.zip"},{"name":"vela-slides-v13.82.jsx","size":2401764,"download_count":1,"release_tag":"v13.82","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/vela-slides-v13.82.jsx"},{"name":"SHA256SUMS-v13.81.txt","size":786,"download_count":1,"release_tag":"v13.81","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.81/SHA256SUMS-v13.81.txt"},{"name":"vela-desktop-v13.81-linux_arm64.zip","size":4461230,"download_count":1,"release_tag":"v13.81","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.81/vela-desktop-v13.81-linux_arm64.zip"},{"name":"vela-desktop-v13.81-linux_x64.zip","size":4729881,"download_count":1,"release_tag":"v13.81","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.81/vela-desktop-v13.81-linux_x64.zip"},{"name":"vela-desktop-v13.81-mac_arm64.zip","size":4569752,"download_count":1,"release_tag":"v13.81","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.81/vela-desktop-v13.81-mac_arm64.zip"},{"name":"vela-desktop-v13.81-mac_universal.zip","size":6669822,"download_count":1,"release_tag":"v13.81","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.81/vela-desktop-v13.81-mac_universal.zip"},{"name":"vela-desktop-v13.81-mac_x64.zip","size":4844037,"download_count":1,"release_tag":"v13.81","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.81/vela-desktop-v13.81-mac_x64.zip"},{"name":"vela-desktop-v13.81-win_x64.zip","size":5161163,"download_count":1,"release_tag":"v13.81","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.81/vela-desktop-v13.81-win_x64.zip"},{"name":"vela-slides-skill-v13.81.zip","size":816566,"download_count":1,"release_tag":"v13.81","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.81/vela-slides-skill-v13.81.zip"},{"name":"vela-slides-v13.81.jsx","size":2350153,"download_count":1,"release_tag":"v13.81","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.81/vela-slides-v13.81.jsx"},{"name":"SHA256SUMS-v13.78.txt","size":786,"download_count":1,"release_tag":"v13.78","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.78/SHA256SUMS-v13.78.txt"},{"name":"vela-desktop-v13.78-linux_arm64.zip","size":4432691,"download_count":1,"release_tag":"v13.78","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.78/vela-desktop-v13.78-linux_arm64.zip"},{"name":"vela-desktop-v13.78-linux_x64.zip","size":4707456,"download_count":1,"release_tag":"v13.78","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.78/vela-desktop-v13.78-linux_x64.zip"},{"name":"vela-desktop-v13.78-mac_arm64.zip","size":4547558,"download_count":1,"release_tag":"v13.78","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.78/vela-desktop-v13.78-mac_arm64.zip"},{"name":"vela-desktop-v13.78-mac_universal.zip","size":6612846,"download_count":1,"release_tag":"v13.78","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.78/vela-desktop-v13.78-mac_universal.zip"},{"name":"vela-desktop-v13.78-mac_x64.zip","size":4815305,"download_count":1,"release_tag":"v13.78","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.78/vela-desktop-v13.78-mac_x64.zip"},{"name":"vela-desktop-v13.78-win_x64.zip","size":5132970,"download_count":1,"release_tag":"v13.78","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.78/vela-desktop-v13.78-win_x64.zip"},{"name":"vela-slides-skill-v13.78.zip","size":757082,"download_count":1,"release_tag":"v13.78","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.78/vela-slides-skill-v13.78.zip"},{"name":"vela-slides-v13.78.jsx","size":2122408,"download_count":2,"release_tag":"v13.78","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.78/vela-slides-v13.78.jsx"},{"name":"SHA256SUMS-v13.74.txt","size":786,"download_count":2,"release_tag":"v13.74","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.74/SHA256SUMS-v13.74.txt"},{"name":"vela-desktop-v13.74-linux_arm64.zip","size":4368693,"download_count":1,"release_tag":"v13.74","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.74/vela-desktop-v13.74-linux_arm64.zip"},{"name":"vela-desktop-v13.74-linux_x64.zip","size":4640927,"download_count":2,"release_tag":"v13.74","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.74/vela-desktop-v13.74-linux_x64.zip"},{"name":"vela-desktop-v13.74-mac_arm64.zip","size":4481004,"download_count":1,"release_tag":"v13.74","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.74/vela-desktop-v13.74-mac_arm64.zip"},{"name":"vela-desktop-v13.74-mac_universal.zip","size":6493591,"download_count":2,"release_tag":"v13.74","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.74/vela-desktop-v13.74-mac_universal.zip"},{"name":"vela-desktop-v13.74-mac_x64.zip","size":4752511,"download_count":2,"release_tag":"v13.74","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.74/vela-desktop-v13.74-mac_x64.zip"},{"name":"vela-desktop-v13.74-win_x64.zip","size":5070011,"download_count":1,"release_tag":"v13.74","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.74/vela-desktop-v13.74-win_x64.zip"},{"name":"vela-slides-skill-v13.74.zip","size":656177,"download_count":1,"release_tag":"v13.74","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.74/vela-slides-skill-v13.74.zip"},{"name":"vela-slides-v13.74.jsx","size":1762354,"download_count":1,"release_tag":"v13.74","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.74/vela-slides-v13.74.jsx"},{"name":"SHA256SUMS-v13.73.txt","size":786,"download_count":1,"release_tag":"v13.73","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.73/SHA256SUMS-v13.73.txt"},{"name":"vela-desktop-v13.73-linux_arm64.zip","size":4368593,"download_count":1,"release_tag":"v13.73","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.73/vela-desktop-v13.73-linux_arm64.zip"},{"name":"vela-desktop-v13.73-linux_x64.zip","size":4640779,"download_count":2,"release_tag":"v13.73","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.73/vela-desktop-v13.73-linux_x64.zip"},{"name":"vela-desktop-v13.73-mac_arm64.zip","size":4480848,"download_count":1,"release_tag":"v13.73","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.73/vela-desktop-v13.73-mac_arm64.zip"},{"name":"vela-desktop-v13.73-mac_universal.zip","size":6494730,"download_count":1,"release_tag":"v13.73","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.73/vela-desktop-v13.73-mac_universal.zip"},{"name":"vela-desktop-v13.73-mac_x64.zip","size":4752449,"download_count":1,"release_tag":"v13.73","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.73/vela-desktop-v13.73-mac_x64.zip"},{"name":"vela-desktop-v13.73-win_x64.zip","size":5069919,"download_count":1,"release_tag":"v13.73","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.73/vela-desktop-v13.73-win_x64.zip"},{"name":"vela-slides-skill-v13.73.zip","size":648552,"download_count":1,"release_tag":"v13.73","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.73/vela-slides-skill-v13.73.zip"},{"name":"vela-slides-v13.73.jsx","size":1761993,"download_count":1,"release_tag":"v13.73","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.73/vela-slides-v13.73.jsx"},{"name":"SHA256SUMS-v13.72.txt","size":786,"download_count":1,"release_tag":"v13.72","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.72/SHA256SUMS-v13.72.txt"},{"name":"vela-desktop-v13.72-linux_arm64.zip","size":4368460,"download_count":1,"release_tag":"v13.72","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.72/vela-desktop-v13.72-linux_arm64.zip"},{"name":"vela-desktop-v13.72-linux_x64.zip","size":4639828,"download_count":2,"release_tag":"v13.72","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.72/vela-desktop-v13.72-linux_x64.zip"},{"name":"vela-desktop-v13.72-mac_arm64.zip","size":4480708,"download_count":1,"release_tag":"v13.72","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.72/vela-desktop-v13.72-mac_arm64.zip"},{"name":"vela-desktop-v13.72-mac_universal.zip","size":6493215,"download_count":1,"release_tag":"v13.72","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.72/vela-desktop-v13.72-mac_universal.zip"},{"name":"vela-desktop-v13.72-mac_x64.zip","size":4752366,"download_count":1,"release_tag":"v13.72","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.72/vela-desktop-v13.72-mac_x64.zip"},{"name":"vela-desktop-v13.72-win_x64.zip","size":5068169,"download_count":1,"release_tag":"v13.72","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.72/vela-desktop-v13.72-win_x64.zip"},{"name":"vela-slides-skill-v13.72.zip","size":647570,"download_count":1,"release_tag":"v13.72","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.72/vela-slides-skill-v13.72.zip"},{"name":"vela-slides-v13.72.jsx","size":1761564,"download_count":1,"release_tag":"v13.72","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.72/vela-slides-v13.72.jsx"},{"name":"SHA256SUMS-v13.68.txt","size":786,"download_count":1,"release_tag":"v13.68","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.68/SHA256SUMS-v13.68.txt"},{"name":"vela-desktop-v13.68-linux_arm64.zip","size":4368978,"download_count":1,"release_tag":"v13.68","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.68/vela-desktop-v13.68-linux_arm64.zip"},{"name":"vela-desktop-v13.68-linux_x64.zip","size":4640308,"download_count":2,"release_tag":"v13.68","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.68/vela-desktop-v13.68-linux_x64.zip"},{"name":"vela-desktop-v13.68-mac_arm64.zip","size":4478924,"download_count":1,"release_tag":"v13.68","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.68/vela-desktop-v13.68-mac_arm64.zip"},{"name":"vela-desktop-v13.68-mac_universal.zip","size":6491429,"download_count":1,"release_tag":"v13.68","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.68/vela-desktop-v13.68-mac_universal.zip"},{"name":"vela-desktop-v13.68-mac_x64.zip","size":4751209,"download_count":1,"release_tag":"v13.68","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.68/vela-desktop-v13.68-mac_x64.zip"},{"name":"vela-desktop-v13.68-win_x64.zip","size":5068604,"download_count":2,"release_tag":"v13.68","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.68/vela-desktop-v13.68-win_x64.zip"},{"name":"vela-slides-skill-v13.68.zip","size":647531,"download_count":3,"release_tag":"v13.68","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.68/vela-slides-skill-v13.68.zip"},{"name":"vela-slides-v13.68.jsx","size":1761462,"download_count":1,"release_tag":"v13.68","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.68/vela-slides-v13.68.jsx"},{"name":"SHA256SUMS-v13.67.txt","size":786,"download_count":2,"release_tag":"v13.67","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.67/SHA256SUMS-v13.67.txt"},{"name":"vela-desktop-v13.67-linux_arm64.zip","size":4868102,"download_count":1,"release_tag":"v13.67","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.67/vela-desktop-v13.67-linux_arm64.zip"},{"name":"vela-desktop-v13.67-linux_x64.zip","size":5106665,"download_count":2,"release_tag":"v13.67","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.67/vela-desktop-v13.67-linux_x64.zip"},{"name":"vela-desktop-v13.67-mac_arm64.zip","size":4775151,"download_count":1,"release_tag":"v13.67","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.67/vela-desktop-v13.67-mac_arm64.zip"},{"name":"vela-desktop-v13.67-mac_universal.zip","size":7100381,"download_count":1,"release_tag":"v13.67","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.67/vela-desktop-v13.67-mac_universal.zip"},{"name":"vela-desktop-v13.67-mac_x64.zip","size":5062443,"download_count":1,"release_tag":"v13.67","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.67/vela-desktop-v13.67-mac_x64.zip"},{"name":"vela-desktop-v13.67-win_x64.zip","size":5275924,"download_count":4,"release_tag":"v13.67","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.67/vela-desktop-v13.67-win_x64.zip"},{"name":"vela-slides-skill-v13.67.zip","size":634066,"download_count":1,"release_tag":"v13.67","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.67/vela-slides-skill-v13.67.zip"},{"name":"vela-slides-v13.67.jsx","size":1689655,"download_count":1,"release_tag":"v13.67","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.67/vela-slides-v13.67.jsx"},{"name":"SHA256SUMS-v13.47.txt","size":786,"download_count":2,"release_tag":"v13.47","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.47/SHA256SUMS-v13.47.txt"},{"name":"vela-desktop-v13.47-linux_arm64.zip","size":4858056,"download_count":1,"release_tag":"v13.47","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.47/vela-desktop-v13.47-linux_arm64.zip"},{"name":"vela-desktop-v13.47-linux_x64.zip","size":5099536,"download_count":3,"release_tag":"v13.47","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.47/vela-desktop-v13.47-linux_x64.zip"},{"name":"vela-desktop-v13.47-mac_arm64.zip","size":4767238,"download_count":1,"release_tag":"v13.47","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.47/vela-desktop-v13.47-mac_arm64.zip"},{"name":"vela-desktop-v13.47-mac_universal.zip","size":7081833,"download_count":1,"release_tag":"v13.47","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.47/vela-desktop-v13.47-mac_universal.zip"},{"name":"vela-desktop-v13.47-mac_x64.zip","size":5054733,"download_count":1,"release_tag":"v13.47","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.47/vela-desktop-v13.47-mac_x64.zip"},{"name":"vela-desktop-v13.47-win_x64.zip","size":5266180,"download_count":3,"release_tag":"v13.47","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.47/vela-desktop-v13.47-win_x64.zip"},{"name":"vela-slides-skill-v13.47.zip","size":609885,"download_count":1,"release_tag":"v13.47","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.47/vela-slides-skill-v13.47.zip"},{"name":"vela-slides-v13.47.jsx","size":1591554,"download_count":2,"release_tag":"v13.47","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.47/vela-slides-v13.47.jsx"},{"name":"SHA256SUMS-v13.46.txt","size":697,"download_count":1,"release_tag":"v13.46","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.46/SHA256SUMS-v13.46.txt"},{"name":"vela-desktop-v13.46-linux_arm64.zip","size":4858040,"download_count":1,"release_tag":"v13.46","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.46/vela-desktop-v13.46-linux_arm64.zip"},{"name":"vela-desktop-v13.46-linux_x64.zip","size":5099505,"download_count":2,"release_tag":"v13.46","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.46/vela-desktop-v13.46-linux_x64.zip"},{"name":"vela-desktop-v13.46-mac_arm64.zip","size":4767222,"download_count":1,"release_tag":"v13.46","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.46/vela-desktop-v13.46-mac_arm64.zip"},{"name":"vela-desktop-v13.46-mac_universal.zip","size":7081745,"download_count":1,"release_tag":"v13.46","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.46/vela-desktop-v13.46-mac_universal.zip"},{"name":"vela-desktop-v13.46-mac_x64.zip","size":5054710,"download_count":1,"release_tag":"v13.46","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.46/vela-desktop-v13.46-mac_x64.zip"},{"name":"vela-desktop-v13.46-win_x64.zip","size":5266149,"download_count":1,"release_tag":"v13.46","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.46/vela-desktop-v13.46-win_x64.zip"},{"name":"vela-slides-skill-v13.46.zip","size":609849,"download_count":1,"release_tag":"v13.46","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.46/vela-slides-skill-v13.46.zip"}]}},"commit_sha":"5fd55089988179a59b67d29c9abfe76c4d45ef8b","profile":{"lines_by_language":{"JavaScript":51006,"Python":31248,"Go":1700,"Shell":1539,"TypeScript":508},"files_by_category":{"config":183,"docs":129,"source":124,"binary":116,"test":42,"other":27,"vendored":4,"generated":3,"oversized":1},"source_lines":63652,"test_lines":22349},"pillars":{"ai_provenance":{"score":98.9,"confidence":0.95,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.989,"suspected_share":0.0,"estimated_share":0.989,"ai_artifacts":38.0,"flagged_work_units":15.0,"flagged_releases":4.0},"summary":"Explicit AI attribution on 99% of first-party code added; an estimated 99% including velocity signals."},"quality":{"score":60.5,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":40.5,"duplication":51.5,"lint":53.6,"testing":82.6,"docs":80.0,"type_safety":40.0,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.35, CI runs tests; 30% of function code in complex or long functions; 11% duplicated lines. Weakest area: type safety."},"security":{"score":61.6,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":100.0,"sast":59.2,"dependencies":37.4,"ci_actions":7.5,"posture":100.0,"scorecard":null},"summary":"Security posture is weak: 40 known vulnerabilities in 9 dependencies; 61 high-severity SAST findings; 12 high-severity workflow issues. Weakest area: ci actions."}},"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":9.0,"checked":9.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":598.0,"attributed_commits":562.0,"attributed_commit_share":0.939799331103679,"effective_loc":152551.0,"attributed_loc":150878.0,"attributed_loc_share":0.9890331757903914,"tools_detected":2.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 513 attributed commits, 137,364 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attribution-summary","description":"GitHub Copilot coding agent: 49 attributed commits, 13,514 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"348f5cb71997dadfe0d3ea393c3fe1b787a24517","url":"https://github.com/AgentiaPT/vela-slides/commit/348f5cb71997dadfe0d3ea393c3fe1b787a24517","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"b4cbbf083f0b38551d89b2440ff6dc21bbf0f75f","url":"https://github.com/AgentiaPT/vela-slides/commit/b4cbbf083f0b38551d89b2440ff6dc21bbf0f75f","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"b7ad199923d1e6d1f2af12d1eb331d2715cf3964","url":"https://github.com/AgentiaPT/vela-slides/commit/b7ad199923d1e6d1f2af12d1eb331d2715cf3964","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"088684d4d995b56a5c050bcf7258c9dc10e491c8","url":"https://github.com/AgentiaPT/vela-slides/commit/088684d4d995b56a5c050bcf7258c9dc10e491c8","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"1a786faa2b4c6f01e104338b69df08d2e80b2b2f","url":"https://github.com/AgentiaPT/vela-slides/commit/1a786faa2b4c6f01e104338b69df08d2e80b2b2f","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"9904836eeaf7a06aac4ce56584f91f7a231be69a","url":"https://github.com/AgentiaPT/vela-slides/commit/9904836eeaf7a06aac4ce56584f91f7a231be69a","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"7d4d4228e91945d0a09baf9f554f8aa3479f252b","url":"https://github.com/AgentiaPT/vela-slides/commit/7d4d4228e91945d0a09baf9f554f8aa3479f252b","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"731ca90a870f758380a25dbb98481b00db105647","url":"https://github.com/AgentiaPT/vela-slides/commit/731ca90a870f758380a25dbb98481b00db105647","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"fa744c7485d28f8f279e6a5bc009febc06c08f5d","url":"https://github.com/AgentiaPT/vela-slides/commit/fa744c7485d28f8f279e6a5bc009febc06c08f5d","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"7ad52d51e42562b0c85be7c0aa2e314edcefbd84","url":"https://github.com/AgentiaPT/vela-slides/commit/7ad52d51e42562b0c85be7c0aa2e314edcefbd84","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"1e729ff270de2c672899166810bf76cc34035bcb","url":"https://github.com/AgentiaPT/vela-slides/commit/1e729ff270de2c672899166810bf76cc34035bcb","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"e6585ba5d33fca3b9810c4076adbb50cb6f3dc83","url":"https://github.com/AgentiaPT/vela-slides/commit/e6585ba5d33fca3b9810c4076adbb50cb6f3dc83","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"d6b9439ad0769a57c983767e26216fb136d7aa30","url":"https://github.com/AgentiaPT/vela-slides/commit/d6b9439ad0769a57c983767e26216fb136d7aa30","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"fc8b9f69cff3073c3de0518123b03ade3a6d7abd","url":"https://github.com/AgentiaPT/vela-slides/commit/fc8b9f69cff3073c3de0518123b03ade3a6d7abd","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"2e79e463ff8dd62bf1986492784be06645e3c8af","url":"https://github.com/AgentiaPT/vela-slides/commit/2e79e463ff8dd62bf1986492784be06645e3c8af","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"13655aeb5acb182077545d4c652739cf6aa3c00a","url":"https://github.com/AgentiaPT/vela-slides/commit/13655aeb5acb182077545d4c652739cf6aa3c00a","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"80816e7542b5138fd1b799f8e1c7a1422f5943c2","url":"https://github.com/AgentiaPT/vela-slides/commit/80816e7542b5138fd1b799f8e1c7a1422f5943c2","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"4f7df9503ffc89b6e47926b6879a0e02bd38bfa0","url":"https://github.com/AgentiaPT/vela-slides/commit/4f7df9503ffc89b6e47926b6879a0e02bd38bfa0","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"4eccb4a091dea28012cd4488319e19545f6d0cca","url":"https://github.com/AgentiaPT/vela-slides/commit/4eccb4a091dea28012cd4488319e19545f6d0cca","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"d7d7f1ac7b8924594e1e1227e9e5b5ddd9b0d904","url":"https://github.com/AgentiaPT/vela-slides/commit/d7d7f1ac7b8924594e1e1227e9e5b5ddd9b0d904","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"aa141622dab099f014a4afc9432d26e045f59c5a","url":"https://github.com/AgentiaPT/vela-slides/commit/aa141622dab099f014a4afc9432d26e045f59c5a","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"a33a392367729711e6a5229d59425c0bc302a0db","url":"https://github.com/AgentiaPT/vela-slides/commit/a33a392367729711e6a5229d59425c0bc302a0db","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"6572ad9b25c0db3222f056acff9b1736afdaa590","url":"https://github.com/AgentiaPT/vela-slides/commit/6572ad9b25c0db3222f056acff9b1736afdaa590","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"7c8f5b59f4df3a439a5a5a968c983b6ae5d83a9d","url":"https://github.com/AgentiaPT/vela-slides/commit/7c8f5b59f4df3a439a5a5a968c983b6ae5d83a9d","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author email noreply@anthropic.com","ref":"3dce14ad6c0881b46e22eefdddd1ac2b3926ac59","url":"https://github.com/AgentiaPT/vela-slides/commit/3dce14ad6c0881b46e22eefdddd1ac2b3926ac59","weight":0.9}],"data":{"attributed_loc_by_commit":{"6d166cda4b69425a7ef6831d0d480326b3224d37":41098,"fd3828247b071d5f870d76bfaf88366ff0655d99":0,"ce4818c26da7ed7ee9a6bb956a5ba1ddb8011179":0,"87b25c51af63ddfd26284e56ea2d878e14cc78f3":6,"95f8e80a6d4655211a6cbb741472dce7979ab6d7":16,"7f70617ed53336acfcb3c3fd45b2baa320f4c229":2,"1e3ef58b7be5d3d7cbd5d4b18f80a53b1c81f447":11,"65ec63658fa43814cb3be516b6406cfc6056ad3e":0,"1ef05c11d44ee193c84a74007100b5eff855de27":0,"04399c40db87acf35fbb21c16519e0e7a4683231":0,"fd28446e6f9a5418d3d689ccb303d93e6870c05e":0,"070170e60f8552d4d6ef72e1bd6155c4a7e9ac77":0,"34727797d80813cc9d5d9edc6e1be16ce0474998":176,"5603067db76c955906ce93e008d9e6015aba0742":98,"17626755b18f6dd5835f29400d0b0bdd6beca419":0,"97094a8fc8e4cccb3e976be040244e7401e06ed2":68,"307626fb28cedc076b6aeda99ac8d566e90712fc":833,"5540b0ba7375410b7a606aaec5cb517624641a25":0,"12f5f51457a129ef196a5725b8f728e37bff0829":449,"ec428f57b15ab186c446dc460cebfa0e3dad10be":334,"e153cb6b912328976120ee7a6455db16ecee331a":6,"f9a943d5fa19d249f537bd2a4b1b44e5498d53b2":0,"96d3143449019ee84cad46b3d1d9af113e838d39":13,"444ffd17f8c565efd55440854672bd6ae61f783f":0,"c8f19521a6789a88ddb6c2772c91fe21025c4fc8":0,"9440dabfa2a9e155adce65d8558a5092a7b5cf3c":423,"5d9ca58edc44597e702f148bd37b8a1c2dd3cb4b":14,"ee6b25d7afd8cd50dd6b9aea65944b932eccc4d9":68,"434e75c1b68f453d512696881884fab18544a4fe":28,"5a14a385e341f2ec7a2970eb4486b9d408938ff8":42,"49522905576a6c0d06ce279634d5a7087b23d145":14,"35f4c7e41d394380f63db633704cfd6720b79414":146,"02ec07b5c9b8f161cf2656aa2d022e060ea232f5":93,"55df82b5f27001b30faca73b9540dc2fc384d7ff":62,"60fe2d931f571ba76fd711dc8f6e130f6e2b1de8":8,"141d67636b970b247f3b40b91a852ecc8a530a3c":14228,"2958b0cb21a4024b0390afae8b154b08c5d9f216":134,"1111d7fc609de9507fe6bae26549944f2c94cac2":4,"98531a8d1a4f7d827b1368df6ec1a776c7d5e980":24,"b61e0d8bcd38ca2d50f93d00d63cfa64f15cc369":10,"05b65f0aa38251f5adace3a8e21403cb6f8072cf":6,"8e2e75ddcec2f1fa9457712cb144bfabd89432b6":25,"138d4789abb3a395d3698403a6e9df060c821b2e":29,"4e4376eaf239b9687cc3bcd41d3fcd25ef120c01":0,"6ed0bc4745fda4cb51cd4d97bf7e2a76572cb7c5":48,"9e6b93b47355be237875faaf45a04582ae3cb4c9":672,"8e84d935fab527cb0751aca589def6e1172c928d":0,"4dc3318cdc00094a4987b21a2977017b4f293d7b":4,"fbb6b53d9f073100a5db8e90edc03e0f3731cd39":0,"d6564c0f982d949c5141c67788f876d23536da14":820,"6b986deaeaa0eee7a30cc91ca85b89d7a90e450a":0,"35c87ce3bcab7cc6e43742c7766986c48e9eca30":0,"ecd641927fea9f7c31ebe457a6ea2f6d9308fae2":0,"0ff4bef6424de2007691de6fef27c90a0f27c1eb":0,"9d301a39923a07d02414b40c9784b2274d8227d8":0,"599ba9a3fbba8d24ce31ae0ef6d5420715d839e4":0,"0573b8d39ad86855d6dd6df9f14095bea78447ae":0,"32c5eb82de1c9ce43e8d393f6e620c22214d6146":0,"d873c641cdec081a79419ab3b76aa1853a986500":0,"9151e184792dd3f3d066f5bfce0dce70bcd4a31e":0,"dde14c32113f969c291039d1936d256ef8df5cb9":0,"aadf33367d56bbf4f0d89912d14af5e02cdc897d":0,"4a6b1de7e55d56440d749aee7de58fb689219943":0,"6d5838f63e3b97dc0c3070ab483da0f42e0aef60":0,"db3b5a497695c475ced5636bd251b269095938bb":0,"c9a38e7cf0a3d4c31a2e1cd8258f17677015d783":0,"fec200c30e54c2171ecfbc376e4407aa4bcd7fbe":0,"35533942a6facdbc7f25906102dfbf0a95df308a":0,"2630821ff75552861eb0d3d1cab7bf1b8e193689":0,"fec449b6431e3ea632911080638d7cbe924f9b99":0,"ba7d22145650c047231f61a9f1a0644e3c1ae7da":0,"2fa4d55d4b0522068ee329cc342d8a5558047695":4,"61d168bc2ca22c89457735ad20de4931cbaee187":0,"610c5a035f1f497eef08cf4902c77965ba6ebcab":22,"f1c013865984bd65addfad5aecdcb90612f02304":40,"8edc3f20de0e0ae3a19899486135f207437f143b":20,"45dd37da806a58cdb199e5c35d5141a24b6d9e77":52,"9f44cb7e15f81564fc51a72def65df7c3b2d4ebc":6,"ce03ae8ef0ed6a604b1c61d0da1d2da50fc1181e":1315,"80011c28e4edcb062126444b95834d950857e2c2":0,"165e363f04f535008303fa4aff758b209d8041a5":383,"a900c8ebb1d5b5beb5324f7f126a6206a167376f":174,"15170f9e06dbde6b03f42cb742f8265d03031b13":0,"e1f6c8fec339d3398550395389e2d0b08702c705":0,"927cb4144cd0674982218f1aaff3e6330cd5faf5":6,"09fbebc7e6b9cbf5b58791909911a306e7acba52":5,"81806e272fa970d84d8464d9a5d56a1ecc1cbcf9":7,"06dd4a328f53c6c645937402afe16771ccf6b9e0":15,"dd04ae74a6d3ba7a795af54e8f715d55d8fdbba8":0,"fe24b1ad6237157e1e36caa71893ce756bea00b2":70,"6ccdfa71911c4eb510180e3e5ce3b5dd04298504":44,"d1902cbbdfe9b8dbac84cb5b25609593ef040e89":0,"8c5c088dc950fe10229f0fcb6147506136454f22":44,"98f049f09835958c9025a449a66afb4905df031b":0,"e8f67236123878eb28be4636eca36e1ccd2e8c3b":16,"c460d75c8d37e97f1b2d5e998be5c93ecbf3030f":12,"4e60e3f79f88061e681bc13678a68520481c22b3":22,"abe6ea28d282cc24b8b9fd4e8ebc24f2118efb29":183,"8187fd0274d9c597f0436add3be73cb5e9f80f86":3,"1e86ae61d35d2910bebdf2f623f19c06913d851e":0,"58e32988ab47c1e7b073581054cc4a00119975a6":98,"9b2f364dc34853bb23dd47edc8aa6b158c177579":1265,"721c07c13c39eb2b4a99ba7c02f9be5c97ccee35":34,"690093a0d8a1b383df2b8a046404a9750072a283":6,"ff9bdd535729581f9b0bc2e8e34abee893b9ea72":0,"e3d3352e1b180af0e43df30637b2b1353acba760":819,"c399a979309e01384c0779fa2817f2b44d9e40c3":0,"d1ac1b616fd5304cb412d47030d8d7d3ee95a2e8":15,"e6e07a346d9552d7a0844ee5e2dc291e85bdf803":0,"a26f33ed787746e1d06d232aa2219d18ad3b973f":0,"cc2dd89a4e171e5807ec270deb119d625e4fd588":127,"724bd082f622c2d65353af5568a5b0ed35bf1363":48,"9f1d4ca829a5851df58f3b6c1e352e7b92fa3f24":90,"6dfe7a54c159f8f398f0c275603926050ff1b1f2":36,"f39691a3860dd0e0d912e3a70f865adf487a20ee":18,"54d5aa7f71ab1ce58c282109ff01bc06cc6b0963":156,"c161c7e24a3469c02d9ba000c483138cab93cc31":4,"562c30481d9bad91c663019dbbb8481f3b24e32b":22,"580dc247fb3836ee843430062731893985ab3954":6,"cfafa3412278b1ebfa85ee67ddea75fa2e0f04f6":0,"a4185516113c437324cce852fb0f4e93caadedaf":390,"074ebacf21e8d0023dc93ffed7dc11e3f49a8e90":0,"a00b5dac77f5c53bc25d0c242ed14895be68d742":0,"3649317b807043b78ae70de7feaa6609ce0ff2eb":107,"af521efa050eefe60f27258b0d66a0503ff027a3":91,"b1b843d58ce26d7518cf6a426f37115ccf59e6c5":55,"18526dd0804ac805431dc396141379dc2c16268f":149,"28c23d62ec50b479af91b5c59da6add98f0b6435":0,"1e95f9b0d1b5df493b484099fc59ba501983e5f9":37,"abc0708793b2181c5afee0fa045f3d74c7ecec90":115,"5c31ee3dd236629a50e813e91e0278776cca818a":202,"f80e3d2ce8b6a2a7cc250b7d33df5fd1df51118c":15,"7b841d467b0c3f8fe54d80d1bc2f51bfa25eb110":47,"457b9b3ccd262bba410ccfffed08951bb66a088a":62,"e23ff7955f8a3dcbd79b929373c04c7cbde39fd8":2,"04c9cee2ce092a7d1e9ce4db46e43a5d089a1dbf":0,"8436fc82e4684d40c3b2ff999216b9ea2c58dc76":0,"9533a76b2bbf9e0175a3decd4aaef1229a62a241":0,"0a9831e9ba9c7c25c7513d02c6e054d8d970af27":0,"7854141491702143d18a4ead659ecf7935cb7c20":0,"a01b7449dd37856b9df7b24fbf2798a986b0ed79":294,"66a28ca521a002329d3ddc433be81b315f6355e4":0,"fd18ca9411fb468c5530acfb8cc18777a11f7ba4":7,"a92a7ec7dbdc59f8281506a1ffe5f2abb44c4167":5,"0ab70039187acfc94753b3d4fed0f16b2bfc8b53":9,"3dc2b7db7b53625599545044cb517324d45307e7":2,"29edc7d4e96682572e1ac5c927cd2f93e9401f48":4,"945917d852316bba7d2957e80700c40753f100ce":235,"3994d85c712b87a07e3ba960a49ca3f8ce294ae6":2,"af5338de81965cd01e7892683fda30353cbcf877":0,"4a0e19511a42a9cb6371428b5bc655df7363855d":0,"d0ad8e79c50c77b5b59b9d6d35e62856761bf0b4":114,"c1df52c96a8d1c18fc505fbc47dcd2b4d8251330":180,"08bdd9bf0c2536649c104ff4216d09dd4a827099":2,"8786255ec2d5c2b26a3ccc2514e42b0298fe2818":30,"9d0d9f3886ced0b5d1505ec7b1eff33bf2dd071f":0,"dba6f57c314afa1823aff9c714b39e8cc22017e9":0,"feb132613b9f0291a82f48804925f09c451935a6":0,"b6113c77320ec54e1971d95adea925fa6d54b9ba":322,"9d27e518d5da37cfff2c22156cc8d7198d2da4bf":0,"f645949ee13612b4d164e45292b5b485c7f95a2a":40,"9171174dd0343a32e8bb2743d810f3dcccfa7e8a":42,"ef8e7ab01cbdcf8929d3e7dc46e76201364d81b2":275,"a567db1683269ebc5607c565a59909610e79acde":57,"36bebd66371c32827412761430d884a07ee91c64":58,"add8d8ab0cba54ca7aaa2395aaeb740b5c235ca1":278,"99291140570418494ef99e412fdc2d1fb7c25149":53,"607e92a7641845e2cd7bfcf72b1ff7c5cded8a1e":21,"e6d645d69cc93ccbff4a72b2126962b7fcd4ec00":25,"fad8eceda63ea1cc8b0789ac7943a42acc973dbe":0,"4b5fb22760089f059da3eaa90340eb11b34b3f0f":134,"8fa4439aa539a538ec874595e271f22151e91027":58,"58985db29197da685d505bf523abef638ae7197d":20,"1d667d30a3170a70d6704d2d41e1b418dd48be6d":0,"7e3f17f58b19758e8d499ce48932b9d80dcb6a37":98,"b2e7765010ecb7315eaae17f24bd458b2eff8140":3,"4bcb77d7c333fe9421e94f97affb1163d0413fb3":2,"c7261cfe2273b668216e80cd43d0cfa1d9847954":139,"f2974120350cba18234030b5774b9314e25917a4":39,"ed5a1f654fa380ddc820dbc6e35b2c51ae8d5672":0,"c7de869fb7cf790da7006430ff96360b6fcd328e":2,"d0dc21524a56fc8b2046a9af7320da5d7aff1501":1,"61581ad7d8748032de1304596fd01f147402ef72":94,"08a7c81ab196d24c1d5414c3f23ae42e37d3b996":0,"62319e474503c1e330ecd4b4833cd651d91a5551":0,"9837efbca356d5adcd99688683924200e449d2f7":192,"5fd4bb1204c90fd3163e658fb1e1fc8001eeae00":34,"d131f7c22b7ad715abc33ee67587363be5d2e3a5":19,"c460249aa3adedcb8d93159b87715f6c2c2dcc1a":1257,"18f82173fcab93a8d86bbb9a8c3786e869b5cb5f":51,"873abcecd4c22631a4346e25ca29d9524af863e7":94,"97dd2c69bdf447512cca59d21d04ef0fa35a2b26":32,"a579d8a88070e2fc0b65a30eb4ed293012231bd1":1466,"8515a3022d5747be8fc540473d2c49f160854198":355,"2ebb447257df52cd16ae235b897c06daac64efbd":150,"dc73374d98958c35bd5821a09a4a812f058fdd61":150,"cc11d42707ecea1d3947e9a18b9cbee1ff5b07c7":172,"5d7cdbfb2d9d98ae24c9acf673a7537b073f91ef":299,"1ae76683e1e6cd40dea2466b5e57d32c3fd5ed1c":142,"55bd6021d45ec3f6394cfb0ff8f48637f95777d8":442,"9df15f9ea804f4d0a7b38b4f946d58cb71ef8275":226,"2d8ec559238904d7c6a330bcea333642bfa8ca31":84,"5b59dcce2e065a2bae23a2e813b5f9ed7c097109":101,"fbdad534ec8b57230d6cc7041357db2853edf0bd":182,"89829745ba3bffe23637c55f3f0267e50a112bec":58,"f7203be3a45142ba21afb48f775e8c41e13f6dd1":62,"365cd3b91fdc3d9d28146a59bbf93f1c73f031d4":302,"d2cfc718405b6379dc6009e3ffd91a9a47b4b087":68,"b534c49da1b5dc2916240e3d2d45a0b0b04db289":26,"a3e7105d633c51913a3d7f7890f31c512a2d2c0b":32,"9adf11e4646680bb309383e9dc492623100587ef":64,"ffd5d8c15b3139126065c771ac9a9ef9acc3873a":0,"ba9a126b65e731b4d25864ffda721d3d159289bd":0,"f271f7a5137e7097a66160d839595e829e0efc72":0,"cb87a2c943c522b25e48ec998c0c498d9660d94d":458,"53dee268e454c5d413898c4ddb7b18490b8b7971":34,"89f592fb4613bcbd2416282ad0525e9d0d9404c9":23,"920592d228255b535b486059918d7d87f882ec3d":75,"2749cbaa2eeb726f8473186d4be2d89c07be79f5":573,"6fa9099a1c1486b6e3d59956fc89c497b7ad19b9":503,"3a57d05995ca297a4cded1e93859ef3a273085c1":30,"e47cd4de6fb44b45945af479d9af665325629ab2":0,"7dfa4a399932202935d04a9599cc9d9488f52022":160,"858ca23a1d611fdd8fd589085a76f6d85485fa34":0,"49e04188d7afe0e56580ad5f93b420d183f2168a":162,"ee32ceaabf926462f905e5cbfbe82e1c89d6afeb":0,"c33e17e372f525032d491c0c01520884fb17e8bb":0,"4e5ca3b9cbce564d000f7e0ad3ff6cd59d317765":0,"e371b0acdc279b4d6d5702a3937dbdeb9148ac9f":116,"f0c723d8b9a869c25124b14f9773b525052bdedd":22,"ed9a14c8b1348f9296c98a77e239f1ada4b24a85":0,"61117f37f987cb7aed7ae8d8bd6ed6743f9f63b9":0,"394bd35a7af1e0abcc1e70b4b2e76bced11604d5":0,"778cf79ba59f6c3feaaedb3f4b28aab30aebb752":0,"121a48079a04b4a4b0ced7640e7c22eea1137255":0,"5963d422a445f71a5ca197946e9abffcabafb9e9":105,"fcc085a9fd97e69b178be3e60db6d73c46e325a1":0,"19db4412df69175a27bb3e0e10177fd620a0e193":136,"5b46d7ae3379446e37900e742b3701ef9fe0cca4":430,"278fbc031b8dea67d1a1924f56a29da1406f9427":697,"bbb0460edbfd12cb9e66e468e6b1c5f05be2a695":40,"4f5172f8779d4bdda93a8d1e2f6d1f0751fd6abc":54,"d994284b1cfa6446a606e4a4c3b758d6691d0348":156,"98fdd2be1b16bdf9fe14499a4e0fa2da5a2549e8":4,"d33dbfc5979e550c1ec248f31842725d7f1eab19":18,"b5abdd51c7f5fc03efdd643b077695b7d3a8c449":44,"ad85813ada382c679dfdc77b8eeaa5dd97449194":0,"7da8ab54307606ce5d09ea414ef88b312340e0f6":0,"ac9f067e3796ee289861b77b562f336898be8555":0,"8bdff96307f7920d283920e839362e73f74d206d":0,"b0ecd6894266db0fe92e0de43b19048ef321f08d":624,"abae9a9f34bda0521b2feacadb0270db8b906870":328,"e1899805b225ef796a8f1aa8e6f62631985ec9f7":613,"941115c8a317497f5156bddac02d7e5dfe4659b2":31,"e91cbed3ccd6a8c87edbc91734785ec1f1617243":0,"3ec751207dc4cd6d9ee4b0a4891708056a1542f0":0,"a32d648f119054c01d8b4cc621d6f878b61c3fda":70,"0110dde1e0772dd1d3ad4a6a08216b0724b469c8":102,"f0a1498eabe48b944862c86b05c6b8c595d52e7a":0,"a1d51f329f5ccd7ad20664dc6f9872b5a692fb77":53,"7fb581a7af3d7690f43f32dc30eb479d043ace9f":7,"2a4ea09a2cfbaba34061913348c99863acbf38c1":1,"82065d5feb5f672552d16743e71ebda0c2fe0caf":0,"ee16780b4e9bbf3c8b16f3f5415cfca707920336":1112,"3873b669aabd03c5211975298ab20c523116124f":338,"ce9b7e388fb2087c81d00bf66055be6ccf17aeda":621,"cb936f146b7ffe51c6f2735ef151bae12120ada3":586,"d92161411e465a216de0c664b40cc4e996c6c58b":58,"11e5962413615041d87c5c06c69e2f12e4bed80e":108,"abb46dc9631787c0fcd44f031862964f6dca4296":372,"dae1606689762ff248babd5639b7cb60a11f5afd":72,"d817e4596e2a3ecbe18e0b48c0f0deafd8f4bdf0":12,"98ab336aba229d1956260fad5c5c8012a1a84f26":0,"a9fbcd419025cea6bf171134d720bf3d3cc9602d":0,"6f89a2265638a6447605bae36d5694bdfe45448e":80,"450a20a5af00e0e2c0063c9f5e49c0e3735ef645":230,"53feadc3ea1eaf78de9a8da88612a35d8a9ccf17":359,"67836d70a0126411b9c277897f489aba034fd661":520,"8d5a3040eb1f5153ecbe6fa0239109fef1611107":0,"5a2079ec3d1a5e62a043fb7dfa0396e5021673fc":63,"dc4ef89ddcde9423ea47f0ab52060d62fc17b600":0,"e78fc47b6426b3b035b752756ef90447503bcd08":104,"046319b5c258932edbbbf3d2ea19505719d8ae70":44,"90dde75db3b5193f0e712917fdf5a9e5cc1fb760":31,"f62a09913d2f9172d2750621e19a2c8de7ed9344":0,"0d84e4f39cdc5a8686319fa6a6daaae3292eae21":171,"8bd81b4fc8d1e35587148f2a2edc9e1f7a3c404e":420,"ea11d94d339bc28cb0282d52839c7a92ee53427d":571,"1208a167b4d51b378f08a71c43015775ac28f414":22,"863fd130a80cc56396b178cce26d926431915196":164,"d83f4c023dee84d51e8b6de2841e952645b4461e":95,"bd6c635f4e78b76117aa100321865d7032dd5b16":18,"f8f375eae8af58e3cad0c5a65b303ca5540ec8e3":298,"c740be586d393bbe00127290a60f1248b25366ce":396,"63c37140ad42bad894b5175d4cc9678863cfe724":296,"ead1602024633fe41a984da80c1ae99a8f5ac493":59,"09420cd2de5828d6a0231efb802b41f5cb429532":443,"c1693cde0368d18b024d6d1823117ce0c2a5772d":312,"6a4948e0472ff4e79f8720f11ab132adab8954f5":570,"0054edc8560623776c7554c413e320d0a2f987fc":2,"ad5e78f20a5c223cd75a8af3d617507e04c4bd99":0,"2081423132055a6c5c19c99382502b740ca6ecd2":39,"74293ddf775207a4cff71808379361df12020620":24,"f342275056c7a098af6db3f4ff601e7bee15b2f9":0,"5d2bdf970e25d4fb19959f47fdd9e30b36375311":181,"5d73b672fed8c2405eaf6b5e10a79210380b9675":7,"77cff62cfa16d44174196de793185f7368f1db27":24,"3dbfa209a049be2bacbd82e523ab3dd91daed5fc":0,"652a0ebc5e2c767698214bbaed92350e18877911":296,"b6bac170ccb3c5420206f01a9ed0e2b8a42b3642":749,"9538de36c5146775c2a2c31de6823694c7c53c33":108,"14b66dedaa355b2cd051f2bff74e0057c9ce8649":0,"656c56cbf955301b7b5147eb19893062e7ae2021":0,"cbf9a698009288f9c612e9e87ce75eee3c535218":0,"fa782a9fd67c87bb8b0a6d1f347c1693c7a78667":0,"fae14314275df045d961bbf7bac93aed34840d60":104,"4c9aca1d366b9380ffac97497c21dfe8eda7e165":36,"7b7366043292080ec717f023897af7f248ab81ce":62,"4856e482e769a389b16597f762e9b6ade32efef1":60,"ee1ab095332824048bb051773b1831f399ea42a5":64,"1cf835fa2a324f7d9608620cda45b92db8f89999":5,"04d82bca2bcd891b4623fc5668e6336ce058d23e":20,"72637ef6f1730598b7cd8623d60953d21c48a1f6":98,"af632bd71cace48d9161263c86d95018fda5a6b7":68,"6eb780429218110b3eaab0a014535058279e11a1":94,"2e4f6536a8d82c9ff3d560abfc46aebe10b1d941":259,"64c214479cbafc469f7ee2c300cf09e7dcbaee68":39,"fbe19807cbac82bc17419e2516e990a503b7af8a":354,"a70e40850871ef7e1781e9792489658ad6207471":0,"105159da48af6e21cf6fe88129ea52ddfd7b304c":141,"4f3d2a31c9fb8e1bb20421256e2d78319d639e76":200,"63660d1b2a3137331f0bfcb39122311a3b469112":339,"fedd4de69b1122dfe3ad43a40dde71a97c7913a0":508,"41c76c7598f561fe3d1d95068ac391426e6a68cd":236,"82ec7e1178f45f5f18dcfdd4ec5588ac3d073a26":141,"f7e8d5ded17ad8487a5b37aeb4055e02e27eceb5":4,"24b99eef8e8e5706902f24a5c3fdc8ca6202cef3":4,"cb02fa519911f11c7d8c09fa2c23351d6b9e5990":490,"8076c3f9266e36f09a37cebd01332e57a3b3742e":180,"2c18218f0020fc85ef1de30378b6c2a409d438b1":0,"e45159ea37ebb015eab7cba0486b446cf5e300e0":136,"f8f045fd7485e9a151f97686f5d52bda9d51d4d0":0,"8c5228f0b4f8005228eceb5bbdab90d1c36d8eb0":47,"6b8fcc936014978319d42134e60620f1caf8b888":0,"def912da02643b704253c517bcc1c049f3733300":173,"f4a42ea019945279ea8605739b759414c1cd12bf":0,"41a7630b8144874473676bdb33735e76ff2b730e":154,"1825d99a93c6d3ecc50d68e99e0fb1de8c821a44":340,"60ee016178e5758f046e67d1bdd2a268dd554bdd":218,"208dab69e1adde1b29c4c0d3d81a501e34bc47b5":578,"8d005e25766298a42b605d5b97e405d0392da4f8":1145,"ab874dd06918d5f4891fb1bac0ebeafe99a48a9d":0,"c8cf8b9ad4410b9dd63f8be70919ebc55fc82a7a":4,"e8e66ca46d39c6868145cd73598f4cf560eded23":0,"8a2295ae65fe56f7294194dd81fdbc4f487157ea":28,"f29c6e8f55fc639c9056522f934395ca9ee3668c":28,"32bfebc32a5c69b1ba108db9eb7220129580a331":278,"09300d50c866f4b0304c4aa22f8cebd19a01de98":242,"9ff304d75877fd894838bf6f1693c571d16ff129":110,"dd4a30cdd5ed976bff6bce08ea910ebcb6536d2c":508,"b2ab6616e5c33af6bc5acbfad7361d30ba98475d":60,"54c93523d09ac0eb0d7236927758cbc333644615":238,"b404761df7bc8cb05bb049cd8ccf93ee8edb91fe":20,"b5d2b9e71e44c112b0177a7eeb4640fa8477f4fd":96,"e2b962c3999780920128175b316efc3afb588ed9":6,"cc97d1312cd1a329d219925b2a32e852c7ad7862":221,"88748e8181e80939ed1b906f4ef02044fcafd818":324,"8edb51410eec25eec3248c9738a84b529cce15c1":95,"4b486b5100e43a2794c1416abeff5e399cb9ccf0":75,"e795100c757988ba549bacfd32c21766d09cf3d4":72,"89444c473aa7886b0621155b298fae07d5b21452":41,"d18965669b7d2893e65d506a474d7b70192f79f2":30,"cbb32e4c1122f0e9de1ae928d25fa97c6e5f7a99":0,"40928a314e380cb24d7dd5bc85280f4b452678a4":0,"1780de8f46808eda82e83fe146f4dba41130014b":0,"847951c44c63708b0005a526962dc4b1922b0641":1133,"5dc6b119054e283a74e71d8224a3f953b836f3aa":0,"8ad34ece545b74f950197a831bacffa88076db1e":0,"ff61228c942f7aeba2dad4bf1595692a77a6647d":285,"0af94e0ed1489c897622d4cb0b009b65246fdad5":0,"c188dc602c8b150a78e129217121325fb18492e0":0,"a7ac888fd8dd69995601a063bdced169b77ecd46":0,"26417b8e75f4a6fae9ef9f37ef4171f5c0cbdeb4":56,"388b6b4f6ab2757bcc34de7c015efb2389a63498":0,"e8d8d4ce2738c842b28d7df92fd72c46225ecf56":0,"97fe76c47e94900040898b29593cff0483cff6c5":739,"680bdc8fe664c01fae40af050bcb32262acf3a72":0,"53113585bb2881bc9566f6e19b6375970c24083d":379,"05dacf465fa74027c48d27787c89c576653e4866":70,"7df60aa0d3b45dc56752a79d2f84bee4e4bd535a":503,"4f43c90136c193b2ec9d758ef85b7caf99c16145":134,"8828432ec82e326b0666f17ada5d8996bc0c63cd":152,"618e36b8492f2d424066762c3cbcbef17b662b93":0,"9aeae028d253ff863e4841856cd3c8871efdeb6e":4,"c5aa7b8009574a1c6414d58b4f6541b53836d704":21,"9e90874b3f2d4f47abcb884ab53546d231343469":418,"7fe0d8413d3369ddf873298ccec4ed11e6375d43":0,"de04b02323740bd34abab2ad9faafb885e465a05":4,"bab08eca158062db1ef08f84c32e751e93764951":46,"526b312c518fddc8f6aecfef90dfac0325237706":92,"b5328d8ecbaedab14fc14b8cd94fc01af83c5389":0,"0680cdda5f8021ef0305f75e91827f38b4f81ab2":82,"ec067ff82bf81a8498e5add8b62cad4cdd6064c8":198,"461417e2f1749cb43a44b6d4c64c6520e83123ff":103,"f4d62072a427bd4ef8ff428ef879a64c5b7bb18e":25,"f227a9fb0e089f22d1dda0c4c1a7eb0d8a6297ec":47,"2199b6cbb85a2cb30cda30df95620617450d491f":3096,"21e44678a748f505f983ec0837f95b72948e7f18":46,"70528e470d5f9bc8fdea460f9ba13c90b00c1e2a":25,"4e4e70d247ba41b17a93b09dc7cf940c004a91a1":1109,"c76b885c185c6ab9d135b87f8456a617602f456f":0,"43aa318f9b1055102943fcba2c91a76a5f569fb2":0,"5efc3dffe18d6ba1f42019999c5a78a3a7e2eb24":367,"85a4d1a580405289a30974deb0b234f3447ef672":185,"d1b42bd982271288c6b50663d8a4541a836ef42f":67,"bae0ea09cd07f4a5339e2a02289f0144a0697606":271,"b42f0574738a852752397947d1c935d5c0e8182f":81,"3f6d7f3896e1210dd2c037c9d419a591c7dee4e2":108,"c96567c9f23d790dae3b2599eed2bb7b759d152c":46,"c1f9ea3e7a1ed09cbeacac41ed1be26fa1a750f2":285,"517ebfc515970bb5df84e98825b5ae734828c5b0":31,"b1966c9f14547b1a16033d3b5dc091808d8c1cc6":71,"8229311f97c64cf188f1cea6aef1efe84b91bcfa":110,"1676b965edb78679bc5af1a1803f2339b788fbe0":104,"e23a7896e75d57e79f5b20b5e2f9bff7c685a1ab":133,"b9fc585e1ae22ac8fe9ae1aaa0dcec2c3919ae71":121,"07249fc611b28387235335631a4b302c61cede23":165,"87c534f85fd0ed85f7f79076a23ac1137802ad4e":144,"0c06e3eb58355e9dc5c5c501349de7f943e8462c":0,"122e1ae6427088502f18fae5b70dfa317a0d153e":0,"752f5ed857f20e7548271bb1ed4c0af036c6c3b3":4,"5863d256d5754385c19afbced90452c82c7cf581":1,"515ec89865eba045602cbb3203dce71faa3aa937":177,"39931166a231b677c7f8494997439591fad2f473":2828,"f4c1292275b072c5ed1a583134fcac050ad002b8":6788,"dbe0609ed4b49a35b1bb72952fd639d1b670a49e":168,"788fc81445beff2ad3f9d580d4ca1ead5ed79cd6":2748,"4a742d0d1cd4de2e94d9b3137a08c6fd7b2fc452":0,"e28096c3057c1d0c7663d553331768f01df6be47":0,"33c5dbc6293420abb8ed1c44ee2183e62d6db7b2":0,"7a7bd3830f0759a8ec495444f9e74d1b4f5a82a4":0,"4c9f8cc23e5179e2267cbea6003eee7f74002db7":0,"6113e08c961c04784840074642db7f79afabdbc5":0,"27089aafe62137a83785a239bf3ad30d37c9196e":0,"c94bdc57d63fe82670de18ed778c9e49a8b74ebb":0,"3ed2ab835423078bc5cf5fa00c19418f7e28f435":0,"ee9d2d96b186cc01241c6f085a4b9e69678d2025":0,"63efe0f43752c82d1127c099c8524d74d7dcb290":0,"7be76b2c53d9dd2f3143fd5435730f83434ae502":0,"1118b98263408908a22aafe6c4aa34b3037af6f4":22,"fe65773e7b6ee923ff6cfb5d3514bd11a73071fa":28,"bbb79a275bf8ab3d26c384e1a8ed6aeabbe29973":120,"6c299ee5c476f8b2b59dc4f0c8998035925769cf":130,"6bd410761c4f12dcaf9df559179efccf4e69d652":0,"373f124f6439db7f8d0344d33d23e4c6daa22356":0,"9c5a779b6474c66b794423ed618af81ff015b900":266,"957f0a970386f910e1c89d262481633dcfa9d950":0,"1d61ccd0a12d50d51dab93fbd3ac506e8ac5f3cc":592,"02bbbbc0b96f991384efdfc6b12b17ebfa109a95":977,"d7724c0b9e31cecea401856a035eca6a776bffbe":168,"ffba26e222e9dd50fd37c65aeee2e748ebb25ff7":14,"2470e3b4dfefe7364724ef9d32a61455e32a91e7":72,"15234e967c3a505b6b723688051bc6d59b6c847a":6,"9b3b759739dc5cf379ca496e5974c2cb4c90462e":0,"c92335ce0a83c28eb97a55342372237e6413a5e3":85,"98b80acd22e511ad93690eec572885471316c462":0,"28f76a4196d81f9d406ca3efd6f3347a8ec4988a":79,"0d08c8d5df287d5361a34029022d9bb7fba55901":0,"2554c71ef70e8469f28cd0fe854b7cb982e440f2":0,"109a10a5e847228e7ada6af078de85acb6f98c2a":0,"4762cea1a4ba3056e0edd0fd6ec29b4f524092d5":0,"6feb5431550bb5b21aedb2bac03482dd145b3352":0,"c8acba8162335ad23a6918ffa88d6e80b9b81f5c":0,"15042cdd549040aa5b68d454cc372215a86d1bfb":0,"005d734d481066379439bc2f77d82da1ca823d4a":0,"4977f222b7a02be58607abb6e7b0f22f717c0c29":0,"de8189acc3a62650af8e0d980da64ed6654a408f":195,"b1a6fc9619d26c40fa1a51703750cb500874c332":239,"0903c5f75bd5953ca0236d1d58386be46c0c819e":600,"d7295729e885b085b1f730b1ad6438f4652cb264":106,"a59dd6551a0b1ac1f4860335f0140eb423ab2c74":396,"dd3422e4868fe3b34b0078975c29174388d026c2":695,"17623bc6552f61dc295fc7d3ae0fdad075cd0fad":67,"0c5c44468771ef785b70b9e9a2717ec8c10a4642":80,"b89744421f8f3dd9be22f92cb14f8814c0e4438f":175,"716f2d43b9b761eed6eee7d2119a52ddc26f3911":217,"1843c378409a3ba15e398861fbf60e9e7aed84ee":72,"edf20b77303fa49633e27f9fcd0f39dc5e35bfb5":100,"0955a8a9a84c5d792388364adabe0368b8e22ca6":102,"3a998c8cc99a1a538f15a1d0cacd43f8d01053f4":205,"02408e5c429371ba15970bff6a430173488c25f3":57,"df64974f156101fb9a70284e278c9df6ec9cb18c":220,"782ebd195bb3405e20ac2c6f7d3f103ade248297":168,"e56116633d3ec08dee4d2442a1aaa797bd4dde7e":59,"aed1bb19adfc565d61eb44a0d7e2d07092d14dbf":59,"c00b819ff31c57614c9d6f9868e823a1d9da7006":0,"6ca9e48dfacee368d12c5b0bd32641aaa522ce35":0,"18d1af1cb26daa08cd6a547a769c500eccce5ed2":270,"0438e887a90d4c041aaf3ea566a37bff33e37ec4":0,"c4ea5dbb9a08f0ef6e29cd6f719923f15aa4f8ea":96,"54ff27272dce75e27a052698499953d95a77babf":61,"ce1b8858b4b16c8aa71d91d87ec1b743fba5f7f9":222,"799161966d036b311eedaa3dba5954215f403919":204,"153f31c286e1aa79e4451d1c7a0c8b276a650690":476,"a68bafd4cd667a046762d4bea98b1739b938b26b":106,"bcd8a52d91616685e500ea0d1d866a373fb0db06":300,"b51e16ae45c8dba8da79d91fba528453daf5eaa8":268,"2cc2d4d1303f5559a0ee215b9e6db7110b7e7c0f":228,"1183e2a1e042633776f490e4b1ed95c4dca3c6dc":92,"217a252555acffd578a401b3c97f7d674e082dbc":784,"b49cd941e1224210acde2ca4e3aef3ffa935cd29":124,"f574ae6c3c148e94a30c1aee921ba4c0bef027f1":238,"fa1cfb45971a4078ea2582327abea1c1ff24fe32":0,"230768f00e77baef20d91054208ee4697b135a0c":451,"a60a7c7e23638eb48bf2a382ac4224ffe2363496":0,"2409615fe047ac0f287a6844b1a1abeb9027d247":54,"d4e55fc4b20fbbdd1a10295e1210da5d4aed48fd":0,"2d3b564b5238190b9ddca3521f53d1cc50b9e1c4":0,"3e22bef42ac5eaa4800074235c169e1513d9e5d8":84,"e3a88756cefeac8200c1cd1e8ee13ffac76c4afe":342,"bfe53c659210c95d180cd048e05d6649521ba704":478,"bb24b32750866c7155c92441bffd41517c447d64":276,"3f54eeb68c90a3a8dabe5db6caf16c36ce1fa7b8":53,"1556064a6dfc36b9d0c948c1a9aa609bc032ee68":7,"f42a9fe0ac133b868d2184291689fcea175d30d6":16,"796422c5acc00e59b9412cb8cb7e6d825dbb7a2c":494,"df9df59233e6b0c6d2cf62d7df3605e008ee6d28":414,"758f3548b4f6de0af32d341a35c3e0b132fc4295":411,"7bd8ae478f79093df635b82efefb51064a5831d7":259,"8d7bf1a6dc2005dd2432fd10b2b7cd8bf6187dbf":432,"671e21ca15fcc8d54302cd62457ca8f14ab56906":2,"30294098ecd0cc6a5038dc0ac19c4bc3645b2697":494,"5e69d49c3d528cf765cf99cb96b73eb6eb541665":2086,"f47326b3fbcdb7ee64652bfa316880c578d90500":37,"9ddf3237515de5b35b2ddbb882915396e5e51aed":36,"00accd1a90afd6142e7ed21a39225f791f96351c":2,"9e1de24dc462916a4e9672333877f243b0a8f0d5":894,"3dce14ad6c0881b46e22eefdddd1ac2b3926ac59":502,"7c8f5b59f4df3a439a5a5a968c983b6ae5d83a9d":486,"6572ad9b25c0db3222f056acff9b1736afdaa590":54,"a33a392367729711e6a5229d59425c0bc302a0db":18,"aa141622dab099f014a4afc9432d26e045f59c5a":0,"d7d7f1ac7b8924594e1e1227e9e5b5ddd9b0d904":196,"4eccb4a091dea28012cd4488319e19545f6d0cca":80,"4f7df9503ffc89b6e47926b6879a0e02bd38bfa0":502,"80816e7542b5138fd1b799f8e1c7a1422f5943c2":985,"13655aeb5acb182077545d4c652739cf6aa3c00a":976,"2e79e463ff8dd62bf1986492784be06645e3c8af":710,"fc8b9f69cff3073c3de0518123b03ade3a6d7abd":58,"d6b9439ad0769a57c983767e26216fb136d7aa30":382,"e6585ba5d33fca3b9810c4076adbb50cb6f3dc83":462,"1e729ff270de2c672899166810bf76cc34035bcb":976,"7ad52d51e42562b0c85be7c0aa2e314edcefbd84":322,"fa744c7485d28f8f279e6a5bc009febc06c08f5d":0,"731ca90a870f758380a25dbb98481b00db105647":0,"7d4d4228e91945d0a09baf9f554f8aa3479f252b":958,"9904836eeaf7a06aac4ce56584f91f7a231be69a":404,"1a786faa2b4c6f01e104338b69df08d2e80b2b2f":0,"088684d4d995b56a5c050bcf7258c9dc10e491c8":462,"b7ad199923d1e6d1f2af12d1eb331d2715cf3964":1361,"b4cbbf083f0b38551d89b2440ff6dc21bbf0f75f":56,"348f5cb71997dadfe0d3ea393c3fe1b787a24517":403},"tools":{"claude-code":{"name":"Claude Code","commits":513,"loc":137364,"first_seen":1774717066,"last_seen":1794349638},"github-copilot":{"name":"GitHub Copilot coding agent","commits":49,"loc":13514,"first_seen":1774717301,"last_seen":1789040777}},"monthly":{"2026-03":{"loc":59067,"attributed_loc":58468},"2026-04":{"loc":6814,"attributed_loc":6224},"2026-05":{"loc":897,"attributed_loc":897},"2026-06":{"loc":5174,"attributed_loc":5174},"2026-07":{"loc":23826,"attributed_loc":23746},"2026-08":{"loc":28854,"attributed_loc":28854},"2026-09":{"loc":10244,"attributed_loc":9840},"2026-11":{"loc":17675,"attributed_loc":17675}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":38.0,"workflow_agents":0.0,"tools_configured":1.0,"earliest_adoption":1774717066.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":".claude/hooks/block-session-url.py (claude-code configuration)","ref":".claude/hooks/block-session-url.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/hooks/block-session-url.py","weight":0.5},{"kind":"ai-artifact","description":".claude/hooks/post-edit-lint.py (claude-code configuration)","ref":".claude/hooks/post-edit-lint.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/hooks/post-edit-lint.py","weight":0.5},{"kind":"ai-artifact","description":".claude/settings.json (claude-code configuration)","ref":".claude/settings.json","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/settings.json","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/burst-bug-hunter/.gitignore (claude-code configuration)","ref":".claude/skills/burst-bug-hunter/.gitignore","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/burst-bug-hunter/.gitignore","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/burst-bug-hunter/SKILL.md (claude-code configuration)","ref":".claude/skills/burst-bug-hunter/SKILL.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/burst-bug-hunter/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/burst-bug-hunter/assets/driver-server.mjs (claude-code configuration)","ref":".claude/skills/burst-bug-hunter/assets/driver-server.mjs","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/burst-bug-hunter/assets/driver-server.mjs","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/burst-bug-hunter/assets/example-burst.mjs (claude-code configuration)","ref":".claude/skills/burst-bug-hunter/assets/example-burst.mjs","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/burst-bug-hunter/assets/example-burst.mjs","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/burst-bug-hunter/assets/start-hunt.sh (claude-code configuration)","ref":".claude/skills/burst-bug-hunter/assets/start-hunt.sh","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/burst-bug-hunter/assets/start-hunt.sh","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs (claude-code configuration)","ref":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/burst-bug-hunter/assets/vrun (claude-code configuration)","ref":".claude/skills/burst-bug-hunter/assets/vrun","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/burst-bug-hunter/assets/vrun","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/copilot-session-cost/SKILL.md (claude-code configuration)","ref":".claude/skills/copilot-session-cost/SKILL.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/copilot-session-cost/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/copilot-session-cost/scripts/session-cost-report.py (claude-code configuration)","ref":".claude/skills/copilot-session-cost/scripts/session-cost-report.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/copilot-session-cost/scripts/session-cost-report.py","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/copilot-session-cost/scripts/test_session_cost_report.py (claude-code configuration)","ref":".claude/skills/copilot-session-cost/scripts/test_session_cost_report.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/copilot-session-cost/scripts/test_session_cost_report.py","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/dependency-sweep/SKILL.md (claude-code configuration)","ref":".claude/skills/dependency-sweep/SKILL.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/dependency-sweep/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/SKILL.md (claude-code configuration)","ref":".claude/skills/hyper-sprint/SKILL.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/assets/demo/deck.js (claude-code configuration)","ref":".claude/skills/hyper-sprint/assets/demo/deck.js","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/assets/demo/deck.js","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/assets/demo/index.html (claude-code configuration)","ref":".claude/skills/hyper-sprint/assets/demo/index.html","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/assets/demo/index.html","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/assets/mk-burndown.py (claude-code configuration)","ref":".claude/skills/hyper-sprint/assets/mk-burndown.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/assets/mk-burndown.py","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/assets/play-deck.mjs (claude-code configuration)","ref":".claude/skills/hyper-sprint/assets/play-deck.mjs","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/assets/play-deck.mjs","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/assets/record-demo.mjs (claude-code configuration)","ref":".claude/skills/hyper-sprint/assets/record-demo.mjs","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/assets/record-demo.mjs","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/assets/sprint-cost.py (claude-code configuration)","ref":".claude/skills/hyper-sprint/assets/sprint-cost.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/assets/sprint-cost.py","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/assets/sprint-stats.py (claude-code configuration)","ref":".claude/skills/hyper-sprint/assets/sprint-stats.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/assets/sprint-stats.py","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/references/agent-profiles.md (claude-code configuration)","ref":".claude/skills/hyper-sprint/references/agent-profiles.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/references/agent-profiles.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/references/context-economy.md (claude-code configuration)","ref":".claude/skills/hyper-sprint/references/context-economy.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/references/context-economy.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/references/demo-deck.md (claude-code configuration)","ref":".claude/skills/hyper-sprint/references/demo-deck.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/references/demo-deck.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/references/hub-hygiene.md (claude-code configuration)","ref":".claude/skills/hyper-sprint/references/hub-hygiene.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/references/hub-hygiene.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/references/orchestration.md (claude-code configuration)","ref":".claude/skills/hyper-sprint/references/orchestration.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/references/orchestration.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/references/silent-mode.md (claude-code configuration)","ref":".claude/skills/hyper-sprint/references/silent-mode.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/references/silent-mode.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/hyper-sprint/references/sprint-archive.md (claude-code configuration)","ref":".claude/skills/hyper-sprint/references/sprint-archive.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/hyper-sprint/references/sprint-archive.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/playwright-cli-setup/SKILL.md (claude-code configuration)","ref":".claude/skills/playwright-cli-setup/SKILL.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/playwright-cli-setup/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/vela-browser-test/SKILL.md (claude-code configuration)","ref":".claude/skills/vela-browser-test/SKILL.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/vela-browser-test/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/vela-browser-test/scripts/browser-probe.cjs (claude-code configuration)","ref":".claude/skills/vela-browser-test/scripts/browser-probe.cjs","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/vela-browser-test/scripts/browser-probe.cjs","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs (claude-code configuration)","ref":".claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/vela-live-render/SKILL.md (claude-code configuration)","ref":".claude/skills/vela-live-render/SKILL.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/vela-live-render/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/vela-secure-coding/SKILL.md (claude-code configuration)","ref":".claude/skills/vela-secure-coding/SKILL.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/vela-secure-coding/SKILL.md","weight":0.5},{"kind":"ai-artifact","description":".claude/skills/vela-secure-coding/references/history.md (claude-code configuration)","ref":".claude/skills/vela-secure-coding/references/history.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.claude/skills/vela-secure-coding/references/history.md","weight":0.5},{"kind":"ai-artifact","description":"CLAUDE.md (claude-code configuration)","ref":"CLAUDE.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/CLAUDE.md","weight":0.5},{"kind":"ai-artifact","description":"evals/CLAUDE.md (claude-code configuration)","ref":"evals/CLAUDE.md","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/CLAUDE.md","weight":0.5}],"data":{"artifacts":[{"tool":"claude-code","path":".claude/hooks/block-session-url.py","added_at":1794225694},{"tool":"claude-code","path":".claude/hooks/post-edit-lint.py","added_at":1786369132},{"tool":"claude-code","path":".claude/settings.json","added_at":1780667220},{"tool":"claude-code","path":".claude/skills/burst-bug-hunter/.gitignore","added_at":1783166648},{"tool":"claude-code","path":".claude/skills/burst-bug-hunter/SKILL.md","added_at":1783166648},{"tool":"claude-code","path":".claude/skills/burst-bug-hunter/assets/driver-server.mjs","added_at":1783166648},{"tool":"claude-code","path":".claude/skills/burst-bug-hunter/assets/example-burst.mjs","added_at":1783166648},{"tool":"claude-code","path":".claude/skills/burst-bug-hunter/assets/start-hunt.sh","added_at":1783166648},{"tool":"claude-code","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","added_at":1786808761},{"tool":"claude-code","path":".claude/skills/burst-bug-hunter/assets/vrun","added_at":1783166648},{"tool":"claude-code","path":".claude/skills/copilot-session-cost/SKILL.md","added_at":1786808761},{"tool":"claude-code","path":".claude/skills/copilot-session-cost/scripts/session-cost-report.py","added_at":1786808761},{"tool":"claude-code","path":".claude/skills/copilot-session-cost/scripts/test_session_cost_report.py","added_at":1786808761},{"tool":"claude-code","path":".claude/skills/dependency-sweep/SKILL.md","added_at":1786357961},{"tool":"claude-code","path":".claude/skills/hyper-sprint/SKILL.md","added_at":1783099429},{"tool":"claude-code","path":".claude/skills/hyper-sprint/assets/demo/deck.js","added_at":1783099429},{"tool":"claude-code","path":".claude/skills/hyper-sprint/assets/demo/index.html","added_at":1783099429},{"tool":"claude-code","path":".claude/skills/hyper-sprint/assets/mk-burndown.py","added_at":1783166648},{"tool":"claude-code","path":".claude/skills/hyper-sprint/assets/play-deck.mjs","added_at":1783099429},{"tool":"claude-code","path":".claude/skills/hyper-sprint/assets/record-demo.mjs","added_at":1783099429},{"tool":"claude-code","path":".claude/skills/hyper-sprint/assets/sprint-cost.py","added_at":1783099429},{"tool":"claude-code","path":".claude/skills/hyper-sprint/assets/sprint-stats.py","added_at":1783099429},{"tool":"claude-code","path":".claude/skills/hyper-sprint/references/agent-profiles.md","added_at":1783099429},{"tool":"claude-code","path":".claude/skills/hyper-sprint/references/context-economy.md","added_at":1783242113},{"tool":"claude-code","path":".claude/skills/hyper-sprint/references/demo-deck.md","added_at":1783099429},{"tool":"claude-code","path":".claude/skills/hyper-sprint/references/hub-hygiene.md","added_at":1783099429},{"tool":"claude-code","path":".claude/skills/hyper-sprint/references/orchestration.md","added_at":1783099429},{"tool":"claude-code","path":".claude/skills/hyper-sprint/references/silent-mode.md","added_at":1789771741},{"tool":"claude-code","path":".claude/skills/hyper-sprint/references/sprint-archive.md","added_at":1783166648},{"tool":"claude-code","path":".claude/skills/playwright-cli-setup/SKILL.md","added_at":1783064476},{"tool":"claude-code","path":".claude/skills/vela-browser-test/SKILL.md","added_at":1780688901},{"tool":"claude-code","path":".claude/skills/vela-browser-test/scripts/browser-probe.cjs","added_at":1780688901},{"tool":"claude-code","path":".claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs","added_at":1780688901},{"tool":"claude-code","path":".claude/skills/vela-live-render/SKILL.md","added_at":1782923756},{"tool":"claude-code","path":".claude/skills/vela-secure-coding/SKILL.md","added_at":1786359810},{"tool":"claude-code","path":".claude/skills/vela-secure-coding/references/history.md","added_at":1786359810},{"tool":"claude-code","path":"CLAUDE.md","added_at":1774717066},{"tool":"claude-code","path":"evals/CLAUDE.md","added_at":1774717066}],"workflows":[],"tools":["claude-code"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":136.0,"flagged_units":15.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":111453.0,"flagged_loc":62589.0,"flagged_loc_share":0.5615730397566687,"max_loc_per_hour":6267.074513642481,"median_loc_per_hour":189.26359861291522,"pr_timed_units":1.0,"excluded_import_loc":41098.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"14,228 lines of first-party code in ~2.3h (6,267 lines/hour, 1 commit session)","ref":"141d67636b970b247f3b40b91a852ecc8a530a3c","url":"https://github.com/AgentiaPT/vela-slides/commit/141d67636b970b247f3b40b91a852ecc8a530a3c","weight":0.6},{"kind":"velocity-burst","description":"6,956 lines of first-party code in ~4.5h (1,560 lines/hour, 2 commit session)","ref":"dbe0609ed4b49a35b1bb72952fd639d1b670a49e","url":"https://github.com/AgentiaPT/vela-slides/commit/dbe0609ed4b49a35b1bb72952fd639d1b670a49e","weight":0.4680672897196262},{"kind":"velocity-burst","description":"4,276 lines of first-party code in ~3.8h (1,114 lines/hour, 4 commit session)","ref":"4e4e70d247ba41b17a93b09dc7cf940c004a91a1","url":"https://github.com/AgentiaPT/vela-slides/commit/4e4e70d247ba41b17a93b09dc7cf940c004a91a1","weight":0.3342075553625705},{"kind":"velocity-burst","description":"7,877 lines of first-party code in ~7.7h (1,021 lines/hour, 23 commit session)","ref":"a33a392367729711e6a5229d59425c0bc302a0db","url":"https://github.com/AgentiaPT/vela-slides/commit/a33a392367729711e6a5229d59425c0bc302a0db","weight":0.3062883888388838},{"kind":"velocity-burst","description":"3,005 lines of first-party code in ~4.0h (748 lines/hour, 2 commit session)","ref":"39931166a231b677c7f8494997439591fad2f473","url":"https://github.com/AgentiaPT/vela-slides/commit/39931166a231b677c7f8494997439591fad2f473","weight":0.22450193691200887},{"kind":"velocity-burst","description":"2,748 lines of first-party code in ~4.0h (687 lines/hour, 1 commit session)","ref":"788fc81445beff2ad3f9d580d4ca1ead5ed79cd6","url":"https://github.com/AgentiaPT/vela-slides/commit/788fc81445beff2ad3f9d580d4ca1ead5ed79cd6","weight":0.2061},{"kind":"velocity-burst","description":"2,415 lines of first-party code in ~3.6h (675 lines/hour, 9 commit session)","ref":"2081423132055a6c5c19c99382502b740ca6ecd2","url":"https://github.com/AgentiaPT/vela-slides/commit/2081423132055a6c5c19c99382502b740ca6ecd2","weight":0.20259437626223392},{"kind":"velocity-burst","description":"4,024 lines of first-party code in ~6.8h (594 lines/hour, 8 commit session)","ref":"088684d4d995b56a5c050bcf7258c9dc10e491c8","url":"https://github.com/AgentiaPT/vela-slides/commit/088684d4d995b56a5c050bcf7258c9dc10e491c8","weight":0.17830146877820627},{"kind":"velocity-burst","description":"2,715 lines of first-party code in ~4.7h (582 lines/hour, 5 commit session)","ref":"d92161411e465a216de0c664b40cc4e996c6c58b","url":"https://github.com/AgentiaPT/vela-slides/commit/d92161411e465a216de0c664b40cc4e996c6c58b","weight":0.1747020972354623},{"kind":"velocity-burst","description":"3,812 lines of first-party code in ~7.1h (539 lines/hour, 19 commit session)","ref":"aed1bb19adfc565d61eb44a0d7e2d07092d14dbf","url":"https://github.com/AgentiaPT/vela-slides/commit/aed1bb19adfc565d61eb44a0d7e2d07092d14dbf","weight":0.16169036210823973},{"kind":"velocity-burst","description":"2,671 lines of first-party code in ~5.0h (535 lines/hour, 3 commit session)","ref":"2e79e463ff8dd62bf1986492784be06645e3c8af","url":"https://github.com/AgentiaPT/vela-slides/commit/2e79e463ff8dd62bf1986492784be06645e3c8af","weight":0.16047396528704938},{"kind":"velocity-burst","description":"2,439 lines of first-party code in ~4.6h (526 lines/hour, 6 commit session)","ref":"c8cf8b9ad4410b9dd63f8be70919ebc55fc82a7a","url":"https://github.com/AgentiaPT/vela-slides/commit/c8cf8b9ad4410b9dd63f8be70919ebc55fc82a7a","weight":0.15775062881782248},{"kind":"velocity-burst","description":"1,177 lines of first-party code in ~2.3h (508 lines/hour, 4 commit session)","ref":"863fd130a80cc56396b178cce26d926431915196","url":"https://github.com/AgentiaPT/vela-slides/commit/863fd130a80cc56396b178cce26d926431915196","weight":0.1522894453096921},{"kind":"velocity-burst","description":"1,622 lines of first-party code in ~3.2h (506 lines/hour, 4 commit session)","ref":"e153cb6b912328976120ee7a6455db16ecee331a","url":"https://github.com/AgentiaPT/vela-slides/commit/e153cb6b912328976120ee7a6455db16ecee331a","weight":0.15185159500693482},{"kind":"velocity-burst","description":"2,624 lines of first-party code in ~5.2h (505 lines/hour, 7 commit session)","ref":"5d7cdbfb2d9d98ae24c9acf673a7537b073f91ef","url":"https://github.com/AgentiaPT/vela-slides/commit/5d7cdbfb2d9d98ae24c9acf673a7537b073f91ef","weight":0.15155462858976415}],"data":{"flagged_loc_by_commit":{"141d67636b970b247f3b40b91a852ecc8a530a3c":14228,"97dd2c69bdf447512cca59d21d04ef0fa35a2b26":32,"a579d8a88070e2fc0b65a30eb4ed293012231bd1":1466,"8515a3022d5747be8fc540473d2c49f160854198":355,"2ebb447257df52cd16ae235b897c06daac64efbd":150,"dc73374d98958c35bd5821a09a4a812f058fdd61":150,"cc11d42707ecea1d3947e9a18b9cbee1ff5b07c7":172,"5d7cdbfb2d9d98ae24c9acf673a7537b073f91ef":299,"515ec89865eba045602cbb3203dce71faa3aa937":177,"39931166a231b677c7f8494997439591fad2f473":2828,"f4c1292275b072c5ed1a583134fcac050ad002b8":6788,"dbe0609ed4b49a35b1bb72952fd639d1b670a49e":168,"788fc81445beff2ad3f9d580d4ca1ead5ed79cd6":2748,"307626fb28cedc076b6aeda99ac8d566e90712fc":833,"12f5f51457a129ef196a5725b8f728e37bff0829":449,"ec428f57b15ab186c446dc460cebfa0e3dad10be":334,"e153cb6b912328976120ee7a6455db16ecee331a":6,"ee16780b4e9bbf3c8b16f3f5415cfca707920336":1112,"3873b669aabd03c5211975298ab20c523116124f":338,"ce9b7e388fb2087c81d00bf66055be6ccf17aeda":621,"cb936f146b7ffe51c6f2735ef151bae12120ada3":586,"d92161411e465a216de0c664b40cc4e996c6c58b":58,"8bd81b4fc8d1e35587148f2a2edc9e1f7a3c404e":420,"ea11d94d339bc28cb0282d52839c7a92ee53427d":571,"1208a167b4d51b378f08a71c43015775ac28f414":22,"863fd130a80cc56396b178cce26d926431915196":164,"f8f375eae8af58e3cad0c5a65b303ca5540ec8e3":298,"c740be586d393bbe00127290a60f1248b25366ce":396,"63c37140ad42bad894b5175d4cc9678863cfe724":296,"ead1602024633fe41a984da80c1ae99a8f5ac493":59,"09420cd2de5828d6a0231efb802b41f5cb429532":443,"c1693cde0368d18b024d6d1823117ce0c2a5772d":312,"6a4948e0472ff4e79f8720f11ab132adab8954f5":570,"0054edc8560623776c7554c413e320d0a2f987fc":2,"2081423132055a6c5c19c99382502b740ca6ecd2":39,"41a7630b8144874473676bdb33735e76ff2b730e":154,"1825d99a93c6d3ecc50d68e99e0fb1de8c821a44":340,"60ee016178e5758f046e67d1bdd2a268dd554bdd":218,"208dab69e1adde1b29c4c0d3d81a501e34bc47b5":578,"8d005e25766298a42b605d5b97e405d0392da4f8":1145,"c8cf8b9ad4410b9dd63f8be70919ebc55fc82a7a":4,"2199b6cbb85a2cb30cda30df95620617450d491f":3096,"21e44678a748f505f983ec0837f95b72948e7f18":46,"70528e470d5f9bc8fdea460f9ba13c90b00c1e2a":25,"4e4e70d247ba41b17a93b09dc7cf940c004a91a1":1109,"de8189acc3a62650af8e0d980da64ed6654a408f":195,"b1a6fc9619d26c40fa1a51703750cb500874c332":239,"0903c5f75bd5953ca0236d1d58386be46c0c819e":600,"d7295729e885b085b1f730b1ad6438f4652cb264":106,"a59dd6551a0b1ac1f4860335f0140eb423ab2c74":396,"dd3422e4868fe3b34b0078975c29174388d026c2":695,"17623bc6552f61dc295fc7d3ae0fdad075cd0fad":67,"0c5c44468771ef785b70b9e9a2717ec8c10a4642":80,"b89744421f8f3dd9be22f92cb14f8814c0e4438f":175,"716f2d43b9b761eed6eee7d2119a52ddc26f3911":217,"1843c378409a3ba15e398861fbf60e9e7aed84ee":72,"edf20b77303fa49633e27f9fcd0f39dc5e35bfb5":100,"0955a8a9a84c5d792388364adabe0368b8e22ca6":102,"3a998c8cc99a1a538f15a1d0cacd43f8d01053f4":205,"02408e5c429371ba15970bff6a430173488c25f3":57,"df64974f156101fb9a70284e278c9df6ec9cb18c":220,"782ebd195bb3405e20ac2c6f7d3f103ade248297":168,"e56116633d3ec08dee4d2442a1aaa797bd4dde7e":59,"aed1bb19adfc565d61eb44a0d7e2d07092d14dbf":59,"3e22bef42ac5eaa4800074235c169e1513d9e5d8":84,"e3a88756cefeac8200c1cd1e8ee13ffac76c4afe":342,"bfe53c659210c95d180cd048e05d6649521ba704":478,"bb24b32750866c7155c92441bffd41517c447d64":276,"3f54eeb68c90a3a8dabe5db6caf16c36ce1fa7b8":53,"1556064a6dfc36b9d0c948c1a9aa609bc032ee68":7,"f42a9fe0ac133b868d2184291689fcea175d30d6":16,"796422c5acc00e59b9412cb8cb7e6d825dbb7a2c":494,"df9df59233e6b0c6d2cf62d7df3605e008ee6d28":414,"758f3548b4f6de0af32d341a35c3e0b132fc4295":411,"7bd8ae478f79093df635b82efefb51064a5831d7":259,"8d7bf1a6dc2005dd2432fd10b2b7cd8bf6187dbf":432,"671e21ca15fcc8d54302cd62457ca8f14ab56906":2,"30294098ecd0cc6a5038dc0ac19c4bc3645b2697":494,"5e69d49c3d528cf765cf99cb96b73eb6eb541665":2086,"f47326b3fbcdb7ee64652bfa316880c578d90500":37,"9ddf3237515de5b35b2ddbb882915396e5e51aed":36,"00accd1a90afd6142e7ed21a39225f791f96351c":2,"9e1de24dc462916a4e9672333877f243b0a8f0d5":894,"3dce14ad6c0881b46e22eefdddd1ac2b3926ac59":502,"7c8f5b59f4df3a439a5a5a968c983b6ae5d83a9d":486,"6572ad9b25c0db3222f056acff9b1736afdaa590":54,"a33a392367729711e6a5229d59425c0bc302a0db":18,"80816e7542b5138fd1b799f8e1c7a1422f5943c2":985,"13655aeb5acb182077545d4c652739cf6aa3c00a":976,"2e79e463ff8dd62bf1986492784be06645e3c8af":710,"fc8b9f69cff3073c3de0518123b03ade3a6d7abd":58,"d6b9439ad0769a57c983767e26216fb136d7aa30":382,"e6585ba5d33fca3b9810c4076adbb50cb6f3dc83":462,"1e729ff270de2c672899166810bf76cc34035bcb":976,"7ad52d51e42562b0c85be7c0aa2e314edcefbd84":322,"7d4d4228e91945d0a09baf9f554f8aa3479f252b":958,"9904836eeaf7a06aac4ce56584f91f7a231be69a":404,"088684d4d995b56a5c050bcf7258c9dc10e491c8":462},"excluded_import_commits":["6d166cda4b69425a7ef6831d0d480326b3224d37"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":74.0,"flagged_releases":4.0,"max_loc_per_day":156678.5},"findings":[],"evidence":[{"kind":"release-burst","description":"v12.19 → v12.20: 14,228 lines in 0.09 days (156,678.5 lines/day)","ref":"v12.19...v12.20","url":"https://github.com/AgentiaPT/vela-slides/compare/v12.19...v12.20","weight":0.4},{"kind":"release-burst","description":"v13.36 → v13.45: 7,649 lines in 1.68 days (4,556.5 lines/day)","ref":"v13.36...v13.45","url":"https://github.com/AgentiaPT/vela-slides/compare/v13.36...v13.45","weight":0.4},{"kind":"release-burst","description":"v13.47 → v13.67: 9,961 lines in 2.54 days (3,923.4 lines/day)","ref":"v13.47...v13.67","url":"https://github.com/AgentiaPT/vela-slides/compare/v13.47...v13.67","weight":0.4},{"kind":"release-burst","description":"v13.78 → v13.81: 7,197 lines in 0.88 days (8,187.9 lines/day)","ref":"v13.78...v13.81","url":"https://github.com/AgentiaPT/vela-slides/compare/v13.78...v13.81","weight":0.4}],"data":{"releases":[{"from":"v12.5","to":"v12.6","loc":976,"days":0.96,"loc_per_day":1018.1,"flagged":false},{"from":"v12.6","to":"v12.7","loc":1635,"days":0.25,"loc_per_day":6460.1,"flagged":false},{"from":"v12.7","to":"v12.12","loc":505,"days":0.12,"loc_per_day":4221.0,"flagged":false},{"from":"v12.12","to":"v12.14","loc":84,"days":0.28,"loc_per_day":300.4,"flagged":false},{"from":"v12.14","to":"v12.19","loc":309,"days":0.16,"loc_per_day":1876.7,"flagged":false},{"from":"v12.19","to":"v12.20","loc":14228,"days":0.09,"loc_per_day":156678.5,"flagged":true},{"from":"v12.20","to":"v12.21","loc":232,"days":1.09,"loc_per_day":213.2,"flagged":false},{"from":"v12.21","to":"v12.22","loc":48,"days":0.72,"loc_per_day":66.9,"flagged":false},{"from":"v12.22","to":"v12.23","loc":226,"days":0.04,"loc_per_day":5424.0,"flagged":false},{"from":"v12.23","to":"v12.24","loc":919,"days":0.18,"loc_per_day":5092.5,"flagged":false},{"from":"v12.24","to":"v12.25-rc.pr16","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v12.25-rc.pr16","to":"v12.27","loc":824,"days":2.24,"loc_per_day":367.3,"flagged":false},{"from":"v12.27","to":"v12.29","loc":82,"days":0.06,"loc_per_day":1366.1,"flagged":false},{"from":"v12.29","to":"v12.30","loc":52,"days":0.04,"loc_per_day":1248.0,"flagged":false},{"from":"v12.30","to":"v12.31","loc":6,"days":0.04,"loc_per_day":144.0,"flagged":false},{"from":"v12.31","to":"v12.32","loc":1315,"days":8.67,"loc_per_day":151.7,"flagged":false},{"from":"v12.32","to":"v13.0","loc":590,"days":0.11,"loc_per_day":5195.3,"flagged":false},{"from":"v13.0","to":"v12.34","loc":208,"days":0.11,"loc_per_day":1971.0,"flagged":false},{"from":"v12.34","to":"v12.35","loc":186,"days":0.05,"loc_per_day":3916.7,"flagged":false},{"from":"v12.35","to":"v12.36","loc":98,"days":0.04,"loc_per_day":2352.0,"flagged":false},{"from":"v12.36","to":"v12.36-rc.pr27","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v12.36-rc.pr27","to":"v12.40-rc.pr29","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v12.40-rc.pr29","to":"v12.40","loc":2124,"days":11.8,"loc_per_day":180.0,"flagged":false},{"from":"v12.40","to":"v12.41","loc":121,"days":0.99,"loc_per_day":121.9,"flagged":false},{"from":"v12.41","to":"v12.42","loc":7,"days":0.04,"loc_per_day":168.0,"flagged":false},{"from":"v12.42","to":"v12.43","loc":8,"days":0.04,"loc_per_day":192.0,"flagged":false},{"from":"v12.43","to":"v12.49","loc":507,"days":36.23,"loc_per_day":14.0,"flagged":false},{"from":"v12.49","to":"v12.50","loc":390,"days":0.04,"loc_per_day":9360.0,"flagged":false},{"from":"v12.50","to":"v12.51","loc":107,"days":0.04,"loc_per_day":2568.0,"flagged":false},{"from":"v12.51","to":"v12.52","loc":277,"days":0.04,"loc_per_day":6648.0,"flagged":false},{"from":"v12.52","to":"v12.53","loc":170,"days":0.04,"loc_per_day":4080.0,"flagged":false},{"from":"v12.53","to":"v12.54","loc":217,"days":0.04,"loc_per_day":5208.0,"flagged":false},{"from":"v12.54","to":"v12.55","loc":111,"days":0.04,"loc_per_day":2664.0,"flagged":false},{"from":"v12.55","to":"v12.56","loc":312,"days":0.73,"loc_per_day":428.3,"flagged":false},{"from":"v12.56","to":"v12.58","loc":237,"days":3.75,"loc_per_day":63.1,"flagged":false},{"from":"v12.58","to":"v12.59","loc":123,"days":0.12,"loc_per_day":998.2,"flagged":false},{"from":"v12.59","to":"v12.60","loc":212,"days":0.05,"loc_per_day":4005.4,"flagged":false},{"from":"v12.60","to":"v12.61","loc":322,"days":0.04,"loc_per_day":7728.0,"flagged":false},{"from":"v12.61","to":"v12.62","loc":58,"days":0.05,"loc_per_day":1106.5,"flagged":false},{"from":"v12.62","to":"v12.64","loc":340,"days":0.04,"loc_per_day":8160.0,"flagged":false},{"from":"v12.64","to":"v12.65","loc":336,"days":0.48,"loc_per_day":704.6,"flagged":false},{"from":"v12.65","to":"v12.66","loc":98,"days":0.12,"loc_per_day":849.2,"flagged":false},{"from":"v12.66","to":"v12.67","loc":175,"days":0.45,"loc_per_day":384.9,"flagged":false},{"from":"v12.67","to":"v12.68","loc":157,"days":0.04,"loc_per_day":3768.0,"flagged":false},{"from":"v12.68","to":"v12.69","loc":178,"days":21.81,"loc_per_day":8.2,"flagged":false},{"from":"v12.69","to":"v12.70","loc":192,"days":0.04,"loc_per_day":4608.0,"flagged":false},{"from":"v12.70","to":"v12.71","loc":131,"days":0.04,"loc_per_day":3144.0,"flagged":false},{"from":"v12.71","to":"v12.75","loc":4045,"days":3.08,"loc_per_day":1311.5,"flagged":false},{"from":"v12.75","to":"v12.79","loc":2379,"days":0.04,"loc_per_day":57096.0,"flagged":false},{"from":"v12.79","to":"v12.80","loc":1566,"days":1.51,"loc_per_day":1034.9,"flagged":false},{"from":"v12.80","to":"v12.82","loc":2308,"days":0.34,"loc_per_day":6755.4,"flagged":false},{"from":"v12.82","to":"v12.83","loc":1285,"days":2.06,"loc_per_day":622.8,"flagged":false},{"from":"v12.83","to":"v13.1","loc":4531,"days":5.93,"loc_per_day":763.8,"flagged":false},{"from":"v13.1","to":"v13.2","loc":44,"days":0.14,"loc_per_day":312.5,"flagged":false},{"from":"v13.2","to":"v13.3","loc":135,"days":0.04,"loc_per_day":3240.0,"flagged":false},{"from":"v13.3","to":"v13.7","loc":3900,"days":0.88,"loc_per_day":4448.7,"flagged":false},{"from":"v13.7","to":"v13.8","loc":188,"days":0.63,"loc_per_day":297.4,"flagged":false},{"from":"v13.8","to":"v13.9","loc":164,"days":1.44,"loc_per_day":113.7,"flagged":false},{"from":"v13.9","to":"v13.10","loc":68,"days":0.04,"loc_per_day":1632.0,"flagged":false},{"from":"v13.10","to":"v13.17","loc":1462,"days":0.04,"loc_per_day":35088.0,"flagged":false},{"from":"v13.17","to":"v13.18","loc":94,"days":5.47,"loc_per_day":17.2,"flagged":false},{"from":"v13.18","to":"v13.19","loc":298,"days":0.59,"loc_per_day":506.3,"flagged":false},{"from":"v13.19","to":"v13.36","loc":8603,"days":20.84,"loc_per_day":412.8,"flagged":false},{"from":"v13.36","to":"v13.45","loc":7649,"days":1.68,"loc_per_day":4556.5,"flagged":true},{"from":"v13.45","to":"v13.46","loc":2668,"days":1.54,"loc_per_day":1736.4,"flagged":false},{"from":"v13.46","to":"v13.47","loc":5,"days":0.41,"loc_per_day":12.3,"flagged":false},{"from":"v13.47","to":"v13.67","loc":9961,"days":2.54,"loc_per_day":3923.4,"flagged":true},{"from":"v13.67","to":"v13.68","loc":2748,"days":0.77,"loc_per_day":3584.1,"flagged":false},{"from":"v13.68","to":"v13.72","loc":704,"days":23.81,"loc_per_day":29.6,"flagged":false},{"from":"v13.72","to":"v13.73","loc":266,"days":8.18,"loc_per_day":32.5,"flagged":false},{"from":"v13.73","to":"v13.74","loc":592,"days":0.2,"loc_per_day":2972.6,"flagged":false},{"from":"v13.74","to":"v13.78","loc":17340,"days":52.03,"loc_per_day":333.3,"flagged":false},{"from":"v13.78","to":"v13.81","loc":7197,"days":0.88,"loc_per_day":8187.9,"flagged":true},{"from":"v13.81","to":"v13.82","loc":1820,"days":0.36,"loc_per_day":5010.0,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":56152.0,"index":3.482,"count:narrated_steps":15.0,"per_kloc:narrated_steps":0.267,"files:narrated_steps":4.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":361.0,"per_kloc:emoji_in_code":6.429,"files:emoji_in_code":42.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: # Step 0: optionally rebuild template from parts","ref":"evals/skills/v12.3/scripts/assemble.py:51","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/skills/v12.3/scripts/assemble.py#L51","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: # Step 1: read deck JSON","ref":"evals/skills/v12.3/scripts/assemble.py:63","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/skills/v12.3/scripts/assemble.py#L63","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: # Step 2: read template","ref":"evals/skills/v12.3/scripts/assemble.py:104","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/skills/v12.3/scripts/assemble.py#L104","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: # Step 3: determine output path","ref":"evals/skills/v12.3/scripts/assemble.py:115","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/skills/v12.3/scripts/assemble.py#L115","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: # Step 0: Auto-expand compact or turbo to a temp file for validate+assemble.","ref":"evals/skills/v12.3/scripts/vela.py:1054","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/skills/v12.3/scripts/vela.py#L1054","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: # Step 1: Validate","ref":"evals/skills/v12.3/scripts/vela.py:1070","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/skills/v12.3/scripts/vela.py#L1070","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: # Step 2: Assemble","ref":"evals/skills/v12.3/scripts/vela.py:1083","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/skills/v12.3/scripts/vela.py#L1083","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: # Step 3: Copy JSON to outputs (skip if already in output dir)","ref":"evals/skills/v12.3/scripts/vela.py:1102","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/skills/v12.3/scripts/vela.py#L1102","weight":0.0}],"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":0.0,"secrets_low_confidence":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":242.0,"findings_high":61.0,"findings_medium":176.0,"findings_low":5.0,"weighted_findings":95.312,"scanned_lines":63652.0,"parse_errors":4.0},"findings":[{"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":".claude/hooks/post-edit-lint.py","line":208,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:.claude/hooks/post-edit-lint.py:208"},{"rule_id":"opengrep/python.sqlalchemy.security.sqlalchemy-execute-raw-query","severity":"high","message":"Avoiding SQL string concatenation: untrusted input concatenated with raw SQL query can result in SQL Injection. In order to execute raw query safely, prepared statement should be used. SQLAlchemy provides TextualSQL to easily used prepared statement with named parameters. For complex SQL composition [confidence low]","path":".claude/skills/copilot-session-cost/scripts/session-cost-report.py","line":354,"fingerprint":"python.sqlalchemy.security.sqlalchemy-execute-raw-query:.claude/skills/copilot-session-cost/scripts/session-cost-report.py:354"},{"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":".claude/skills/hyper-sprint/assets/sprint-stats.py","line":41,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:.claude/skills/hyper-sprint/assets/sprint-stats.py:41"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":".claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs","line":110,"fingerprint":"javascript.browser.security.insecure-document-method:.claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs:110"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `d.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":".claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs","line":110,"fingerprint":"javascript.browser.security.insecure-innerhtml:.claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs:110"},{"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":"archive/pptx-spike/verify.py","line":10,"fingerprint":"python.lang.security.use-defused-xml:archive/pptx-spike/verify.py:10"},{"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":"evals/scripts/analyze-results.py","line":57,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:evals/scripts/analyze-results.py:57"},{"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":"evals/scripts/validate.py","line":92,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:evals/scripts/validate.py:92"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-tainted-env-args","severity":"high","message":"Detected subprocess function 'run' with user controlled data. A malicious actor could leverage this to perform command injection. You may consider using 'shlex.quote()'. [confidence medium]","path":"evals/scripts/validate.py","line":93,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-tainted-env-args:evals/scripts/validate.py:93"},{"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":"evals/skills/v12.3/scripts/assemble.py","line":54,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:evals/skills/v12.3/scripts/assemble.py:54"},{"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":"evals/skills/v12.3/scripts/assemble.py","line":70,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:evals/skills/v12.3/scripts/assemble.py:70"},{"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":"evals/skills/v12.3/scripts/vela.py","line":920,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:evals/skills/v12.3/scripts/vela.py:920"},{"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":"evals/skills/v12.3/scripts/vela.py","line":959,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:evals/skills/v12.3/scripts/vela.py:959"},{"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":"evals/skills/v12.3/scripts/vela.py","line":1071,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:evals/skills/v12.3/scripts/vela.py:1071"},{"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":"evals/skills/v12.3/scripts/vela.py","line":1087,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:evals/skills/v12.3/scripts/vela.py:1087"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-tainted-env-args","severity":"high","message":"Detected subprocess function 'run' with user controlled data. A malicious actor could leverage this to perform command injection. You may consider using 'shlex.quote()'. [confidence medium]","path":"evals/skills/v12.3/scripts/vela.py","line":1087,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-tainted-env-args:evals/skills/v12.3/scripts/vela.py:1087"},{"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":"evals/skills/v12.3/scripts/vela.py","line":2206,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:evals/skills/v12.3/scripts/vela.py:2206"},{"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":"site/build.py","line":693,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:site/build.py:693"},{"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":"skills/vela-slides/scripts/vela.py","line":1153,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:skills/vela-slides/scripts/vela.py:1153"},{"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":"skills/vela-slides/scripts/vela.py","line":1192,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:skills/vela-slides/scripts/vela.py:1192"},{"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":"skills/vela-slides/scripts/vela.py","line":1304,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:skills/vela-slides/scripts/vela.py:1304"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-tainted-env-args","severity":"high","message":"Detected subprocess function 'run' with user controlled data. A malicious actor could leverage this to perform command injection. You may consider using 'shlex.quote()'. [confidence medium]","path":"skills/vela-slides/scripts/vela.py","line":1304,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-tainted-env-args:skills/vela-slides/scripts/vela.py:1304"},{"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":"skills/vela-slides/scripts/vela.py","line":1320,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:skills/vela-slides/scripts/vela.py:1320"},{"rule_id":"opengrep/python.lang.security.audit.dangerous-subprocess-use-tainted-env-args","severity":"high","message":"Detected subprocess function 'run' with user controlled data. A malicious actor could leverage this to perform command injection. You may consider using 'shlex.quote()'. [confidence medium]","path":"skills/vela-slides/scripts/vela.py","line":1320,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-tainted-env-args:skills/vela-slides/scripts/vela.py:1320"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-blocks.jsx","line":427,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-blocks.jsx:427"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `el.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-blocks.jsx","line":427,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-blocks.jsx:427"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":169,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:169"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `host.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":169,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:169"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":194,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:194"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `host.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":194,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:194"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":215,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:215"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `host.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":215,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:215"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":264,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:264"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `host.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":264,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:264"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":289,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:289"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `host.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":289,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:289"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":306,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:306"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `host.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":306,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:306"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":338,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:338"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `d.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":338,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:338"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":343,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:343"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `d.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":343,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:343"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":348,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:348"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `d.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":348,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:348"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":382,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:382"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `d.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":382,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:382"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":391,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:391"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `d.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":391,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:391"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":403,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:403"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `d.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":403,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:403"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":418,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:418"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `d.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":418,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:418"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":430,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:430"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `d.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":430,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:430"},{"rule_id":"opengrep/javascript.browser.security.insecure-document-method","severity":"high","message":"User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":439,"fingerprint":"javascript.browser.security.insecure-document-method:src/parts/part-uitest2.jsx:439"},{"rule_id":"opengrep/javascript.browser.security.insecure-innerhtml","severity":"high","message":"User controlled data in a `d.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low]","path":"src/parts/part-uitest2.jsx","line":439,"fingerprint":"javascript.browser.security.insecure-innerhtml:src/parts/part-uitest2.jsx:439"},{"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":"tools/vela-dev/scripts/agent_backend.py","line":185,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:tools/vela-dev/scripts/agent_backend.py:185"},{"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":"tools/vela-dev/scripts/agent_backend.py","line":211,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:tools/vela-dev/scripts/agent_backend.py:211"},{"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":"tools/vela-dev/scripts/dep-sweep.py","line":789,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:tools/vela-dev/scripts/dep-sweep.py:789"},{"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":"tools/vela-dev/scripts/sync-skill-docs.py","line":35,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:tools/vela-dev/scripts/sync-skill-docs.py:35"},{"rule_id":"opengrep/go.lang.security.audit.dangerous-exec-command","severity":"high","message":"Detected non-static command inside Command. Audit the input to 'exec.Command'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code. [confidence low]","path":"vela-neutralino/extensions/agent/main.go","line":287,"fingerprint":"go.lang.security.audit.dangerous-exec-command:vela-neutralino/extensions/agent/main.go:287"},{"rule_id":"opengrep/python.lang.security.insecure-hash-algorithm-sha1","severity":"medium","message":"Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium]","path":".claude/hooks/post-edit-lint.py","line":140,"fingerprint":"python.lang.security.insecure-hash-algorithm-sha1:.claude/hooks/post-edit-lint.py:140"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `d` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/driver-server.mjs","line":25,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/burst-bug-hunter/assets/driver-server.mjs:25"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/driver-server.mjs","line":29,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.claude/skills/burst-bug-hunter/assets/driver-server.mjs:29"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `file` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/driver-server.mjs","line":60,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/burst-bug-hunter/assets/driver-server.mjs:60"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `file` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/driver-server.mjs","line":61,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/burst-bug-hunter/assets/driver-server.mjs:61"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `file` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/driver-server.mjs","line":62,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/burst-bug-hunter/assets/driver-server.mjs:62"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `file` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/driver-server.mjs","line":81,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/burst-bug-hunter/assets/driver-server.mjs:81"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/driver-server.mjs","line":243,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.claude/skills/burst-bug-hunter/assets/driver-server.mjs:243"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `out` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/driver-server.mjs","line":273,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/burst-bug-hunter/assets/driver-server.mjs:273"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `path` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":61,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:61"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `id` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":65,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:65"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":65,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:65"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":66,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:66"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `id` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":69,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:69"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `id` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":70,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:70"},{"rule_id":"opengrep/python.lang.security.audit.formatted-sql-query","severity":"medium","message":"Detected possible formatted SQL query. Use parameterized queries instead. [confidence low]","path":".claude/skills/copilot-session-cost/scripts/session-cost-report.py","line":354,"fingerprint":"python.lang.security.audit.formatted-sql-query:.claude/skills/copilot-session-cost/scripts/session-cost-report.py:354"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `d` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/hyper-sprint/assets/play-deck.mjs","line":32,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/hyper-sprint/assets/play-deck.mjs:32"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `d` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/hyper-sprint/assets/record-demo.mjs","line":40,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/hyper-sprint/assets/record-demo.mjs:40"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".claude/skills/hyper-sprint/assets/record-demo.mjs","line":57,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.claude/skills/hyper-sprint/assets/record-demo.mjs:57"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `start` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/vela-browser-test/scripts/browser-probe.cjs","line":37,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/vela-browser-test/scripts/browser-probe.cjs:37"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".claude/skills/vela-browser-test/scripts/browser-probe.cjs","line":37,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.claude/skills/vela-browser-test/scripts/browser-probe.cjs:37"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":".claude/skills/vela-browser-test/scripts/browser-probe.cjs","line":112,"fingerprint":"javascript.lang.security.html-in-template-string:.claude/skills/vela-browser-test/scripts/browser-probe.cjs:112"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":".claude/skills/vela-browser-test/scripts/browser-probe.cjs","line":113,"fingerprint":"javascript.lang.security.html-in-template-string:.claude/skills/vela-browser-test/scripts/browser-probe.cjs:113"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":".claude/skills/vela-browser-test/scripts/browser-probe.cjs","line":114,"fingerprint":"javascript.lang.security.html-in-template-string:.claude/skills/vela-browser-test/scripts/browser-probe.cjs:114"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `start` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs","line":31,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs:31"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs","line":31,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs:31"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".hyper-sprint/render-offline.js","line":44,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.hyper-sprint/render-offline.js:44"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".hyper-sprint/render-offline.js","line":45,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.hyper-sprint/render-offline.js:45"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `opts` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".hyper-sprint/render-offline.js","line":46,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.hyper-sprint/render-offline.js:46"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-require","severity":"medium","message":"Detected the use of require(variable). Calling require with a non-literal argument might allow an attacker to load and run arbitrary code, or access arbitrary files. [confidence low]","path":".hyper-sprint/render-offline.js","line":47,"fingerprint":"javascript.lang.security.audit.detect-non-literal-require:.hyper-sprint/render-offline.js:47"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".hyper-sprint/render-offline.js","line":47,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.hyper-sprint/render-offline.js:47"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-require","severity":"medium","message":"Detected the use of require(variable). Calling require with a non-literal argument might allow an attacker to load and run arbitrary code, or access arbitrary files. [confidence low]","path":".hyper-sprint/render-offline.js","line":53,"fingerprint":"javascript.lang.security.audit.detect-non-literal-require:.hyper-sprint/render-offline.js:53"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".hyper-sprint/render-offline.js","line":54,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.hyper-sprint/render-offline.js:54"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `deckPath` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".hyper-sprint/render-offline.js","line":56,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.hyper-sprint/render-offline.js:56"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `opts` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".hyper-sprint/render-offline.js","line":57,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.hyper-sprint/render-offline.js:57"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `outDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".hyper-sprint/render-offline.js","line":91,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.hyper-sprint/render-offline.js:91"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `outDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".hyper-sprint/render-offline.js","line":92,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.hyper-sprint/render-offline.js:92"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".hyper-sprint/render-offline.js","line":92,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.hyper-sprint/render-offline.js:92"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":".hyper-sprint/render-offline.js","line":93,"fingerprint":"javascript.lang.security.html-in-template-string:.hyper-sprint/render-offline.js:93"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".hyper-sprint/render-offline.js","line":101,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.hyper-sprint/render-offline.js:101"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `outDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":".hyper-sprint/render-offline.js","line":103,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:.hyper-sprint/render-offline.js:103"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".hyper-sprint/render-offline.js","line":103,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.hyper-sprint/render-offline.js:103"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":".hyper-sprint/render-offline.js","line":104,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:.hyper-sprint/render-offline.js:104"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/build-single-slide.cjs","line":49,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/build-single-slide.cjs:49"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":89,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:89"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":92,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:92"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":94,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:94"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":99,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:99"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":101,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:101"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":102,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:102"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":108,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:108"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":110,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:110"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":112,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:112"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":113,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:113"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":119,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:119"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":121,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:121"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":122,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:122"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":123,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:123"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":124,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:124"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":126,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:126"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":130,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:130"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":131,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:131"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":132,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:132"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":140,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:140"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":142,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:142"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":143,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:143"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":144,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:144"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":198,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:198"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":213,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:213"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":220,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:220"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":222,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:222"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":232,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:232"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":237,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:237"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":238,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:238"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":239,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:239"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":246,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:246"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":247,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:247"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":248,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:248"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"archive/pptx-spike/pptx-emitter.mjs","line":249,"fingerprint":"javascript.lang.security.html-in-template-string:archive/pptx-spike/pptx-emitter.mjs:249"},{"rule_id":"opengrep/typescript.react.security.audit.react-dangerouslysetinnerhtml","severity":"medium","message":"Detection of dangerouslySetInnerHTML from non-constant definition. This can inadvertently expose users to cross-site scripting (XSS) attacks if this comes from user-provided input. If you have to use dangerouslySetInnerHTML, consider using a sanitization library such as DOMPurify to sanitize your HT [confidence medium]","path":"src/parts/part-blocks.jsx","line":1604,"fingerprint":"typescript.react.security.audit.react-dangerouslysetinnerhtml:src/parts/part-blocks.jsx:1604"},{"rule_id":"opengrep/javascript.lang.security.audit.prototype-pollution.prototype-pollution-assignment","severity":"medium","message":"Possibility of prototype polluting assignment detected. By adding or modifying attributes of an object prototype, it is possible to create attributes that exist on every object, or replace critical attributes with malicious ones. This can be problematic if the software depends on existence or non-ex [confidence low]","path":"src/parts/part-engine.jsx","line":291,"fingerprint":"javascript.lang.security.audit.prototype-pollution.prototype-pollution-assignment:src/parts/part-engine.jsx:291"},{"rule_id":"opengrep/javascript.lang.security.audit.prototype-pollution.prototype-pollution-assignment","severity":"medium","message":"Possibility of prototype polluting assignment detected. By adding or modifying attributes of an object prototype, it is possible to create attributes that exist on every object, or replace critical attributes with malicious ones. This can be problematic if the software depends on existence or non-ex [confidence low]","path":"src/parts/part-engine.jsx","line":293,"fingerprint":"javascript.lang.security.audit.prototype-pollution.prototype-pollution-assignment:src/parts/part-engine.jsx:293"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-regexp","severity":"medium","message":"RegExp() called with a `input` function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-controlle [confidence low]","path":"src/parts/part-engine.jsx","line":373,"fingerprint":"javascript.lang.security.audit.detect-non-literal-regexp:src/parts/part-engine.jsx:373"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-export-md.jsx","line":467,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-export-md.jsx:467"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-export-md.jsx","line":478,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-export-md.jsx:478"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-imports.jsx","line":987,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-imports.jsx:987"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-imports.jsx","line":996,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-imports.jsx:996"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pdf-vector.jsx","line":1195,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pdf-vector.jsx:1195"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pdf.jsx","line":169,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pdf.jsx:169"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":118,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:118"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":126,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:126"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":137,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:137"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":140,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:140"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":146,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:146"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":157,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:157"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":177,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:177"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":179,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:179"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":180,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:180"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":196,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:196"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":197,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:197"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":217,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:217"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":218,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:218"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":219,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:219"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":220,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:220"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":233,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:233"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":235,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:235"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":241,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:241"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":242,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:242"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":245,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:245"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":246,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:246"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":247,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:247"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":253,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:253"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":254,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:254"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":255,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:255"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":265,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:265"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":267,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:267"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":268,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:268"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":269,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:269"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":274,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:274"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":275,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:275"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":296,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:296"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":306,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:306"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":307,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:307"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":311,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:311"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":313,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:313"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":315,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:315"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":316,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:316"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":323,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:323"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":340,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:340"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":342,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:342"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":343,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:343"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":345,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:345"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":518,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:518"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":533,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:533"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":542,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:542"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":544,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:544"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":554,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:554"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":559,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:559"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":560,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:560"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":561,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:561"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":568,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:568"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":569,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:569"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":570,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:570"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":572,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:572"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-pptx.jsx","line":573,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-pptx.jsx:573"},{"rule_id":"opengrep/typescript.react.security.audit.react-dangerouslysetinnerhtml","severity":"medium","message":"Detection of dangerouslySetInnerHTML from non-constant definition. This can inadvertently expose users to cross-site scripting (XSS) attacks if this comes from user-provided input. If you have to use dangerouslySetInnerHTML, consider using a sanitization library such as DOMPurify to sanitize your HT [confidence medium]","path":"src/parts/part-slides.jsx","line":1465,"fingerprint":"typescript.react.security.audit.react-dangerouslysetinnerhtml:src/parts/part-slides.jsx:1465"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-uitest.jsx","line":1791,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-uitest.jsx:1791"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-uitest.jsx","line":1792,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-uitest.jsx:1792"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"src/parts/part-uitest2.jsx","line":53,"fingerprint":"javascript.lang.security.html-in-template-string:src/parts/part-uitest2.jsx:53"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-dynamic-method","severity":"medium","message":"Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low]","path":"src/parts/part-uitest2.jsx","line":1925,"fingerprint":"javascript.lang.security.audit.unsafe-dynamic-method:src/parts/part-uitest2.jsx:1925"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"tools/vela-dev/channel/vela-channel.ts","line":97,"fingerprint":"javascript.lang.security.html-in-template-string:tools/vela-dev/channel/vela-channel.ts:97"},{"rule_id":"opengrep/python.lang.security.audit.dynamic-urllib-use-detected","severity":"medium","message":"Detected a dynamic value being used with urllib. urllib supports 'file://' schemes, so a dynamic value controlled by a malicious actor may allow them to read arbitrary files. Audit uses of urllib calls to ensure user data cannot control the URLs, or consider using the 'requests' library instead. [confidence low]","path":"tools/vela-dev/scripts/dep-sweep.py","line":85,"fingerprint":"python.lang.security.audit.dynamic-urllib-use-detected:tools/vela-dev/scripts/dep-sweep.py:85"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":38,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:tools/vela-dev/scripts/render-offline.js:38"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":39,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:tools/vela-dev/scripts/render-offline.js:39"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `opts` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":40,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:tools/vela-dev/scripts/render-offline.js:40"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-require","severity":"medium","message":"Detected the use of require(variable). Calling require with a non-literal argument might allow an attacker to load and run arbitrary code, or access arbitrary files. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":41,"fingerprint":"javascript.lang.security.audit.detect-non-literal-require:tools/vela-dev/scripts/render-offline.js:41"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":41,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:tools/vela-dev/scripts/render-offline.js:41"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-require","severity":"medium","message":"Detected the use of require(variable). Calling require with a non-literal argument might allow an attacker to load and run arbitrary code, or access arbitrary files. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":46,"fingerprint":"javascript.lang.security.audit.detect-non-literal-require:tools/vela-dev/scripts/render-offline.js:46"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":47,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:tools/vela-dev/scripts/render-offline.js:47"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `deckPath` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":49,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:tools/vela-dev/scripts/render-offline.js:49"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `opts` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":50,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:tools/vela-dev/scripts/render-offline.js:50"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `outDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":94,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:tools/vela-dev/scripts/render-offline.js:94"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `outDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":95,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:tools/vela-dev/scripts/render-offline.js:95"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":95,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:tools/vela-dev/scripts/render-offline.js:95"},{"rule_id":"opengrep/javascript.lang.security.html-in-template-string","severity":"medium","message":"This template literal looks like HTML and has interpolated variables. These variables are not HTML-encoded by default. If the variables contain HTML tags, these may be interpreted by the browser, resulting in cross-site scripting (XSS). [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":96,"fingerprint":"javascript.lang.security.html-in-template-string:tools/vela-dev/scripts/render-offline.js:96"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":104,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:tools/vela-dev/scripts/render-offline.js:104"},{"rule_id":"opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename","severity":"medium","message":"Detected that function argument `outDir` has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":106,"fingerprint":"javascript.lang.security.audit.detect-non-literal-fs-filename:tools/vela-dev/scripts/render-offline.js:106"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":106,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:tools/vela-dev/scripts/render-offline.js:106"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"tools/vela-dev/scripts/render-offline.js","line":107,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:tools/vela-dev/scripts/render-offline.js:107"},{"rule_id":"opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal","severity":"medium","message":"Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability,  where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low]","path":"tools/vela-dev/scripts/vela-drive.js","line":320,"fingerprint":"javascript.lang.security.audit.path-traversal.path-join-resolve-traversal:tools/vela-dev/scripts/vela-drive.js:320"},{"rule_id":"opengrep/go.lang.security.audit.use-of-unsafe-block","severity":"medium","message":"Using the unsafe package in Go gives you low-level memory management and many of the strengths of the C language, but also steps around the type safety of Go and can lead to buffer overflows and possible arbitrary code execution by an attacker. Only use this package if you absolutely know what you'r [confidence low]","path":"vela-neutralino/extensions/agent/procwatch_windows.go","line":50,"fingerprint":"go.lang.security.audit.use-of-unsafe-block:vela-neutralino/extensions/agent/procwatch_windows.go:50"},{"rule_id":"opengrep/go.lang.security.audit.use-of-unsafe-block","severity":"medium","message":"Using the unsafe package in Go gives you low-level memory management and many of the strengths of the C language, but also steps around the type safety of Go and can lead to buffer overflows and possible arbitrary code execution by an attacker. Only use this package if you absolutely know what you'r [confidence low]","path":"vela-neutralino/extensions/agent/procwatch_windows.go","line":50,"fingerprint":"go.lang.security.audit.use-of-unsafe-block:vela-neutralino/extensions/agent/procwatch_windows.go:50"},{"rule_id":"opengrep/go.lang.security.audit.use-of-unsafe-block","severity":"medium","message":"Using the unsafe package in Go gives you low-level memory management and many of the strengths of the C language, but also steps around the type safety of Go and can lead to buffer overflows and possible arbitrary code execution by an attacker. Only use this package if you absolutely know what you'r [confidence low]","path":"vela-neutralino/extensions/agent/procwatch_windows.go","line":99,"fingerprint":"go.lang.security.audit.use-of-unsafe-block:vela-neutralino/extensions/agent/procwatch_windows.go:99"},{"rule_id":"opengrep/go.lang.security.audit.use-of-unsafe-block","severity":"medium","message":"Using the unsafe package in Go gives you low-level memory management and many of the strengths of the C language, but also steps around the type safety of Go and can lead to buffer overflows and possible arbitrary code execution by an attacker. Only use this package if you absolutely know what you'r [confidence low]","path":"vela-neutralino/extensions/agent/procwatch_windows.go","line":235,"fingerprint":"go.lang.security.audit.use-of-unsafe-block:vela-neutralino/extensions/agent/procwatch_windows.go:235"},{"rule_id":"opengrep/go.lang.security.audit.use-of-unsafe-block","severity":"medium","message":"Using the unsafe package in Go gives you low-level memory management and many of the strengths of the C language, but also steps around the type safety of Go and can lead to buffer overflows and possible arbitrary code execution by an attacker. Only use this package if you absolutely know what you'r [confidence low]","path":"vela-neutralino/extensions/agent/procwatch_windows.go","line":235,"fingerprint":"go.lang.security.audit.use-of-unsafe-block:vela-neutralino/extensions/agent/procwatch_windows.go:235"},{"rule_id":"opengrep/javascript.lang.security.insecure-object-assign","severity":"medium","message":"Depending on the context, user control data in `Object.assign` can cause web response to include data that it should not have or can lead to a mass assignment vulnerability. [confidence low]","path":"vela-neutralino/resources/js/config-store.js","line":52,"fingerprint":"javascript.lang.security.insecure-object-assign:vela-neutralino/resources/js/config-store.js:52"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":".claude/skills/hyper-sprint/assets/record-demo.mjs","line":62,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:.claude/skills/hyper-sprint/assets/record-demo.mjs:62"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"src/parts/part-pdf-vector.jsx","line":153,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/parts/part-pdf-vector.jsx:153"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"src/parts/part-slidepanel.jsx","line":1495,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/parts/part-slidepanel.jsx:1495"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"vela-neutralino/resources/js/deck-io.js","line":469,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:vela-neutralino/resources/js/deck-io.js:469"},{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"vela-neutralino/resources/js/deck-io.js","line":481,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:vela-neutralino/resources/js/deck-io.js:481"}],"evidence":[],"data":{"rulesets":["javascript","python","bash","go","typescript","dockerfile"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":9.0,"vulnerabilities":40.0,"vulns_critical":1.0,"vulns_high":11.0,"vulns_medium":25.0,"vulns_low":3.0,"vulns_unknown":0.0,"penalty":59.0},"findings":[{"rule_id":"osv/GHSA-jqcg-44mw-7w3h","severity":"critical","message":"proxy-addr@2.0.7 (npm) is affected by GHSA-jqcg-44mw-7w3h","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"proxy-addr@2.0.7 (npm):GHSA-jqcg-44mw-7w3h"},{"rule_id":"osv/GHSA-22jm-h49p-29qw","severity":"high","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-22jm-h49p-29qw","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-22jm-h49p-29qw"},{"rule_id":"osv/GHSA-46jr-4wx8-v453","severity":"high","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-46jr-4wx8-v453","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-46jr-4wx8-v453"},{"rule_id":"osv/GHSA-6qxp-vccf-f47h","severity":"high","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-6qxp-vccf-f47h","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-6qxp-vccf-f47h"},{"rule_id":"osv/GHSA-f897-62hf-6gxq","severity":"high","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-f897-62hf-6gxq","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-f897-62hf-6gxq"},{"rule_id":"osv/GHSA-27r3-jxmh-p828","severity":"high","message":"body-parser@2.3.0 (npm) is affected by GHSA-27r3-jxmh-p828","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"body-parser@2.3.0 (npm):GHSA-27r3-jxmh-p828"},{"rule_id":"osv/GHSA-5jgf-p345-68v8","severity":"high","message":"fast-uri@3.1.5 (npm) is affected by GHSA-5jgf-p345-68v8","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@3.1.5 (npm):GHSA-5jgf-p345-68v8"},{"rule_id":"osv/GHSA-f65p-4m7j-42xc","severity":"high","message":"fast-uri@3.1.5 (npm) is affected by GHSA-f65p-4m7j-42xc","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@3.1.5 (npm):GHSA-f65p-4m7j-42xc"},{"rule_id":"osv/GHSA-fph4-wmhf-6fwf","severity":"high","message":"fast-uri@3.1.5 (npm) is affected by GHSA-fph4-wmhf-6fwf","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@3.1.5 (npm):GHSA-fph4-wmhf-6fwf"},{"rule_id":"osv/GHSA-jqff-g426-hqxp","severity":"high","message":"fast-uri@3.1.5 (npm) is affected by GHSA-jqff-g426-hqxp","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@3.1.5 (npm):GHSA-jqff-g426-hqxp"},{"rule_id":"osv/GHSA-qw65-cvwx-89v3","severity":"high","message":"fast-uri@3.1.5 (npm) is affected by GHSA-qw65-cvwx-89v3","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@3.1.5 (npm):GHSA-qw65-cvwx-89v3"},{"rule_id":"osv/GHSA-mrhx-c7xc-m3w5","severity":"high","message":"zod@4.4.3 (npm) is affected by GHSA-mrhx-c7xc-m3w5","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"zod@4.4.3 (npm):GHSA-mrhx-c7xc-m3w5"},{"rule_id":"osv/GHSA-jpvv-r467-5p4w","severity":"medium","message":"@hono/node-server@2.0.12 (npm) is affected by GHSA-jpvv-r467-5p4w","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"@hono/node-server@2.0.12 (npm):GHSA-jpvv-r467-5p4w"},{"rule_id":"osv/GHSA-qv5m-9pm6-hqp3","severity":"medium","message":"@hono/node-server@2.0.12 (npm) is affected by GHSA-qv5m-9pm6-hqp3","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"@hono/node-server@2.0.12 (npm):GHSA-qv5m-9pm6-hqp3"},{"rule_id":"osv/GHSA-rmxm-3fg6-px4f","severity":"medium","message":"@hono/node-server@2.0.12 (npm) is affected by GHSA-rmxm-3fg6-px4f","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"@hono/node-server@2.0.12 (npm):GHSA-rmxm-3fg6-px4f"},{"rule_id":"osv/GHSA-6prh-2h8m-c8cw","severity":"medium","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-6prh-2h8m-c8cw","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-6prh-2h8m-c8cw"},{"rule_id":"osv/GHSA-rvq5-wwqv-78pq","severity":"medium","message":"@modelcontextprotocol/sdk@1.30.0 (npm) is affected by GHSA-rvq5-wwqv-78pq","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"@modelcontextprotocol/sdk@1.30.0 (npm):GHSA-rvq5-wwqv-78pq"},{"rule_id":"osv/GHSA-hrr3-gc8f-f4qj","severity":"medium","message":"fast-uri@3.1.5 (npm) is affected by GHSA-hrr3-gc8f-f4qj","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@3.1.5 (npm):GHSA-hrr3-gc8f-f4qj"},{"rule_id":"osv/GHSA-w74x-v6f9-j3xg","severity":"medium","message":"fast-uri@3.1.5 (npm) is affected by GHSA-w74x-v6f9-j3xg","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@3.1.5 (npm):GHSA-w74x-v6f9-j3xg"},{"rule_id":"osv/GHSA-wjr9-j795-jxcr","severity":"medium","message":"fast-uri@3.1.5 (npm) is affected by GHSA-wjr9-j795-jxcr","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@3.1.5 (npm):GHSA-wjr9-j795-jxcr"},{"rule_id":"osv/GHSA-46wx-v44x-9hh2","severity":"medium","message":"hono@4.12.34 (npm) is affected by GHSA-46wx-v44x-9hh2","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"hono@4.12.34 (npm):GHSA-46wx-v44x-9hh2"},{"rule_id":"osv/GHSA-4h7h-rv7c-7m2v","severity":"medium","message":"hono@4.12.34 (npm) is affected by GHSA-4h7h-rv7c-7m2v","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"hono@4.12.34 (npm):GHSA-4h7h-rv7c-7m2v"},{"rule_id":"osv/GHSA-4m76-xfj5-7975","severity":"medium","message":"hono@4.12.34 (npm) is affected by GHSA-4m76-xfj5-7975","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"hono@4.12.34 (npm):GHSA-4m76-xfj5-7975"},{"rule_id":"osv/GHSA-5r4p-p66f-jhc7","severity":"medium","message":"hono@4.12.34 (npm) is affected by GHSA-5r4p-p66f-jhc7","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"hono@4.12.34 (npm):GHSA-5r4p-p66f-jhc7"},{"rule_id":"osv/GHSA-crvj-82cr-hjcx","severity":"medium","message":"hono@4.12.34 (npm) is affected by GHSA-crvj-82cr-hjcx","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"hono@4.12.34 (npm):GHSA-crvj-82cr-hjcx"},{"rule_id":"osv/GHSA-g6gw-c38x-mqfc","severity":"medium","message":"hono@4.12.34 (npm) is affected by GHSA-g6gw-c38x-mqfc","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"hono@4.12.34 (npm):GHSA-g6gw-c38x-mqfc"},{"rule_id":"osv/GHSA-gqvv-2mrq-wpjv","severity":"medium","message":"hono@4.12.34 (npm) is affected by GHSA-gqvv-2mrq-wpjv","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"hono@4.12.34 (npm):GHSA-gqvv-2mrq-wpjv"},{"rule_id":"osv/GHSA-h7mg-cq63-vhpq","severity":"medium","message":"hono@4.12.34 (npm) is affected by GHSA-h7mg-cq63-vhpq","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"hono@4.12.34 (npm):GHSA-h7mg-cq63-vhpq"},{"rule_id":"osv/GHSA-hxh3-vqpv-xpqv","severity":"medium","message":"hono@4.12.34 (npm) is affected by GHSA-hxh3-vqpv-xpqv","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"hono@4.12.34 (npm):GHSA-hxh3-vqpv-xpqv"},{"rule_id":"osv/GHSA-2vr4-cq9g-pvrc","severity":"medium","message":"ip-address@10.4.0 (npm) is affected by GHSA-2vr4-cq9g-pvrc","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"ip-address@10.4.0 (npm):GHSA-2vr4-cq9g-pvrc"},{"rule_id":"osv/GHSA-h3mg-xc3c-68pw","severity":"medium","message":"ip-address@10.4.0 (npm) is affected by GHSA-h3mg-xc3c-68pw","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"ip-address@10.4.0 (npm):GHSA-h3mg-xc3c-68pw"},{"rule_id":"osv/GHSA-j6r3-76f7-8jcv","severity":"medium","message":"ip-address@10.4.0 (npm) is affected by GHSA-j6r3-76f7-8jcv","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"ip-address@10.4.0 (npm):GHSA-j6r3-76f7-8jcv"},{"rule_id":"osv/GHSA-rpw4-54j3-4h4q","severity":"medium","message":"ip-address@10.4.0 (npm) is affected by GHSA-rpw4-54j3-4h4q","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"ip-address@10.4.0 (npm):GHSA-rpw4-54j3-4h4q"},{"rule_id":"osv/GHSA-rxp7-6hxx-x8q5","severity":"medium","message":"ip-address@10.4.0 (npm) is affected by GHSA-rxp7-6hxx-x8q5","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"ip-address@10.4.0 (npm):GHSA-rxp7-6hxx-x8q5"},{"rule_id":"osv/GHSA-4mjr-xmp4-gh2g","severity":"medium","message":"qs@6.15.3 (npm) is affected by GHSA-4mjr-xmp4-gh2g","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"qs@6.15.3 (npm):GHSA-4mjr-xmp4-gh2g"},{"rule_id":"osv/GHSA-6pq8-jhm2-2vcw","severity":"medium","message":"qs@6.15.3 (npm) is affected by GHSA-6pq8-jhm2-2vcw","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"qs@6.15.3 (npm):GHSA-6pq8-jhm2-2vcw"},{"rule_id":"osv/GHSA-x5fp-wj9c-mxmx","severity":"medium","message":"qs@6.15.3 (npm) is affected by GHSA-x5fp-wj9c-mxmx","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"qs@6.15.3 (npm):GHSA-x5fp-wj9c-mxmx"},{"rule_id":"osv/GHSA-333x-w4r6-6crp","severity":"low","message":"fast-uri@3.1.5 (npm) is affected by GHSA-333x-w4r6-6crp","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@3.1.5 (npm):GHSA-333x-w4r6-6crp"},{"rule_id":"osv/GHSA-xhq7-xmqj-769h","severity":"low","message":"fast-uri@3.1.5 (npm) is affected by GHSA-xhq7-xmqj-769h","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"fast-uri@3.1.5 (npm):GHSA-xhq7-xmqj-769h"},{"rule_id":"osv/GHSA-3gg2-335m-rxc6","severity":"low","message":"hono@4.12.34 (npm) is affected by GHSA-3gg2-335m-rxc6","path":"tools/vela-dev/channel/pnpm-lock.yaml","line":null,"fingerprint":"hono@4.12.34 (npm):GHSA-3gg2-335m-rxc6"}],"evidence":[],"data":{"ecosystems":["Go","npm"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":8.0,"findings":29.0,"findings_high":12.0,"findings_medium":11.0,"findings_low":6.0,"penalty":155.4},"findings":[{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/ci.yml","line":11,"fingerprint":"excessive-permissions:.github/workflows/ci.yml:11"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/pages.yml","line":15,"fingerprint":"excessive-permissions:.github/workflows/pages.yml:15"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/pages.yml","line":16,"fingerprint":"excessive-permissions:.github/workflows/pages.yml:16"},{"rule_id":"zizmor/dangerous-triggers","severity":"high","message":"use of fundamentally insecure workflow trigger [confidence medium]","path":".github/workflows/release-preview-trigger.yml","line":7,"fingerprint":"dangerous-triggers:.github/workflows/release-preview-trigger.yml:7"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/release-preview.yml","line":29,"fingerprint":"excessive-permissions:.github/workflows/release-preview.yml:29"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/release-preview.yml","line":30,"fingerprint":"excessive-permissions:.github/workflows/release-preview.yml:30"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/release-preview.yml","line":33,"fingerprint":"excessive-permissions:.github/workflows/release-preview.yml:33"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/release-preview.yml","line":34,"fingerprint":"excessive-permissions:.github/workflows/release-preview.yml:34"},{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/release-preview.yml","line":92,"fingerprint":"template-injection:.github/workflows/release-preview.yml:92"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/release.yml","line":19,"fingerprint":"excessive-permissions:.github/workflows/release.yml:19"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/release.yml","line":22,"fingerprint":"excessive-permissions:.github/workflows/release.yml:22"},{"rule_id":"zizmor/excessive-permissions","severity":"high","message":"overly broad permissions [confidence high]","path":".github/workflows/release.yml","line":23,"fingerprint":"excessive-permissions:.github/workflows/release.yml:23"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/_build-desktop.yml","line":33,"fingerprint":"artipacked:.github/workflows/_build-desktop.yml:33"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":20,"fingerprint":"artipacked:.github/workflows/ci.yml:20"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":88,"fingerprint":"artipacked:.github/workflows/ci.yml:88"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":110,"fingerprint":"artipacked:.github/workflows/ci.yml:110"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/copilot-setup-steps.yml","line":54,"fingerprint":"artipacked:.github/workflows/copilot-setup-steps.yml:54"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/evals-check.yml","line":18,"fingerprint":"artipacked:.github/workflows/evals-check.yml:18"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/pages.yml","line":26,"fingerprint":"artipacked:.github/workflows/pages.yml:26"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release-preview.yml","line":51,"fingerprint":"artipacked:.github/workflows/release-preview.yml:51"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release-preview.yml","line":123,"fingerprint":"artipacked:.github/workflows/release-preview.yml:123"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":39,"fingerprint":"artipacked:.github/workflows/release.yml:39"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/release.yml","line":98,"fingerprint":"artipacked:.github/workflows/release.yml:98"},{"rule_id":"zizmor/adhoc-packages","severity":"low","message":"ad-hoc installation of packages [confidence high]","path":".github/workflows/copilot-setup-steps.yml","line":92,"fingerprint":"adhoc-packages:.github/workflows/copilot-setup-steps.yml:92"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/release-preview.yml","line":165,"fingerprint":"self-repository:.github/workflows/release-preview.yml:165"},{"rule_id":"zizmor/self-repository","severity":"low","message":"use GitHub's dedicated self-repository syntax [confidence high]","path":".github/workflows/release.yml","line":153,"fingerprint":"self-repository:.github/workflows/release.yml:153"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":63,"fingerprint":"template-injection:.github/workflows/release.yml:63"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":65,"fingerprint":"template-injection:.github/workflows/release.yml:65"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/release.yml","line":68,"fingerprint":"template-injection:.github/workflows/release.yml:68"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":1.0,"check:dependency_updates":1.0,"check:signed_commits":1.0,"check:lockfiles":0.0,"signed_commit_share":0.85,"unpinned_manifests":2.0},"findings":[],"evidence":[{"kind":"posture","description":"Security policy: SECURITY.md","ref":"SECURITY.md","url":null,"weight":0.0},{"kind":"posture","description":"Security policy: docs/SECURITY.md","ref":"docs/SECURITY.md","url":null,"weight":0.0},{"kind":"posture","description":"Dependency updates: .github/dependabot.yml","ref":".github/dependabot.yml","url":null,"weight":0.0},{"kind":"posture","description":"vela-neutralino/extensions/agent/go.mod has no lockfile alongside it (unpinned dependencies)","ref":"vela-neutralino/extensions/agent/go.mod","url":null,"weight":0.3},{"kind":"posture","description":"vela-neutralino/package.json has no lockfile alongside it (unpinned dependencies)","ref":"vela-neutralino/package.json","url":null,"weight":0.3}],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":70.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v13.82 ships vela-desktop-v13.82-linux_arm64.zip (1 downloads)","ref":"vela-desktop-v13.82-linux_arm64.zip","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/vela-desktop-v13.82-linux_arm64.zip","weight":0.0},{"kind":"binary-release-asset","description":"release v13.82 ships vela-desktop-v13.82-linux_x64.zip (1 downloads)","ref":"vela-desktop-v13.82-linux_x64.zip","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/vela-desktop-v13.82-linux_x64.zip","weight":0.0},{"kind":"binary-release-asset","description":"release v13.82 ships vela-desktop-v13.82-mac_arm64.zip (1 downloads)","ref":"vela-desktop-v13.82-mac_arm64.zip","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/vela-desktop-v13.82-mac_arm64.zip","weight":0.0},{"kind":"binary-release-asset","description":"release v13.82 ships vela-desktop-v13.82-mac_universal.zip (1 downloads)","ref":"vela-desktop-v13.82-mac_universal.zip","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/vela-desktop-v13.82-mac_universal.zip","weight":0.0},{"kind":"binary-release-asset","description":"release v13.82 ships vela-desktop-v13.82-mac_x64.zip (1 downloads)","ref":"vela-desktop-v13.82-mac_x64.zip","url":"https://github.com/AgentiaPT/vela-slides/releases/download/v13.82/vela-desktop-v13.82-mac_x64.zip","weight":0.0}],"data":{"signals":["binary-release-assets"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":6862.0,"function_nloc":48103.0,"mean_ccn":3.49,"p90_ccn":7.0,"complex_functions":216.0,"long_functions":38.0,"many_param_functions":15.0,"risky_nloc_share":0.3016},"findings":[],"evidence":[{"kind":"complex-function","description":"RenderBlock in src/parts/part-blocks.jsx: complexity 333, 403 lines","ref":"src/parts/part-blocks.jsx","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/src/parts/part-blocks.jsx#L1423","weight":1.0},{"kind":"complex-function","description":"SlidePanel in src/parts/part-slidepanel.jsx: complexity 218, 446 lines","ref":"src/parts/part-slidepanel.jsx","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/src/parts/part-slidepanel.jsx#L112","weight":1.0},{"kind":"complex-function","description":"innerReducer in src/parts/part-reducer.jsx: complexity 198, 241 lines","ref":"src/parts/part-reducer.jsx","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/src/parts/part-reducer.jsx#L25","weight":1.0},{"kind":"complex-function","description":"handler in src/parts/part-slidepanel.jsx: complexity 198, 147 lines","ref":"src/parts/part-slidepanel.jsx","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/src/parts/part-slidepanel.jsx#L975","weight":1.0},{"kind":"complex-function","description":"executeTool in src/parts/part-engine.jsx: complexity 177, 153 lines","ref":"src/parts/part-engine.jsx","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/src/parts/part-engine.jsx#L207","weight":1.0},{"kind":"complex-function","description":"_turbo_decode_block in skills/vela-slides/scripts/vela.py: complexity 132, 205 lines","ref":"skills/vela-slides/scripts/vela.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/skills/vela-slides/scripts/vela.py#L708","weight":1.0},{"kind":"complex-function","description":"renderBlockItem in src/parts/part-canvas.jsx: complexity 95, 58 lines","ref":"src/parts/part-canvas.jsx","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/src/parts/part-canvas.jsx#L857","weight":1.0},{"kind":"complex-function","description":"SlideContent in src/parts/part-canvas.jsx: complexity 92, 134 lines","ref":"src/parts/part-canvas.jsx","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/src/parts/part-canvas.jsx#L176","weight":1.0},{"kind":"complex-function","description":"buildVectorPdf in src/parts/part-pdf-vector.jsx: complexity 90, 368 lines","ref":"src/parts/part-pdf-vector.jsx","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/src/parts/part-pdf-vector.jsx#L460","weight":1.0},{"kind":"complex-function","description":"blockToMd in src/parts/part-export-md.jsx: complexity 84, 133 lines","ref":"src/parts/part-export-md.jsx","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/src/parts/part-export-md.jsx#L90","weight":1.0}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":53850.0,"duplicated_lines":5948.0,"duplicated_share":0.1105,"files":124.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: .hyper-sprint/render-offline.js:31 and tools/vela-dev/scripts/render-offline.js:25","ref":".hyper-sprint/render-offline.js","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/.hyper-sprint/render-offline.js#L31","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: archive/pptx-spike/pptx-emitter.mjs:184 and src/parts/part-pptx.jsx:505","ref":"archive/pptx-spike/pptx-emitter.mjs","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/archive/pptx-spike/pptx-emitter.mjs#L184","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: evals/run-isolated.sh:86 and evals/run-isolated.sh:100","ref":"evals/run-isolated.sh","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/run-isolated.sh#L86","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: evals/run.sh:171 and evals/run.sh:275","ref":"evals/run.sh","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/run.sh#L171","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: evals/scripts/baseline.py:27 and evals/scripts/report.py:40","ref":"evals/scripts/baseline.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/scripts/baseline.py#L27","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: evals/scripts/baseline.py:29 and evals/scripts/gate.py:41","ref":"evals/scripts/baseline.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/scripts/baseline.py#L29","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: evals/scripts/judge.py:35 and evals/scripts/quality.py:17","ref":"evals/scripts/judge.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/scripts/judge.py#L35","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: evals/scripts/judge.py:176 and evals/scripts/judge.py:252","ref":"evals/scripts/judge.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/scripts/judge.py#L176","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: evals/scripts/preview.py:133 and site/build.py:45","ref":"evals/scripts/preview.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/scripts/preview.py#L133","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: evals/skills/v12.3/scripts/assemble.py:31 and skills/vela-slides/scripts/assemble.py:94","ref":"evals/skills/v12.3/scripts/assemble.py","url":"https://github.com/AgentiaPT/vela-slides/blob/5fd55089988179a59b67d29c9abfe76c4d45ef8b/evals/skills/v12.3/scripts/assemble.py#L31","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":224.0,"weighted_findings":159.0,"scanned_lines":63652.0,"category:best-practice":80.0,"category:correctness":138.0,"category:maintainability":6.0},"findings":[{"rule_id":"opengrep/python.lang.best-practice.open-never-closed","severity":"high","message":"file object opened without corresponding close","path":".claude/skills/hyper-sprint/assets/sprint-cost.py","line":144,"fingerprint":"python.lang.best-practice.open-never-closed:.claude/skills/hyper-sprint/assets/sprint-cost.py:144"},{"rule_id":"opengrep/python.lang.maintainability.useless-inner-function","severity":"high","message":"function `_clean` is defined inside a function but never used","path":"evals/skills/v12.3/scripts/vela.py","line":591,"fingerprint":"python.lang.maintainability.useless-inner-function:evals/skills/v12.3/scripts/vela.py:591"},{"rule_id":"opengrep/python.lang.maintainability.useless-inner-function","severity":"high","message":"function `_clean` is defined inside a function but never used","path":"skills/vela-slides/scripts/vela.py","line":716,"fingerprint":"python.lang.maintainability.useless-inner-function:skills/vela-slides/scripts/vela.py:716"},{"rule_id":"opengrep/python.lang.best-practice.arbitrary-sleep","severity":"high","message":"time.sleep() call; did you mean to leave this in?","path":"tools/vela-dev/scripts/serve.py","line":1351,"fingerprint":"python.lang.best-practice.arbitrary-sleep:tools/vela-dev/scripts/serve.py:1351"},{"rule_id":"opengrep/python.lang.best-practice.arbitrary-sleep","severity":"high","message":"time.sleep() call; did you mean to leave this in?","path":"tools/vela-dev/scripts/serve.py","line":1489,"fingerprint":"python.lang.best-practice.arbitrary-sleep:tools/vela-dev/scripts/serve.py:1489"},{"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":".claude/skills/copilot-session-cost/scripts/session-cost-report.py","line":456,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:.claude/skills/copilot-session-cost/scripts/session-cost-report.py:456"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":".claude/skills/hyper-sprint/assets/mk-burndown.py","line":24,"fingerprint":"python.lang.maintainability.return-not-in-function:.claude/skills/hyper-sprint/assets/mk-burndown.py:24"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":".claude/skills/hyper-sprint/assets/mk-burndown.py","line":25,"fingerprint":"python.lang.maintainability.return-not-in-function:.claude/skills/hyper-sprint/assets/mk-burndown.py:25"},{"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":".claude/skills/hyper-sprint/assets/mk-burndown.py","line":31,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:.claude/skills/hyper-sprint/assets/mk-burndown.py:31"},{"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":".claude/skills/hyper-sprint/assets/sprint-cost.py","line":144,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:.claude/skills/hyper-sprint/assets/sprint-cost.py:144"},{"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":".claude/skills/hyper-sprint/assets/sprint-cost.py","line":241,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:.claude/skills/hyper-sprint/assets/sprint-cost.py:241"},{"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":".claude/skills/hyper-sprint/assets/sprint-cost.py","line":256,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:.claude/skills/hyper-sprint/assets/sprint-cost.py:256"},{"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":".claude/skills/hyper-sprint/assets/sprint-cost.py","line":436,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:.claude/skills/hyper-sprint/assets/sprint-cost.py:436"},{"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":".claude/skills/hyper-sprint/assets/sprint-stats.py","line":67,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:.claude/skills/hyper-sprint/assets/sprint-stats.py:67"},{"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":".claude/skills/hyper-sprint/assets/sprint-stats.py","line":122,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:.claude/skills/hyper-sprint/assets/sprint-stats.py:122"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":".claude/skills/vela-browser-test/scripts/browser-probe.cjs","line":71,"fingerprint":"javascript.lang.best-practice.lazy-load-module:.claude/skills/vela-browser-test/scripts/browser-probe.cjs:71"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":".claude/skills/vela-browser-test/scripts/browser-probe.cjs","line":72,"fingerprint":"javascript.lang.best-practice.lazy-load-module:.claude/skills/vela-browser-test/scripts/browser-probe.cjs:72"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":".hyper-sprint/completed/2026-07-06-envoy/calibration/calib-drive.cjs","line":20,"fingerprint":"javascript.lang.best-practice.lazy-load-module:.hyper-sprint/completed/2026-07-06-envoy/calibration/calib-drive.cjs:20"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":".hyper-sprint/completed/2026-07-06-envoy/calibration/src-canvas.cjs","line":8,"fingerprint":"javascript.lang.best-practice.lazy-load-module:.hyper-sprint/completed/2026-07-06-envoy/calibration/src-canvas.cjs:8"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":".hyper-sprint/render-offline.js","line":47,"fingerprint":"javascript.lang.best-practice.lazy-load-module:.hyper-sprint/render-offline.js:47"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":".hyper-sprint/render-offline.js","line":53,"fingerprint":"javascript.lang.best-practice.lazy-load-module:.hyper-sprint/render-offline.js:53"},{"rule_id":"opengrep/python.lang.best-practice.hardcoded-tmp-path","severity":"medium","message":"Detected hardcoded temp directory. Consider using 'tempfile.TemporaryFile' instead.","path":"evals/scripts/snapshot.py","line":40,"fingerprint":"python.lang.best-practice.hardcoded-tmp-path:evals/scripts/snapshot.py:40"},{"rule_id":"opengrep/python.lang.best-practice.hardcoded-tmp-path","severity":"medium","message":"Detected hardcoded temp directory. Consider using 'tempfile.TemporaryFile' instead.","path":"evals/scripts/snapshot.py","line":48,"fingerprint":"python.lang.best-practice.hardcoded-tmp-path:evals/scripts/snapshot.py:48"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"evals/scripts/snapshot.sh","line":20,"fingerprint":"bash.lang.best-practice.useless-cat:evals/scripts/snapshot.sh:20"},{"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":"evals/skills/v12.3/scripts/assemble.py","line":64,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/assemble.py:64"},{"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":"evals/skills/v12.3/scripts/assemble.py","line":75,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/assemble.py:75"},{"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":"evals/skills/v12.3/scripts/assemble.py","line":105,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/assemble.py:105"},{"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":"evals/skills/v12.3/scripts/assemble.py","line":127,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/assemble.py:127"},{"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":"evals/skills/v12.3/scripts/concat.py","line":50,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/concat.py:50"},{"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":"evals/skills/v12.3/scripts/concat.py","line":60,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/concat.py:60"},{"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":"evals/skills/v12.3/scripts/serve.py","line":518,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/serve.py:518"},{"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":"evals/skills/v12.3/scripts/serve.py","line":624,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/serve.py:624"},{"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":"evals/skills/v12.3/scripts/serve.py","line":671,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/serve.py:671"},{"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":"evals/skills/v12.3/scripts/serve.py","line":939,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/serve.py:939"},{"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":"evals/skills/v12.3/scripts/serve.py","line":975,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/serve.py:975"},{"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":"evals/skills/v12.3/scripts/serve.py","line":977,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/serve.py:977"},{"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":"evals/skills/v12.3/scripts/serve.py","line":1016,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/serve.py:1016"},{"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":"evals/skills/v12.3/scripts/serve.py","line":1078,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/serve.py:1078"},{"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":"evals/skills/v12.3/scripts/serve.py","line":1082,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/serve.py:1082"},{"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":"evals/skills/v12.3/scripts/serve.py","line":1096,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/serve.py:1096"},{"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":"evals/skills/v12.3/scripts/serve.py","line":1140,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/serve.py:1140"},{"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":"evals/skills/v12.3/scripts/validate.py","line":22,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/validate.py:22"},{"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":"evals/skills/v12.3/scripts/validate.py","line":33,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/validate.py:33"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"evals/skills/v12.3/scripts/validate.py","line":145,"fingerprint":"python.lang.maintainability.return-not-in-function:evals/skills/v12.3/scripts/validate.py:145"},{"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":"evals/skills/v12.3/scripts/vela.py","line":105,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/vela.py:105"},{"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":"evals/skills/v12.3/scripts/vela.py","line":112,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/vela.py:112"},{"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":"evals/skills/v12.3/scripts/vela.py","line":986,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/vela.py:986"},{"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":"evals/skills/v12.3/scripts/vela.py","line":1000,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/vela.py:1000"},{"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":"evals/skills/v12.3/scripts/vela.py","line":1257,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/vela.py:1257"},{"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":"evals/skills/v12.3/scripts/vela.py","line":1302,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/vela.py:1302"},{"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":"evals/skills/v12.3/scripts/vela.py","line":1536,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/vela.py:1536"},{"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":"evals/skills/v12.3/scripts/vela.py","line":2025,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/vela.py:2025"},{"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":"evals/skills/v12.3/scripts/vela.py","line":2046,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/vela.py:2046"},{"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":"evals/skills/v12.3/scripts/vela.py","line":2284,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/vela.py:2284"},{"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":"evals/skills/v12.3/scripts/vela.py","line":2303,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/vela.py:2303"},{"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":"evals/skills/v12.3/scripts/vela.py","line":2325,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:evals/skills/v12.3/scripts/vela.py:2325"},{"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":"site/build.py","line":69,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:site/build.py:69"},{"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":"site/build.py","line":79,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:site/build.py:79"},{"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":"site/build.py","line":731,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:site/build.py:731"},{"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":"site/build.py","line":737,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:site/build.py:737"},{"rule_id":"opengrep/python.lang.maintainability.return-not-in-function","severity":"medium","message":"`return` only makes sense inside a function","path":"skills/vela-slides/scripts/validate.py","line":334,"fingerprint":"python.lang.maintainability.return-not-in-function:skills/vela-slides/scripts/validate.py:334"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-confirm","severity":"medium","message":"found confirm() call; should this be in production code?","path":"src/parts/part-app-modals.jsx","line":1006,"fingerprint":"javascript.lang.best-practice.javascript-confirm:src/parts/part-app-modals.jsx:1006"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-app-modals.jsx","line":1136,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-app-modals.jsx:1136"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-app.jsx","line":289,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-app.jsx:289"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-app.jsx","line":313,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-app.jsx:313"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-app.jsx","line":314,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-app.jsx:314"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-app.jsx","line":319,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-app.jsx:319"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-app.jsx","line":319,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-app.jsx:319"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-app.jsx","line":320,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-app.jsx:320"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-app.jsx","line":320,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-app.jsx:320"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-app.jsx","line":320,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-app.jsx:320"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-app.jsx","line":325,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-app.jsx:325"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-alert","severity":"medium","message":"found alert() call; should this be in production code?","path":"src/parts/part-app.jsx","line":1393,"fingerprint":"javascript.lang.best-practice.javascript-alert:src/parts/part-app.jsx:1393"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-in-state","severity":"medium","message":"Copying a prop into state in React -- this is bad practice as all updates to it are ignored. Instead, read props directly in your component and avoid copying props into state.","path":"src/parts/part-blocks.jsx","line":413,"fingerprint":"typescript.react.best-practice.react-props-in-state:src/parts/part-blocks.jsx:413"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-in-state","severity":"medium","message":"Copying a prop into state in React -- this is bad practice as all updates to it are ignored. Instead, read props directly in your component and avoid copying props into state.","path":"src/parts/part-blocks.jsx","line":415,"fingerprint":"typescript.react.best-practice.react-props-in-state:src/parts/part-blocks.jsx:415"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"src/parts/part-blocks.jsx","line":546,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/parts/part-blocks.jsx:546"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"src/parts/part-blocks.jsx","line":573,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/parts/part-blocks.jsx:573"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"src/parts/part-blocks.jsx","line":876,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/parts/part-blocks.jsx:876"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-in-state","severity":"medium","message":"Copying a prop into state in React -- this is bad practice as all updates to it are ignored. Instead, read props directly in your component and avoid copying props into state.","path":"src/parts/part-blocks.jsx","line":1404,"fingerprint":"typescript.react.best-practice.react-props-in-state:src/parts/part-blocks.jsx:1404"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-in-state","severity":"medium","message":"Copying a prop into state in React -- this is bad practice as all updates to it are ignored. Instead, read props directly in your component and avoid copying props into state.","path":"src/parts/part-chat.jsx","line":337,"fingerprint":"typescript.react.best-practice.react-props-in-state:src/parts/part-chat.jsx:337"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-engine.jsx","line":476,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-engine.jsx:476"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-engine.jsx","line":476,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-engine.jsx:476"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-engine.jsx","line":722,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-engine.jsx:722"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-engine.jsx","line":723,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-engine.jsx:723"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-engine.jsx","line":723,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-engine.jsx:723"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-engine.jsx","line":865,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-engine.jsx:865"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-engine.jsx","line":868,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-engine.jsx:868"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-engine.jsx","line":869,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-engine.jsx:869"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-engine.jsx","line":886,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-engine.jsx:886"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-engine.jsx","line":1262,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-engine.jsx:1262"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-engine.jsx","line":1345,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-engine.jsx:1345"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"src/parts/part-icons.jsx","line":173,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/parts/part-icons.jsx:173"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"src/parts/part-icons.jsx","line":183,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/parts/part-icons.jsx:183"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"src/parts/part-icons.jsx","line":185,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/parts/part-icons.jsx:185"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-imports.jsx","line":113,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-imports.jsx:113"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-in-state","severity":"medium","message":"Copying a prop into state in React -- this is bad practice as all updates to it are ignored. Instead, read props directly in your component and avoid copying props into state.","path":"src/parts/part-list.jsx","line":89,"fingerprint":"typescript.react.best-practice.react-props-in-state:src/parts/part-list.jsx:89"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-in-state","severity":"medium","message":"Copying a prop into state in React -- this is bad practice as all updates to it are ignored. Instead, read props directly in your component and avoid copying props into state.","path":"src/parts/part-list.jsx","line":591,"fingerprint":"typescript.react.best-practice.react-props-in-state:src/parts/part-list.jsx:591"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-reducer.jsx","line":172,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-reducer.jsx:172"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-slidepanel.jsx","line":1443,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-slidepanel.jsx:1443"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-slidepanel.jsx","line":1477,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-slidepanel.jsx:1477"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"src/parts/part-slides.jsx","line":225,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/parts/part-slides.jsx:225"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-in-state","severity":"medium","message":"Copying a prop into state in React -- this is bad practice as all updates to it are ignored. Instead, read props directly in your component and avoid copying props into state.","path":"src/parts/part-slides.jsx","line":245,"fingerprint":"typescript.react.best-practice.react-props-in-state:src/parts/part-slides.jsx:245"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"src/parts/part-slides.jsx","line":1130,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/parts/part-slides.jsx:1130"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-uitest2.jsx","line":2041,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-uitest2.jsx:2041"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-uitest2.jsx","line":2041,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-uitest2.jsx:2041"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-uitest2.jsx","line":3573,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-uitest2.jsx:3573"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-uitest2.jsx","line":3574,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-uitest2.jsx:3574"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-uitest2.jsx","line":3575,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-uitest2.jsx:3575"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-uitest2.jsx","line":4319,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-uitest2.jsx:4319"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-uitest2.jsx","line":6586,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-uitest2.jsx:6586"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-uitest2.jsx","line":6587,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-uitest2.jsx:6587"},{"rule_id":"opengrep/javascript.lang.correctness.no-stringify-keys","severity":"medium","message":"JSON stringify does not produce a stable key ordering, and should not be relied on for producing object keys. Consider using json-stable-stringify instead.","path":"src/parts/part-uitest2.jsx","line":6590,"fingerprint":"javascript.lang.correctness.no-stringify-keys:src/parts/part-uitest2.jsx:6590"},{"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":"tools/vela-dev/scripts/lint.py","line":664,"fingerprint":"python.lang.correctness.common-mistakes.string-concat-in-list:tools/vela-dev/scripts/lint.py:664"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":"tools/vela-dev/scripts/render-offline.js","line":41,"fingerprint":"javascript.lang.best-practice.lazy-load-module:tools/vela-dev/scripts/render-offline.js:41"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":"tools/vela-dev/scripts/render-offline.js","line":46,"fingerprint":"javascript.lang.best-practice.lazy-load-module:tools/vela-dev/scripts/render-offline.js:46"},{"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":"tools/vela-dev/scripts/serve.py","line":1432,"fingerprint":"python.lang.best-practice.unspecified-open-encoding:tools/vela-dev/scripts/serve.py:1432"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":"tools/vela-dev/scripts/vela-drive.js","line":28,"fingerprint":"javascript.lang.best-practice.lazy-load-module:tools/vela-dev/scripts/vela-drive.js:28"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":"tools/vela-dev/scripts/vela-drive.js","line":140,"fingerprint":"javascript.lang.best-practice.lazy-load-module:tools/vela-dev/scripts/vela-drive.js:140"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":"tools/vela-dev/scripts/vela-drive.js","line":221,"fingerprint":"javascript.lang.best-practice.lazy-load-module:tools/vela-dev/scripts/vela-drive.js:221"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":"tools/vela-dev/scripts/vela-drive.js","line":226,"fingerprint":"javascript.lang.best-practice.lazy-load-module:tools/vela-dev/scripts/vela-drive.js:226"},{"rule_id":"opengrep/javascript.lang.best-practice.lazy-load-module","severity":"medium","message":"Lazy loading can complicate code bundling if care is not taken, also `require`s are run synchronously by Node.js. If they are called from within a function, it may block other requests from being handled at a more critical time. The best practice is to `require` modules at the beginning of each file","path":"tools/vela-dev/scripts/vela-drive.js","line":310,"fingerprint":"javascript.lang.best-practice.lazy-load-module:tools/vela-dev/scripts/vela-drive.js:310"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"vela-neutralino/extensions/agent/main.go","line":543,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:vela-neutralino/extensions/agent/main.go:543"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"vela-neutralino/extensions/agent/main.go","line":626,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:vela-neutralino/extensions/agent/main.go:626"},{"rule_id":"opengrep/javascript.lang.best-practice.javascript-alert","severity":"medium","message":"found alert() call; should this be in production code?","path":"vela-neutralino/resources/js/nl-boot.js","line":45,"fingerprint":"javascript.lang.best-practice.javascript-alert:vela-neutralino/resources/js/nl-boot.js:45"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":81,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:81"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":81,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:81"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":99,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:99"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":99,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:99"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":141,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:141"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":141,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:141"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":177,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:177"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":177,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:177"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":192,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:192"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":192,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:192"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":199,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:199"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":199,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:199"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":214,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:214"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":214,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:214"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":250,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:250"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":250,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:250"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":263,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:263"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":263,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:263"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":287,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:287"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs","line":287,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/burst-bug-hunter/assets/test-timeout-isolation.mjs:287"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs","line":77,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs:77"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs","line":77,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.claude/skills/vela-browser-test/scripts/sanitizer-harness.cjs:77"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".hyper-sprint/render-offline.js","line":93,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.hyper-sprint/render-offline.js:93"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":".hyper-sprint/render-offline.js","line":93,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:.hyper-sprint/render-offline.js:93"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"archive/pptx-spike/build-single-slide.cjs","line":38,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:archive/pptx-spike/build-single-slide.cjs:38"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"archive/pptx-spike/build-single-slide.cjs","line":49,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:archive/pptx-spike/build-single-slide.cjs:49"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"archive/pptx-spike/build-single-slide.cjs","line":49,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:archive/pptx-spike/build-single-slide.cjs:49"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"archive/pptx-spike/pptx-emitter.mjs","line":139,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:archive/pptx-spike/pptx-emitter.mjs:139"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"archive/pptx-spike/pptx-emitter.mjs","line":139,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:archive/pptx-spike/pptx-emitter.mjs:139"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"bench/vela-interaction-bench.sh","line":41,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:bench/vela-interaction-bench.sh:41"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"bench/vela-interaction-bench.sh","line":47,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:bench/vela-interaction-bench.sh:47"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"evals/run-isolated.sh","line":322,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:evals/run-isolated.sh:322"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"evals/run-isolated.sh","line":501,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:evals/run-isolated.sh:501"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"evals/scripts/snapshot.sh","line":17,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:evals/scripts/snapshot.sh:17"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-app-modals.jsx","line":331,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-app-modals.jsx:331"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-app-modals.jsx","line":331,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-app-modals.jsx:331"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-app.jsx","line":963,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-app.jsx:963"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-app.jsx","line":963,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-app.jsx:963"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-app.jsx","line":963,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-app.jsx:963"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-app.jsx","line":963,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-app.jsx:963"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-app.jsx","line":963,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-app.jsx:963"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-app.jsx","line":963,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-app.jsx:963"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-app.jsx","line":963,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-app.jsx:963"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-app.jsx","line":963,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-app.jsx:963"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-app.jsx","line":963,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-app.jsx:963"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-app.jsx","line":963,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-app.jsx:963"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-app.jsx","line":963,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-app.jsx:963"},{"rule_id":"opengrep/javascript.lang.correctness.eqeq-is-bad","severity":"low","message":"Detected a useless comparison operation `timer == timer` or `timer != timer`. This operation is always true. If testing for floating point NaN, use `math.isnan`, or `cmath.isnan` if the number is complex.","path":"src/parts/part-demo.jsx","line":328,"fingerprint":"javascript.lang.correctness.eqeq-is-bad:src/parts/part-demo.jsx:328"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-engine.jsx","line":481,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-engine.jsx:481"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-engine.jsx","line":481,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-engine.jsx:481"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-engine.jsx","line":493,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-engine.jsx:493"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-engine.jsx","line":846,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-engine.jsx:846"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-engine.jsx","line":1263,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-engine.jsx:1263"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-engine.jsx","line":1263,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-engine.jsx:1263"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-export-md.jsx","line":268,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-export-md.jsx:268"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-export-md.jsx","line":268,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-export-md.jsx:268"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-export-md.jsx","line":478,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-export-md.jsx:478"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-export-md.jsx","line":478,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-export-md.jsx:478"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":623,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:623"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":623,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:623"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":624,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:624"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":624,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:624"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":2801,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:2801"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":2801,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:2801"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":2807,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:2807"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":2808,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:2808"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":2809,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:2809"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":2813,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:2813"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":2814,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:2814"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":2868,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:2868"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":2914,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:2914"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":2914,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:2914"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":2944,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:2944"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-imports.jsx","line":2944,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-imports.jsx:2944"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-pdf-vector.jsx","line":879,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-pdf-vector.jsx:879"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/parts/part-pdf-vector.jsx","line":879,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/parts/part-pdf-vector.jsx:879"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.7022,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":0.0,"check:tests_cochange":1.0,"test_lines":22349.0,"source_lines":63652.0,"test_ratio":0.3511,"ci_files":8.0,"cochange_share":0.5285,"cochange_commits":193.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/_build-desktop.yml","ref":".github/workflows/_build-desktop.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/ci.yml","ref":".github/workflows/ci.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/copilot-setup-steps.yml","ref":".github/workflows/copilot-setup-steps.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/evals-check.yml","ref":".github/workflows/evals-check.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/pages.yml","ref":".github/workflows/pages.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/release-preview-trigger.yml","ref":".github/workflows/release-preview-trigger.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/release-preview.yml","ref":".github/workflows/release-preview.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/release.yml","ref":".github/workflows/release.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (go test, unittest)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["go test","unittest"],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":1.0,"check:changelog":0.0,"readme_lines":208.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},{"kind":"docs","description":"CONTRIBUTING.md","ref":"CONTRIBUTING.md","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":1.0,"escapes":9.0,"escapes_per_kloc":0.43},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"x-blame","pillar":"ai_provenance","status":"ok","tool_version":"git-blame","metrics":{"ai_lines":62547.0,"other_lines":1105.0,"files_blamed":124.0,"blame_failures":0.0,"quality:ai_findings":193.0,"quality:ai_per_kloc":3.086,"quality:other_findings":7.0,"quality:other_per_kloc":6.335,"quality:ratio":0.49,"security:ai_findings":226.0,"security:ai_per_kloc":3.613,"security:other_findings":16.0,"security:other_per_kloc":14.48,"security:ratio":0.25},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":true},"error":null}],"flags":[]}