{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T14:52:03.846343Z","repo":{"ref":{"host":"github.com","owner":"deepak-highbeam","name":"gap-map"},"default_branch":"main","clone_url":"https://github.com/deepak-highbeam/gap-map.git","html_url":"https://github.com/deepak-highbeam/gap-map","description":"Track human vs AI code authorship","stars":0,"forks":0,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":331,"primary_language":"Go","license_spdx":null,"created_at":"2026-02-12T23:43:36Z","pushed_at":"2026-02-15T01:23:18Z","security_policy_url":null,"distribution":{"owner_created_at":"2026-01-13T16:19:10Z","owner_type":"User","release_assets":[]}},"commit_sha":"fb916d7146c59727213dbf858586137b2a20984f","profile":{"lines_by_language":{"Go":13140},"files_by_category":{"source":34,"test":17,"config":2,"docs":1,"other":1,"generated":1},"source_lines":6904,"test_lines":6236},"pillars":{"ai_provenance":{"score":97.8,"confidence":0.83,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.9782,"suspected_share":0.0,"estimated_share":0.9782,"ai_artifacts":0.0,"flagged_work_units":5.0,"flagged_releases":null,"style_index":2.028},"summary":"Explicit AI attribution on 98% of first-party code added; an estimated 98% including velocity signals."},"quality":{"score":62.3,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":54.5,"duplication":72.4,"lint":89.7,"testing":55.0,"docs":40.0,"type_safety":null,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.90, no CI test run detected; 20% of function code in complex or long functions; 5% duplicated lines. Weakest area: docs."},"security":{"score":73.2,"confidence":0.85,"coverage":1.0,"label":"adequate","breakdown":{"secrets":100.0,"sast":96.3,"dependencies":53.1,"ci_actions":null,"posture":0.0,"scorecard":null},"summary":"Security posture is adequate: 45 known vulnerabilities in 6 dependencies; 1 high-severity SAST findings. Weakest area: posture."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no registry dependencies declared"},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":53.0,"attributed_commits":43.0,"attributed_commit_share":0.8113207547169812,"effective_loc":13876.0,"attributed_loc":13574.0,"attributed_loc_share":0.9782358028250216,"tools_detected":1.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 43 attributed commits, 13,574 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"65c236002b6820f46980d704f18de3887476464a","url":"https://github.com/deepak-highbeam/gap-map/commit/65c236002b6820f46980d704f18de3887476464a","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"8d885e5645f145785a491a5a81f9f47aec5c8337","url":"https://github.com/deepak-highbeam/gap-map/commit/8d885e5645f145785a491a5a81f9f47aec5c8337","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"abf2522faba32e9e7f5533ed7a100eb9ac468ca0","url":"https://github.com/deepak-highbeam/gap-map/commit/abf2522faba32e9e7f5533ed7a100eb9ac468ca0","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"eae9a3400bc870bfb2976e29070c37e5a52fed89","url":"https://github.com/deepak-highbeam/gap-map/commit/eae9a3400bc870bfb2976e29070c37e5a52fed89","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"1d16f536a3ef6ff0d167ed92531b541cc2577a7c","url":"https://github.com/deepak-highbeam/gap-map/commit/1d16f536a3ef6ff0d167ed92531b541cc2577a7c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"914ce7f99827ccd6e4b00597a2d6ea15daf6837a","url":"https://github.com/deepak-highbeam/gap-map/commit/914ce7f99827ccd6e4b00597a2d6ea15daf6837a","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"4d8194d75b4ccd4a80b5b986a9ba93bb1a61562e","url":"https://github.com/deepak-highbeam/gap-map/commit/4d8194d75b4ccd4a80b5b986a9ba93bb1a61562e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"4ddfd012ad946fbdbf882416746ff1d01eccce45","url":"https://github.com/deepak-highbeam/gap-map/commit/4ddfd012ad946fbdbf882416746ff1d01eccce45","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"7b92327d71824ee2af16c3a7301839f5166f81e2","url":"https://github.com/deepak-highbeam/gap-map/commit/7b92327d71824ee2af16c3a7301839f5166f81e2","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"aa9b6b422c226c749afa945e5e75ef8fd8d6b5bf","url":"https://github.com/deepak-highbeam/gap-map/commit/aa9b6b422c226c749afa945e5e75ef8fd8d6b5bf","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"86ab9564bc5be09546647e394cb840cdd32fb9cd","url":"https://github.com/deepak-highbeam/gap-map/commit/86ab9564bc5be09546647e394cb840cdd32fb9cd","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"0bd53b21d968e737f04b6ffb8c3165a38aa19136","url":"https://github.com/deepak-highbeam/gap-map/commit/0bd53b21d968e737f04b6ffb8c3165a38aa19136","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"f992ad9f9862c65f23b193a5eaf7418886ec7c67","url":"https://github.com/deepak-highbeam/gap-map/commit/f992ad9f9862c65f23b193a5eaf7418886ec7c67","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"a2df62ec71866e910c4b3191f738c54ccea83fb6","url":"https://github.com/deepak-highbeam/gap-map/commit/a2df62ec71866e910c4b3191f738c54ccea83fb6","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"9346124a81fa6a1ea1a5792d3179e33e31b3fc90","url":"https://github.com/deepak-highbeam/gap-map/commit/9346124a81fa6a1ea1a5792d3179e33e31b3fc90","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"3f1ea356dd25bf34259ec60ce058cb3d2368224d","url":"https://github.com/deepak-highbeam/gap-map/commit/3f1ea356dd25bf34259ec60ce058cb3d2368224d","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"7702aef99c3ae3563bf22fafe419bcd890cfc7f4","url":"https://github.com/deepak-highbeam/gap-map/commit/7702aef99c3ae3563bf22fafe419bcd890cfc7f4","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"3889884b1d6a856a55faef91505fc7a88f56d601","url":"https://github.com/deepak-highbeam/gap-map/commit/3889884b1d6a856a55faef91505fc7a88f56d601","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"46f34b1f96b1c96e2d1bdf479360aca490f34040","url":"https://github.com/deepak-highbeam/gap-map/commit/46f34b1f96b1c96e2d1bdf479360aca490f34040","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"5f74fc1078edb418e2c192cc682cec2448c6d016","url":"https://github.com/deepak-highbeam/gap-map/commit/5f74fc1078edb418e2c192cc682cec2448c6d016","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"9978078a9a559e976ef0c061418251e1542b9012","url":"https://github.com/deepak-highbeam/gap-map/commit/9978078a9a559e976ef0c061418251e1542b9012","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"4cdbeeef9e0f45f9926185eb0b52e2315eb2e922","url":"https://github.com/deepak-highbeam/gap-map/commit/4cdbeeef9e0f45f9926185eb0b52e2315eb2e922","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"cf98aa0e89253a190c31bf67bef86c9ccdb86751","url":"https://github.com/deepak-highbeam/gap-map/commit/cf98aa0e89253a190c31bf67bef86c9ccdb86751","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"67101a33c836156da688e190658c93dbf0ab5ccc","url":"https://github.com/deepak-highbeam/gap-map/commit/67101a33c836156da688e190658c93dbf0ab5ccc","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"38841126d5c110904830fde34bbbb5af71ea5941","url":"https://github.com/deepak-highbeam/gap-map/commit/38841126d5c110904830fde34bbbb5af71ea5941","weight":0.9}],"data":{"attributed_loc_by_commit":{"9134126cbff4d77be53bee909c6ab66c93ce9355":0,"ecca582eb7b06c113c495dc84fe619ad853a7bd6":0,"6e86e032e853ed7e62c9a8181082fd07efb2a31b":0,"68d5dd7245beabfd53755549a7d2ed6651556295":0,"5eb2b1cfd7654fd1867ad171d0285c3e6468f3a8":0,"3755d4d5abbfeace9ed4845d5b05c65c2074114c":0,"8a3ee68e8394816b122c0551125150c2ae475b29":995,"fe3899bd26c287a636ff44d2b9b8a21b78e5fc2c":23,"21301cf7f7ba572a83e81876bbf1668b80081ac2":0,"042af80c92b24686570bf36dcba1b77a388a8583":360,"2a5dab82b617010f2fb84e241c4aee0cd3b1b3d0":283,"babd291b945cb6410f22bf6e46dc30d34d791662":993,"46dd4101277196dfc753a996ff542743c6802f1f":0,"2f2a39c3a4f1c8020ff23f972f07226073ed4abe":775,"e7aad7a025f88a6c0f1ecb479f7682ad14844240":0,"5e9d666024bdec578463c64fb4229df357b83c68":0,"5834ea2e8d29200ab2e37c04a5345b11a91e0dea":141,"c08be5f69c17ee0a5f565cfbf87fb8043942e2f0":0,"38841126d5c110904830fde34bbbb5af71ea5941":643,"67101a33c836156da688e190658c93dbf0ab5ccc":687,"cf98aa0e89253a190c31bf67bef86c9ccdb86751":0,"4cdbeeef9e0f45f9926185eb0b52e2315eb2e922":537,"9978078a9a559e976ef0c061418251e1542b9012":832,"5f74fc1078edb418e2c192cc682cec2448c6d016":0,"46f34b1f96b1c96e2d1bdf479360aca490f34040":754,"3889884b1d6a856a55faef91505fc7a88f56d601":73,"7702aef99c3ae3563bf22fafe419bcd890cfc7f4":0,"3f1ea356dd25bf34259ec60ce058cb3d2368224d":1139,"9346124a81fa6a1ea1a5792d3179e33e31b3fc90":209,"a2df62ec71866e910c4b3191f738c54ccea83fb6":0,"f992ad9f9862c65f23b193a5eaf7418886ec7c67":0,"0bd53b21d968e737f04b6ffb8c3165a38aa19136":0,"86ab9564bc5be09546647e394cb840cdd32fb9cd":0,"aa9b6b422c226c749afa945e5e75ef8fd8d6b5bf":122,"7b92327d71824ee2af16c3a7301839f5166f81e2":258,"4ddfd012ad946fbdbf882416746ff1d01eccce45":0,"4d8194d75b4ccd4a80b5b986a9ba93bb1a61562e":0,"914ce7f99827ccd6e4b00597a2d6ea15daf6837a":189,"1d16f536a3ef6ff0d167ed92531b541cc2577a7c":1736,"eae9a3400bc870bfb2976e29070c37e5a52fed89":553,"abf2522faba32e9e7f5533ed7a100eb9ac468ca0":50,"8d885e5645f145785a491a5a81f9f47aec5c8337":2222,"65c236002b6820f46980d704f18de3887476464a":0},"tools":{"claude-code":{"name":"Claude Code","commits":43,"loc":13574,"first_seen":1770659813,"last_seen":1770999596}},"monthly":{"2026-02":{"loc":13876,"attributed_loc":13574}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":0.0,"workflow_agents":0.0,"tools_configured":0.0},"findings":[],"evidence":[],"data":{"artifacts":[],"workflows":[],"tools":[]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":8.0,"flagged_units":5.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":13876.0,"flagged_loc":12782.0,"flagged_loc_share":0.9211588353992505,"max_loc_per_hour":2213.3029612756263,"median_loc_per_hour":547.739432898908,"pr_timed_units":0.0,"excluded_import_loc":0.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"2,699 lines of first-party code in ~1.2h (2,213 lines/hour, 4 commit session)","ref":"9978078a9a559e976ef0c061418251e1542b9012","url":"https://github.com/deepak-highbeam/gap-map/commit/9978078a9a559e976ef0c061418251e1542b9012","weight":0.6},{"kind":"velocity-burst","description":"3,570 lines of first-party code in ~4.5h (790 lines/hour, 7 commit session)","ref":"5834ea2e8d29200ab2e37c04a5345b11a91e0dea","url":"https://github.com/deepak-highbeam/gap-map/commit/5834ea2e8d29200ab2e37c04a5345b11a91e0dea","weight":0.2368886704349963},{"kind":"velocity-burst","description":"1,736 lines of first-party code in ~2.3h (751 lines/hour, 1 commit session)","ref":"1d16f536a3ef6ff0d167ed92531b541cc2577a7c","url":"https://github.com/deepak-highbeam/gap-map/commit/1d16f536a3ef6ff0d167ed92531b541cc2577a7c","weight":0.22526492851135405},{"kind":"velocity-burst","description":"2,222 lines of first-party code in ~4.0h (556 lines/hour, 1 commit session)","ref":"8d885e5645f145785a491a5a81f9f47aec5c8337","url":"https://github.com/deepak-highbeam/gap-map/commit/8d885e5645f145785a491a5a81f9f47aec5c8337","weight":0.16665},{"kind":"velocity-burst","description":"2,555 lines of first-party code in ~4.7h (540 lines/hour, 6 commit session)","ref":"7b92327d71824ee2af16c3a7301839f5166f81e2","url":"https://github.com/deepak-highbeam/gap-map/commit/7b92327d71824ee2af16c3a7301839f5166f81e2","weight":0.16199365973934485}],"data":{"flagged_loc_by_commit":{"8a3ee68e8394816b122c0551125150c2ae475b29":995,"fe3899bd26c287a636ff44d2b9b8a21b78e5fc2c":23,"042af80c92b24686570bf36dcba1b77a388a8583":360,"2a5dab82b617010f2fb84e241c4aee0cd3b1b3d0":283,"babd291b945cb6410f22bf6e46dc30d34d791662":993,"2f2a39c3a4f1c8020ff23f972f07226073ed4abe":775,"5834ea2e8d29200ab2e37c04a5345b11a91e0dea":141,"38841126d5c110904830fde34bbbb5af71ea5941":643,"67101a33c836156da688e190658c93dbf0ab5ccc":687,"4cdbeeef9e0f45f9926185eb0b52e2315eb2e922":537,"9978078a9a559e976ef0c061418251e1542b9012":832,"46f34b1f96b1c96e2d1bdf479360aca490f34040":754,"3889884b1d6a856a55faef91505fc7a88f56d601":73,"3f1ea356dd25bf34259ec60ce058cb3d2368224d":1139,"9346124a81fa6a1ea1a5792d3179e33e31b3fc90":209,"aa9b6b422c226c749afa945e5e75ef8fd8d6b5bf":122,"7b92327d71824ee2af16c3a7301839f5166f81e2":258,"1d16f536a3ef6ff0d167ed92531b541cc2577a7c":1736,"8d885e5645f145785a491a5a81f9f47aec5c8337":2222},"excluded_import_commits":[]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":6904.0,"index":2.028,"count:narrated_steps":14.0,"per_kloc:narrated_steps":2.028,"files:narrated_steps":3.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":0.0,"per_kloc:emoji_in_code":0.0,"files:emoji_in_code":0.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 1: exact file match (Write/Edit on same file)","ref":"internal/correlation/correlator.go:59","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/correlation/correlator.go#L59","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 2: Fuzzy file match — Claude wrote a file with the same name but","ref":"internal/correlation/correlator.go:76","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/correlation/correlator.go#L76","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 3: no match","ref":"internal/correlation/correlator.go:103","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/correlation/correlator.go#L103","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 1: Correlate file event with session events.","ref":"internal/daemon/daemon.go:379","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/daemon/daemon.go#L379","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 2: Classify authorship level (with history for mixed attributions).","ref":"internal/daemon/daemon.go:386","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/daemon/daemon.go#L386","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 3: Extract diff content and lines_changed from matched session event.","ref":"internal/daemon/daemon.go:396","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/daemon/daemon.go#L396","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 4: Classify work type with actual content.","ref":"internal/daemon/daemon.go:420","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/daemon/daemon.go#L420","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 5: Build store record and persist.","ref":"internal/daemon/daemon.go:423","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/daemon/daemon.go#L423","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":1.0,"findings_high":1.0,"findings_medium":0.0,"findings_low":0.0,"weighted_findings":0.75,"scanned_lines":6904.0,"parse_errors":0.0},"findings":[{"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":"cmd/gapmap/main.go","line":108,"fingerprint":"go.lang.security.audit.dangerous-exec-command:cmd/gapmap/main.go:108"}],"evidence":[],"data":{"rulesets":["go"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":6.0,"vulnerabilities":45.0,"vulns_critical":7.0,"vulns_high":5.0,"vulns_medium":11.0,"vulns_low":3.0,"vulns_unknown":19.0,"penalty":38.0},"findings":[{"rule_id":"osv/GHSA-jppx-rxg9-jmrx","severity":"critical","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5005, GHSA-jppx-rxg9-jmrx","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GHSA-jppx-rxg9-jmrx"},{"rule_id":"osv/GHSA-f5wc-c3c7-36mc","severity":"critical","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5006, GHSA-f5wc-c3c7-36mc","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GHSA-f5wc-c3c7-36mc"},{"rule_id":"osv/GHSA-vgwf-h737-ff37","severity":"critical","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5017, GHSA-vgwf-h737-ff37","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GHSA-vgwf-h737-ff37"},{"rule_id":"osv/GHSA-89gr-r52h-f8rx","severity":"critical","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5019, GHSA-89gr-r52h-f8rx","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GHSA-89gr-r52h-f8rx"},{"rule_id":"osv/GHSA-rm3j-f69w-wqmq","severity":"critical","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5020, GHSA-rm3j-f69w-wqmq","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GHSA-rm3j-f69w-wqmq"},{"rule_id":"osv/GHSA-5cgq-3rg8-m6cv","severity":"critical","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5021, GHSA-5cgq-3rg8-m6cv","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GHSA-5cgq-3rg8-m6cv"},{"rule_id":"osv/GHSA-x527-x647-q7gg","severity":"critical","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5023, GHSA-x527-x647-q7gg","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GHSA-x527-x647-q7gg"},{"rule_id":"osv/GHSA-qw64-3x98-g7q2","severity":"high","message":"github.com/go-git/go-billy/v5@5.6.2 (Go) is affected by GO-2026-5597, GHSA-qw64-3x98-g7q2","path":"go.mod","line":null,"fingerprint":"github.com/go-git/go-billy/v5@5.6.2 (Go):GHSA-qw64-3x98-g7q2"},{"rule_id":"osv/GHSA-389r-gv7p-r3rp","severity":"high","message":"github.com/go-git/go-git/v5@5.16.5 (Go) is affected by GO-2026-5074, GHSA-389r-gv7p-r3rp","path":"go.mod","line":null,"fingerprint":"github.com/go-git/go-git/v5@5.16.5 (Go):GHSA-389r-gv7p-r3rp"},{"rule_id":"osv/GHSA-hc8v-wwc9-vgxm","severity":"high","message":"github.com/go-git/go-git/v5@5.16.5 (Go) is affected by GO-2026-6213, GHSA-hc8v-wwc9-vgxm","path":"go.mod","line":null,"fingerprint":"github.com/go-git/go-git/v5@5.16.5 (Go):GHSA-hc8v-wwc9-vgxm"},{"rule_id":"osv/GHSA-q4h4-gmj2-qvw2","severity":"high","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5013, GHSA-q4h4-gmj2-qvw2","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GHSA-q4h4-gmj2-qvw2"},{"rule_id":"osv/GHSA-w879-237q-wc7r","severity":"high","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5018, GHSA-w879-237q-wc7r","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GHSA-w879-237q-wc7r"},{"rule_id":"osv/GHSA-m3xc-h892-ggx6","severity":"medium","message":"github.com/go-git/go-billy/v5@5.6.2 (Go) is affected by GO-2026-5490, GHSA-m3xc-h892-ggx6","path":"go.mod","line":null,"fingerprint":"github.com/go-git/go-billy/v5@5.6.2 (Go):GHSA-m3xc-h892-ggx6"},{"rule_id":"osv/GHSA-jhf3-xxhw-2wpp","severity":"medium","message":"github.com/go-git/go-git/v5@5.16.5 (Go) is affected by GO-2026-4910, GHSA-jhf3-xxhw-2wpp","path":"go.mod","line":null,"fingerprint":"github.com/go-git/go-git/v5@5.16.5 (Go):GHSA-jhf3-xxhw-2wpp"},{"rule_id":"osv/GHSA-3xc5-wrhm-f963","severity":"medium","message":"github.com/go-git/go-git/v5@5.16.5 (Go) is affected by GO-2026-5105, GHSA-3xc5-wrhm-f963","path":"go.mod","line":null,"fingerprint":"github.com/go-git/go-git/v5@5.16.5 (Go):GHSA-3xc5-wrhm-f963"},{"rule_id":"osv/GHSA-crhj-59gh-8x96","severity":"medium","message":"github.com/go-git/go-git/v5@5.16.5 (Go) is affected by GO-2026-5336, GHSA-crhj-59gh-8x96","path":"go.mod","line":null,"fingerprint":"github.com/go-git/go-git/v5@5.16.5 (Go):GHSA-crhj-59gh-8x96"},{"rule_id":"osv/GHSA-w5pp-99ch-qj29","severity":"medium","message":"github.com/go-git/go-git/v5@5.16.5 (Go) is affected by GO-2026-5693, GHSA-w5pp-99ch-qj29","path":"go.mod","line":null,"fingerprint":"github.com/go-git/go-git/v5@5.16.5 (Go):GHSA-w5pp-99ch-qj29"},{"rule_id":"osv/GHSA-qgq7-7hm3-q39j","severity":"medium","message":"github.com/go-git/go-git/v5@5.16.5 (Go) is affected by GO-2026-6214, GHSA-qgq7-7hm3-q39j","path":"go.mod","line":null,"fingerprint":"github.com/go-git/go-git/v5@5.16.5 (Go):GHSA-qgq7-7hm3-q39j"},{"rule_id":"osv/GHSA-45gg-vh54-h5m9","severity":"medium","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5014, GHSA-45gg-vh54-h5m9","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GHSA-45gg-vh54-h5m9"},{"rule_id":"osv/GHSA-78mq-xcr3-xm33","severity":"medium","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5015, GHSA-78mq-xcr3-xm33","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GHSA-78mq-xcr3-xm33"},{"rule_id":"osv/GHSA-qpw4-5x99-6vjp","severity":"medium","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5016, GHSA-qpw4-5x99-6vjp","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GHSA-qpw4-5x99-6vjp"},{"rule_id":"osv/GHSA-9m57-25v3-79x9","severity":"medium","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5033, GHSA-9m57-25v3-79x9","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GHSA-9m57-25v3-79x9"},{"rule_id":"osv/GO-2026-5932","severity":"medium","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-5932","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GO-2026-5932"},{"rule_id":"osv/GO-2026-6303","severity":"medium","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-6303","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GO-2026-6303"},{"rule_id":"osv/GO-2026-6354","severity":"medium","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-6354","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GO-2026-6354"},{"rule_id":"osv/GO-2026-6355","severity":"medium","message":"golang.org/x/crypto@0.45.0 (Go) is affected by GO-2026-6355","path":"go.mod","line":null,"fingerprint":"golang.org/x/crypto@0.45.0 (Go):GO-2026-6355"},{"rule_id":"osv/GO-2026-4918","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-4918","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-4918"},{"rule_id":"osv/GO-2026-5025","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-5025","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-5025"},{"rule_id":"osv/GO-2026-5026","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-5026","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-5026"},{"rule_id":"osv/GO-2026-5027","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-5027","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-5027"},{"rule_id":"osv/GHSA-5cv4-jp36-h3mw","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-5028, GHSA-5cv4-jp36-h3mw","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GHSA-5cv4-jp36-h3mw"},{"rule_id":"osv/GO-2026-5029","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-5029","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-5029"},{"rule_id":"osv/GO-2026-5030","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-5030","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-5030"},{"rule_id":"osv/GO-2026-5942","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-5942","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-5942"},{"rule_id":"osv/GO-2026-6603","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-6603","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-6603"},{"rule_id":"osv/GO-2026-6610","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-6610","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-6610"},{"rule_id":"osv/GO-2026-6611","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-6611","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-6611"},{"rule_id":"osv/GO-2026-6612","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-6612","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-6612"},{"rule_id":"osv/GO-2026-6617","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-6617","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-6617"},{"rule_id":"osv/GO-2026-6860","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-6860","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-6860"},{"rule_id":"osv/GO-2026-6866","severity":"medium","message":"golang.org/x/net@0.47.0 (Go) is affected by GO-2026-6866","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.47.0 (Go):GO-2026-6866"},{"rule_id":"osv/GO-2026-5024","severity":"medium","message":"golang.org/x/sys@0.38.0 (Go) is affected by GO-2026-5024","path":"go.mod","line":null,"fingerprint":"golang.org/x/sys@0.38.0 (Go):GO-2026-5024"},{"rule_id":"osv/GHSA-q9hv-hpm4-hj6x","severity":"low","message":"github.com/cloudflare/circl@1.6.1 (Go) is affected by GO-2026-4550, GHSA-q9hv-hpm4-hj6x","path":"go.mod","line":null,"fingerprint":"github.com/cloudflare/circl@1.6.1 (Go):GHSA-q9hv-hpm4-hj6x"},{"rule_id":"osv/GHSA-gm2x-2g9h-ccm8","severity":"low","message":"github.com/go-git/go-git/v5@5.16.5 (Go) is affected by GO-2026-4909, GHSA-gm2x-2g9h-ccm8","path":"go.mod","line":null,"fingerprint":"github.com/go-git/go-git/v5@5.16.5 (Go):GHSA-gm2x-2g9h-ccm8"},{"rule_id":"osv/GHSA-m7cr-m3pv-hgrp","severity":"low","message":"github.com/go-git/go-git/v5@5.16.5 (Go) is affected by GO-2026-5496, GHSA-m7cr-m3pv-hgrp","path":"go.mod","line":null,"fingerprint":"github.com/go-git/go-git/v5@5.16.5 (Go):GHSA-m7cr-m3pv-hgrp"}],"evidence":[],"data":{"ecosystems":["Go"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":1.0,"signed_commit_share":0.0,"unpinned_manifests":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":0.0,"binary_assets":0.0,"suspicious":0.0},"findings":[],"evidence":[],"data":{"signals":[],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":236.0,"function_nloc":4275.0,"mean_ccn":4.24,"p90_ccn":9.0,"complex_functions":11.0,"long_functions":2.0,"many_param_functions":2.0,"risky_nloc_share":0.2023},"findings":[],"evidence":[{"kind":"complex-function","description":"Tail in internal/sessionparser/tailer.go: complexity 25, 76 lines","ref":"internal/sessionparser/tailer.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/sessionparser/tailer.go#L42","weight":0.4166666666666667},{"kind":"complex-function","description":"Analyze in internal/survival/tracker.go: complexity 24, 93 lines","ref":"internal/survival/tracker.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/survival/tracker.go#L43","weight":0.4},{"kind":"complex-function","description":"GenerateComment in internal/github/prcomment.go: complexity 23, 84 lines","ref":"internal/github/prcomment.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/github/prcomment.go#L25","weight":0.38333333333333336},{"kind":"complex-function","description":"extractToolUse in internal/sessionparser/parser.go: complexity 23, 81 lines","ref":"internal/sessionparser/parser.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/sessionparser/parser.go#L191","weight":0.38333333333333336},{"kind":"complex-function","description":"GenerateProjectForBranch in internal/report/report_branch.go: complexity 22, 106 lines","ref":"internal/report/report_branch.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/report/report_branch.go#L18","weight":0.36666666666666664},{"kind":"complex-function","description":"GenerateProjectFromStore in internal/report/report.go: complexity 21, 112 lines","ref":"internal/report/report.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/report/report.go#L76","weight":0.35},{"kind":"complex-function","description":"anonymous__7 in internal/daemon/daemon.go: complexity 20, 77 lines","ref":"internal/daemon/daemon.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/daemon/daemon.go#L360","weight":0.3333333333333333},{"kind":"complex-function","description":"commitDiffs in internal/gitint/commits.go: complexity 20, 65 lines","ref":"internal/gitint/commits.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/gitint/commits.go#L57","weight":0.3333333333333333},{"kind":"complex-function","description":"anonymous__0 in cmd/gapmap/main.go: complexity 17, 76 lines","ref":"cmd/gapmap/main.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/cmd/gapmap/main.go#L51","weight":0.2833333333333333},{"kind":"complex-function","description":"watchForNewSessions in internal/sessionparser/discovery.go: complexity 17, 43 lines","ref":"internal/sessionparser/discovery.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/sessionparser/discovery.go#L18","weight":0.2833333333333333}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":4822.0,"duplicated_lines":260.0,"duplicated_share":0.0539,"files":34.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: cmd/gapmap/main.go:356 and cmd/gapmap/main.go:449","ref":"cmd/gapmap/main.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/cmd/gapmap/main.go#L356","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: cmd/gapmap/main.go:510 and internal/report/report.go:510","ref":"cmd/gapmap/main.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/cmd/gapmap/main.go#L510","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/correlation/correlator.go:85 and internal/correlation/correlator.go:140","ref":"internal/correlation/correlator.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/correlation/correlator.go#L85","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/github/prcomment.go:310 and internal/survival/tracker.go:13","ref":"internal/github/prcomment.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/github/prcomment.go#L310","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/gitint/branch.go:93 and internal/report/report_branch.go:168","ref":"internal/gitint/branch.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/gitint/branch.go#L93","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/report/report.go:8 and internal/report/report_branch.go:4","ref":"internal/report/report.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/report/report.go#L8","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/report/report.go:145 and internal/report/report.go:283","ref":"internal/report/report.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/report/report.go#L145","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/store/branch.go:50 and internal/store/sqlite.go:796","ref":"internal/store/branch.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/store/branch.go#L50","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: internal/store/sqlite.go:267 and internal/store/sqlite.go:307","ref":"internal/store/sqlite.go","url":"https://github.com/deepak-highbeam/gap-map/blob/fb916d7146c59727213dbf858586137b2a20984f/internal/store/sqlite.go#L267","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":3.0,"weighted_findings":3.0,"scanned_lines":6904.0,"category:correctness":3.0},"findings":[{"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":"cmd/gapmap/main.go","line":103,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:cmd/gapmap/main.go:103"},{"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":"internal/config/config.go","line":98,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/config/config.go:98"},{"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":"internal/sessionparser/discovery.go","line":20,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:internal/sessionparser/discovery.go:20"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":1.0,"check:ci_present":0.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":1.0,"test_lines":6236.0,"source_lines":6904.0,"test_ratio":0.9032,"ci_files":0.0,"cochange_share":0.55,"cochange_commits":20.0},"findings":[],"evidence":[],"data":{"test_commands":[],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":0.0,"check:contributing":0.0,"check:changelog":0.0,"readme_lines":179.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"x-blame","pillar":"ai_provenance","status":"ok","tool_version":"git-blame","metrics":{"ai_lines":6843.0,"other_lines":61.0,"files_blamed":34.0,"blame_failures":0.0,"quality:ai_findings":3.0,"quality:ai_per_kloc":0.438,"quality:other_findings":0.0,"quality:other_per_kloc":0.0,"security:ai_findings":1.0,"security:ai_per_kloc":0.146,"security:other_findings":0.0,"security:other_per_kloc":0.0},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":false},"error":null}],"flags":[]}