{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T14:52:00.124204Z","repo":{"ref":{"host":"github.com","owner":"BeanYa","name":"csanno"},"default_branch":"main","clone_url":"https://github.com/BeanYa/csanno.git","html_url":"https://github.com/BeanYa/csanno","description":null,"stars":0,"forks":0,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":11978,"primary_language":"C#","license_spdx":"MIT","created_at":"2026-01-20T13:39:48Z","pushed_at":"2026-02-02T17:21:51Z","security_policy_url":null,"distribution":{"owner_created_at":"2016-05-31T15:04:59Z","owner_type":"User","release_assets":[]}},"commit_sha":"56a6595be302e6deb6f97d6b8a27ef1b8c1891da","profile":{"lines_by_language":{"C#":6178},"files_by_category":{"source":28,"test":28,"docs":6,"config":5,"other":5,"oversized":2},"source_lines":2699,"test_lines":3479},"pillars":{"ai_provenance":{"score":94.7,"confidence":0.87,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.9472,"suspected_share":0.0,"estimated_share":0.9472,"ai_artifacts":3.0,"flagged_work_units":1.0,"flagged_releases":0.0,"style_index":0.0},"summary":"Explicit AI attribution on 95% of first-party code added; an estimated 95% including velocity signals."},"quality":{"score":79.5,"confidence":0.9,"coverage":1.0,"label":"adequate","breakdown":{"complexity":67.4,"duplication":57.3,"lint":100.0,"testing":90.0,"docs":80.0,"type_safety":null,"process":null},"summary":"Code quality is adequate: test-to-source ratio 1.29, CI runs tests; 13% of function code in complex or long functions; 9% duplicated lines. Weakest area: duplication."},"security":{"score":69.2,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":100.0,"sast":100.0,"dependencies":null,"ci_actions":22.8,"posture":0.0,"scorecard":null},"summary":"Security posture is weak: 7 high-severity workflow issues. Weakest area: posture."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"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":67.0,"attributed_commits":64.0,"attributed_commit_share":0.9552238805970149,"effective_loc":11751.0,"attributed_loc":11131.0,"attributed_loc_share":0.9472385328908178,"tools_detected":1.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"Claude Code: 64 attributed commits, 11,131 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"78f68ae1f1f9eac7d046f677b6e98fa57cf3875e","url":"https://github.com/BeanYa/csanno/commit/78f68ae1f1f9eac7d046f677b6e98fa57cf3875e","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"8bb92bd052e145d28fc113e6bf476af8da40512c","url":"https://github.com/BeanYa/csanno/commit/8bb92bd052e145d28fc113e6bf476af8da40512c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"b70e42aa86ffc62473b839b6ef5a5f9c2302a78c","url":"https://github.com/BeanYa/csanno/commit/b70e42aa86ffc62473b839b6ef5a5f9c2302a78c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"e1dc3de97ed262c76fe1e3c60d791255a319a5d1","url":"https://github.com/BeanYa/csanno/commit/e1dc3de97ed262c76fe1e3c60d791255a319a5d1","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"e7885adc17196c96f05863517fdfa9a6e3af0f63","url":"https://github.com/BeanYa/csanno/commit/e7885adc17196c96f05863517fdfa9a6e3af0f63","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"cf394f7186ee81e4060ae3bdbfd0c8bb79a49663","url":"https://github.com/BeanYa/csanno/commit/cf394f7186ee81e4060ae3bdbfd0c8bb79a49663","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"d0327db44ceae221f4959eb63893ee2c09c0dfd4","url":"https://github.com/BeanYa/csanno/commit/d0327db44ceae221f4959eb63893ee2c09c0dfd4","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"622f08a91892eaa8e987ba7d6c13f1fa816d4318","url":"https://github.com/BeanYa/csanno/commit/622f08a91892eaa8e987ba7d6c13f1fa816d4318","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"c3470e4f79268d92912d093d3c5e0f0a2ac1bccf","url":"https://github.com/BeanYa/csanno/commit/c3470e4f79268d92912d093d3c5e0f0a2ac1bccf","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"41bae14f699ca8fa6d9719810b974b2a7c802967","url":"https://github.com/BeanYa/csanno/commit/41bae14f699ca8fa6d9719810b974b2a7c802967","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"47ecea0ecf6987b6420cfaae6ad3784e92d11bb3","url":"https://github.com/BeanYa/csanno/commit/47ecea0ecf6987b6420cfaae6ad3784e92d11bb3","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"143890db2b46dcaaf54259bb6ef9a030d55962c6","url":"https://github.com/BeanYa/csanno/commit/143890db2b46dcaaf54259bb6ef9a030d55962c6","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: trailer 'Co-Authored-By: Claude'","ref":"8a84d32c8021cd4809019abb5611e3e4c74f62d1","url":"https://github.com/BeanYa/csanno/commit/8a84d32c8021cd4809019abb5611e3e4c74f62d1","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"8e8a3537078f2f03c3893682620a64ca3cef119c","url":"https://github.com/BeanYa/csanno/commit/8e8a3537078f2f03c3893682620a64ca3cef119c","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"cc5ff310830d3b6ca4da1446401188eb1ed5f633","url":"https://github.com/BeanYa/csanno/commit/cc5ff310830d3b6ca4da1446401188eb1ed5f633","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"1551f8ac25d62c17ff32a08dbd58e88508148a99","url":"https://github.com/BeanYa/csanno/commit/1551f8ac25d62c17ff32a08dbd58e88508148a99","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"9925e2f5f26f61628179a819c078501fd41f011d","url":"https://github.com/BeanYa/csanno/commit/9925e2f5f26f61628179a819c078501fd41f011d","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"a6831d8461588d6fe751cbe7303adefaff02c83a","url":"https://github.com/BeanYa/csanno/commit/a6831d8461588d6fe751cbe7303adefaff02c83a","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"6d5669b6d6fb9f3f9f4fe6dea867c1636397e829","url":"https://github.com/BeanYa/csanno/commit/6d5669b6d6fb9f3f9f4fe6dea867c1636397e829","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"a9e80f2d39e0fed14ea3ca36953f3788f02a87e9","url":"https://github.com/BeanYa/csanno/commit/a9e80f2d39e0fed14ea3ca36953f3788f02a87e9","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"313913e9dfc8cdab316d4785b88c209dcbd7bc23","url":"https://github.com/BeanYa/csanno/commit/313913e9dfc8cdab316d4785b88c209dcbd7bc23","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"aef6f3349c20ff119b9a08681dd1659988b6c514","url":"https://github.com/BeanYa/csanno/commit/aef6f3349c20ff119b9a08681dd1659988b6c514","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"40062d1a5b104f0bb73fbe5db26e46f3eecbc3dc","url":"https://github.com/BeanYa/csanno/commit/40062d1a5b104f0bb73fbe5db26e46f3eecbc3dc","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: author Claude","ref":"0d8a54471115c5ad5ceaeb167477093e230593fe","url":"https://github.com/BeanYa/csanno/commit/0d8a54471115c5ad5ceaeb167477093e230593fe","weight":0.9},{"kind":"attributed-commit","description":"Claude Code: committer Claude","ref":"1520c25842954042657e03c7f87d8af1c9d00f53","url":"https://github.com/BeanYa/csanno/commit/1520c25842954042657e03c7f87d8af1c9d00f53","weight":0.9}],"data":{"attributed_loc_by_commit":{"f6ce19659e9c5d1ac115fd2f09b8e9adbd19c049":0,"2388aed67c1c6085579d227208c091bd7dfb7d80":0,"94f9692b0437bd8ced51a0619ba96ef60938d76c":0,"279d39b949effd84431fa4ec8cdc1eb253a83497":0,"85dd0e4540956f802ad4d2bac116f2149ee74560":62,"332392446a8c49fbc179a15ba587126bfb8d5d4a":899,"f267f9b912cd72f6df14c168ff96d18b27e63e0e":255,"535c09609986f304d0acd434e29ff2875514c3ba":680,"ad787a0692c7443e1818230e9edae6ee3cff2974":0,"efa54855a7f9fc83b9cb65529e9228da7b53b831":18,"7dabaa5d2583e0ea4dc476b5abf1aac456ecd6f5":1,"df301068e3be1976097d84985d8428a12d56d858":0,"61bf290d182f3c57b07ea25fac59bca38889f0df":0,"fdff25c6b09663f6b8506c77af41b5168557bbaf":0,"e61a831a56de0368c8a8eea9bc249ea0706306f4":0,"28686704ec23db1fd6907db08a3f2f1c581b3ae7":0,"95e6c93c9806503de9ddb49a7f1e0a16d6418ea3":0,"b83eb4eda6d0d784e0b22675cdec573b5bd7a92f":0,"08a5cdec26a213ce71c2316f05b6cb838c2da363":0,"dac324d63487bbbe943b36340ff8591893ed5529":0,"0b2091af737522428fdbe07595bcf9704fd5f28d":0,"21b27c0188b765aabb8e8b2e04cc6b4c890f435f":0,"1878bad7465fecc968a80fcc99f2d0e53edfa939":0,"6c3d20d8a13a68d1cf3ce64ec933908acc6d22e2":0,"032c9462a12e54f2ae1e3473011df232630ca253":0,"9f87281edfdb6c6b1791762e6d3f9d996e2fc1f2":0,"050a7613cd3f00550f9aaa82b67cc7c6402cf66b":0,"161b0a30317b4b6564d10272b95562945a6dc64a":572,"d4a83e5ec5c238139dcee9bb5cb03cb463b46f47":0,"81296e8ae77d09764926799abd46c83c3ec1f3be":0,"e1d9350787210a608391b957cb3dee9438054cfa":1171,"ccfb2e52c44304e2df3c74ddbc463a291a351b1a":503,"e7367e42fe13d68877d51319417e0b5cde4b0a92":0,"e0e1439567b294dab0a3aee36f3562de1ddc13a2":0,"d61d00a5432452dddafc3ef9970554e5281bf25a":0,"0867ff1f4596f9d4ba79c22263bc4c5395e5c0a2":0,"e5fc89fbb8be3f7346b2ce553f1f21ebaf5ccdaa":51,"47097ca939c3a035aafcf8d4e3f275c50383c015":0,"e3ae9e5e5233a973d703eb7599723f35df7461b2":47,"1520c25842954042657e03c7f87d8af1c9d00f53":0,"0d8a54471115c5ad5ceaeb167477093e230593fe":394,"40062d1a5b104f0bb73fbe5db26e46f3eecbc3dc":0,"aef6f3349c20ff119b9a08681dd1659988b6c514":0,"313913e9dfc8cdab316d4785b88c209dcbd7bc23":0,"a9e80f2d39e0fed14ea3ca36953f3788f02a87e9":0,"6d5669b6d6fb9f3f9f4fe6dea867c1636397e829":0,"a6831d8461588d6fe751cbe7303adefaff02c83a":151,"9925e2f5f26f61628179a819c078501fd41f011d":0,"1551f8ac25d62c17ff32a08dbd58e88508148a99":0,"cc5ff310830d3b6ca4da1446401188eb1ed5f633":0,"8e8a3537078f2f03c3893682620a64ca3cef119c":217,"8a84d32c8021cd4809019abb5611e3e4c74f62d1":0,"143890db2b46dcaaf54259bb6ef9a030d55962c6":0,"47ecea0ecf6987b6420cfaae6ad3784e92d11bb3":82,"41bae14f699ca8fa6d9719810b974b2a7c802967":3979,"c3470e4f79268d92912d093d3c5e0f0a2ac1bccf":0,"622f08a91892eaa8e987ba7d6c13f1fa816d4318":348,"d0327db44ceae221f4959eb63893ee2c09c0dfd4":521,"cf394f7186ee81e4060ae3bdbfd0c8bb79a49663":15,"e7885adc17196c96f05863517fdfa9a6e3af0f63":0,"e1dc3de97ed262c76fe1e3c60d791255a319a5d1":0,"b70e42aa86ffc62473b839b6ef5a5f9c2302a78c":0,"8bb92bd052e145d28fc113e6bf476af8da40512c":0,"78f68ae1f1f9eac7d046f677b6e98fa57cf3875e":1165},"tools":{"claude-code":{"name":"Claude Code","commits":64,"loc":11131,"first_seen":1768903861,"last_seen":1770051471}},"monthly":{"2026-01":{"loc":10586,"attributed_loc":9966},"2026-02":{"loc":1165,"attributed_loc":1165}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":3.0,"workflow_agents":0.0,"tools_configured":2.0,"earliest_adoption":1768903861.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":".claude/settings.local.json (claude-code configuration)","ref":".claude/settings.local.json","url":"https://github.com/BeanYa/csanno/blob/56a6595be302e6deb6f97d6b8a27ef1b8c1891da/.claude/settings.local.json","weight":0.5},{"kind":"ai-artifact","description":"CLAUDE.md (claude-code configuration)","ref":"CLAUDE.md","url":"https://github.com/BeanYa/csanno/blob/56a6595be302e6deb6f97d6b8a27ef1b8c1891da/CLAUDE.md","weight":0.5},{"kind":"ai-artifact","description":"AGENTS.md (generic-agent configuration)","ref":"AGENTS.md","url":"https://github.com/BeanYa/csanno/blob/56a6595be302e6deb6f97d6b8a27ef1b8c1891da/AGENTS.md","weight":0.5}],"data":{"artifacts":[{"tool":"claude-code","path":".claude/settings.local.json","added_at":1768904959},{"tool":"claude-code","path":"CLAUDE.md","added_at":1768904274},{"tool":"generic-agent","path":"AGENTS.md","added_at":1768903861}],"workflows":[],"tools":["claude-code","generic-agent"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":16.0,"flagged_units":1.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":11751.0,"flagged_loc":4061.0,"flagged_loc_share":0.3455876095651434,"max_loc_per_hour":944.7848003101976,"median_loc_per_hour":155.0,"pr_timed_units":0.0,"excluded_import_loc":0.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"4,061 lines of first-party code in ~4.3h (945 lines/hour, 2 commit session)","ref":"41bae14f699ca8fa6d9719810b974b2a7c802967","url":"https://github.com/BeanYa/csanno/commit/41bae14f699ca8fa6d9719810b974b2a7c802967","weight":0.28343544009305927}],"data":{"flagged_loc_by_commit":{"47ecea0ecf6987b6420cfaae6ad3784e92d11bb3":82,"41bae14f699ca8fa6d9719810b974b2a7c802967":3979},"excluded_import_commits":[]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":4.0,"flagged_releases":0.0,"max_loc_per_day":3803.6},"findings":[],"evidence":[],"data":{"releases":[{"from":"0.0.1","to":"0.0.2","loc":1192,"days":0.37,"loc_per_day":3197.7,"flagged":false},{"from":"0.0.2","to":"0.0.3","loc":1772,"days":2.6,"loc_per_day":681.6,"flagged":false},{"from":"0.0.3","to":"0.0.4","loc":762,"days":2.79,"loc_per_day":273.3,"flagged":false},{"from":"0.0.4","to":"0.0.5","loc":4945,"days":1.3,"loc_per_day":3803.6,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":2699.0,"index":0.0,"count:narrated_steps":0.0,"per_kloc:narrated_steps":0.0,"files:narrated_steps":0.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":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":[],"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":0.0,"findings_high":0.0,"findings_medium":0.0,"findings_low":0.0,"weighted_findings":0.0,"scanned_lines":2699.0,"parse_errors":0.0},"findings":[],"evidence":[],"data":{"rulesets":["csharp"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":2.0,"findings":13.0,"findings_high":7.0,"findings_medium":3.0,"findings_low":3.0,"penalty":88.8},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build-test.yml","line":12,"fingerprint":"unpinned-uses:.github/workflows/build-test.yml:12"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build-test.yml","line":15,"fingerprint":"unpinned-uses:.github/workflows/build-test.yml:15"},{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/publish.yml","line":45,"fingerprint":"template-injection:.github/workflows/publish.yml:45"},{"rule_id":"zizmor/template-injection","severity":"high","message":"code injection via template expansion [confidence high]","path":".github/workflows/publish.yml","line":45,"fingerprint":"template-injection:.github/workflows/publish.yml:45"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/publish.yml","line":22,"fingerprint":"unpinned-uses:.github/workflows/publish.yml:22"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/publish.yml","line":25,"fingerprint":"unpinned-uses:.github/workflows/publish.yml:25"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/publish.yml","line":69,"fingerprint":"unpinned-uses:.github/workflows/publish.yml:69"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build-test.yml","line":12,"fingerprint":"artipacked:.github/workflows/build-test.yml:12"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/build-test.yml","line":8,"fingerprint":"excessive-permissions:.github/workflows/build-test.yml:8"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/publish.yml","line":22,"fingerprint":"artipacked:.github/workflows/publish.yml:22"},{"rule_id":"zizmor/use-trusted-publishing","severity":"info","message":"prefer trusted publishing for authentication [confidence high]","path":".github/workflows/publish.yml","line":65,"fingerprint":"use-trusted-publishing:.github/workflows/publish.yml:65"},{"rule_id":"zizmor/template-injection","severity":"info","message":"code injection via template expansion [confidence low]","path":".github/workflows/publish.yml","line":62,"fingerprint":"template-injection:.github/workflows/publish.yml:62"},{"rule_id":"zizmor/superfluous-actions","severity":"info","message":"action functionality is already included by the runner [confidence high]","path":".github/workflows/publish.yml","line":69,"fingerprint":"superfluous-actions:.github/workflows/publish.yml:69"}],"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":64.0,"function_nloc":1437.0,"mean_ccn":3.39,"p90_ccn":8.0,"complex_functions":2.0,"long_functions":1.0,"many_param_functions":0.0,"risky_nloc_share":0.1315},"findings":[],"evidence":[{"kind":"complex-function","description":"InterceptorGenerator::TryGetProxyInfo in src/Csanno.Generator/InterceptorGenerator.cs: complexity 17, 113 lines","ref":"src/Csanno.Generator/InterceptorGenerator.cs","url":"https://github.com/BeanYa/csanno/blob/56a6595be302e6deb6f97d6b8a27ef1b8c1891da/src/Csanno.Generator/InterceptorGenerator.cs#L182","weight":0.2833333333333333},{"kind":"complex-function","description":"InterceptorGenerator::TryGetInterceptorInfo in src/Csanno.Generator/InterceptorGenerator.cs: complexity 17, 76 lines","ref":"src/Csanno.Generator/InterceptorGenerator.cs","url":"https://github.com/BeanYa/csanno/blob/56a6595be302e6deb6f97d6b8a27ef1b8c1891da/src/Csanno.Generator/InterceptorGenerator.cs#L89","weight":0.2833333333333333}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":1725.0,"duplicated_lines":160.0,"duplicated_share":0.0928,"files":28.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: src/Csanno.Generator/Emit/ProxyEmitter.cs:276 and src/Csanno.Generator/Emit/ProxyEmitter.cs:329","ref":"src/Csanno.Generator/Emit/ProxyEmitter.cs","url":"https://github.com/BeanYa/csanno/blob/56a6595be302e6deb6f97d6b8a27ef1b8c1891da/src/Csanno.Generator/Emit/ProxyEmitter.cs#L276","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src/Csanno.Generator/Emit/RegistrationEmitter.cs:79 and src/Csanno.Generator/InterceptorGenerator.cs:470","ref":"src/Csanno.Generator/Emit/RegistrationEmitter.cs","url":"https://github.com/BeanYa/csanno/blob/56a6595be302e6deb6f97d6b8a27ef1b8c1891da/src/Csanno.Generator/Emit/RegistrationEmitter.cs#L79","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src/Csanno.Generator/Models/ComponentInfo.cs:22 and src/Internal/InstanceLifetime.cs:4","ref":"src/Csanno.Generator/Models/ComponentInfo.cs","url":"https://github.com/BeanYa/csanno/blob/56a6595be302e6deb6f97d6b8a27ef1b8c1891da/src/Csanno.Generator/Models/ComponentInfo.cs#L22","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src/RegistrationExtensions.cs:74 and src/RegistrationExtensions.cs:215","ref":"src/RegistrationExtensions.cs","url":"https://github.com/BeanYa/csanno/blob/56a6595be302e6deb6f97d6b8a27ef1b8c1891da/src/RegistrationExtensions.cs#L74","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":0.0,"weighted_findings":0.0,"scanned_lines":2699.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":1.0,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":0.0,"check:tests_cochange":1.0,"test_lines":3479.0,"source_lines":2699.0,"test_ratio":1.289,"ci_files":2.0,"cochange_share":0.9375,"cochange_commits":16.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/build-test.yml","ref":".github/workflows/build-test.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI config: .github/workflows/publish.yml","ref":".github/workflows/publish.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (dotnet test)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["dotnet test"],"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":427.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":"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":2699.0,"other_lines":0.0,"files_blamed":28.0,"blame_failures":0.0,"quality:ai_findings":0.0,"quality:ai_per_kloc":0.0,"quality:other_findings":0.0,"security:ai_findings":0.0,"security:ai_per_kloc":0.0,"security:other_findings":0.0},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":false},"error":null}],"flags":[]}