{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-14T00:05:31.681238Z","repo":{"ref":{"host":"github.com","owner":"DenisSergeevitch","name":"ex-ussr-kinship-research"},"default_branch":"main","clone_url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research.git","html_url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research","description":"Evidence-first genealogy skill for AI agents (Codex, Claude Code): church books, civil, military, deportation and repression records across the former USSR. Replies in your language.","stars":2419,"forks":240,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":2886,"primary_language":"Python","license_spdx":"MIT","created_at":"2026-10-25T10:05:56Z","pushed_at":"2026-11-13T21:38:35Z","security_policy_url":null,"distribution":{"owner_created_at":"2012-08-12T16:06:32Z","owner_type":"User","release_assets":[]}},"commit_sha":"3db37dafe5339490531c7e5ba1008a2ff14e24a1","profile":{"lines_by_language":{"Python":4439},"files_by_category":{"docs":51,"config":13,"source":11,"other":8,"test":7,"binary":2},"source_lines":2606,"test_lines":1833},"pillars":{"ai_provenance":{"score":40.4,"confidence":0.95,"coverage":1.0,"label":"explicit","breakdown":{"attributed_share":0.4036,"suspected_share":0.358,"estimated_share":0.4036,"ai_artifacts":0.0,"flagged_work_units":1.0,"flagged_releases":0.0},"summary":"Explicit AI attribution on 40% of first-party code added; an estimated 40% including velocity signals."},"quality":{"score":61.9,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":20.0,"duplication":96.6,"lint":100.0,"testing":55.0,"docs":65.0,"type_safety":40.0,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.70, no CI test run detected; 54% of function code in complex or long functions; 1% duplicated lines. Weakest area: complexity."},"security":{"score":75.2,"confidence":0.85,"coverage":1.0,"label":"adequate","breakdown":{"secrets":100.0,"sast":81.8,"dependencies":null,"ci_actions":null,"posture":0.0,"scorecard":null},"summary":"Security posture is adequate: 2 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":350.0,"attributed_commits":261.0,"attributed_commit_share":0.7457142857142857,"effective_loc":6645.0,"attributed_loc":2682.0,"attributed_loc_share":0.4036117381489842,"tools_detected":2.0},"findings":[],"evidence":[{"kind":"attribution-summary","description":"OpenAI Codex: 174 attributed commits, 733 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attribution-summary","description":"Claude Code: 87 attributed commits, 1,949 lines added","ref":null,"url":null,"weight":1.0},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"1d4226de0d49c878bf48d9bc998effffe6c6548f","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/1d4226de0d49c878bf48d9bc998effffe6c6548f","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"af02a9ef61374cfff26dc1bbebb58f912247cb63","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/af02a9ef61374cfff26dc1bbebb58f912247cb63","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"1abcb4f2ca5c643039ae8aa91250d7e433c76442","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/1abcb4f2ca5c643039ae8aa91250d7e433c76442","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"40b5da589dd1e12c8901fd73c37937ab0849191e","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/40b5da589dd1e12c8901fd73c37937ab0849191e","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"0e0dc5465f49399124cc98eb20462ee7bfc4beec","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/0e0dc5465f49399124cc98eb20462ee7bfc4beec","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"6571345c03f15c9946084077b77006afd88570ec","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/6571345c03f15c9946084077b77006afd88570ec","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"f437a91f2d15051e5a56a2cd73b4930a487960e9","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/f437a91f2d15051e5a56a2cd73b4930a487960e9","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"60d6815c6516b1593615e6add6beff37206c2265","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/60d6815c6516b1593615e6add6beff37206c2265","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"becae22ef51cc359db740653acc40917a67a4bcc","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/becae22ef51cc359db740653acc40917a67a4bcc","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"8a046e6ceac7b0a38a5bce78cfa9d34b92aecdd1","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/8a046e6ceac7b0a38a5bce78cfa9d34b92aecdd1","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"98362b9a38eb9bf8e631466a50c1f01b5d8d0062","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/98362b9a38eb9bf8e631466a50c1f01b5d8d0062","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"7726596e39ec7ab8e5b08982edbcd3b3f635bf44","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/7726596e39ec7ab8e5b08982edbcd3b3f635bf44","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"66d75bdc51f0d83777ae6bc6d55fa58f183e1ee6","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/66d75bdc51f0d83777ae6bc6d55fa58f183e1ee6","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"e4fdf1d13806f553c320accd91c4e850b3743f0c","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/e4fdf1d13806f553c320accd91c4e850b3743f0c","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"bfe3308019e8517299ea192928cc95e83336d9b0","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/bfe3308019e8517299ea192928cc95e83336d9b0","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"92124201b006a9a2b9ba255399bc012f946ad8f2","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/92124201b006a9a2b9ba255399bc012f946ad8f2","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (3db37dafe5)","ref":"916e093aa09bb180fcd17fd477ca2161989788c4","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/916e093aa09bb180fcd17fd477ca2161989788c4","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (f4b6b3ffc9)","ref":"3a5780613647c2357ac7e143be87674adf06f687","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/3a5780613647c2357ac7e143be87674adf06f687","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (f4b6b3ffc9)","ref":"fa3ff4c127f951521c71626133db6c9e1c7c3815","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/fa3ff4c127f951521c71626133db6c9e1c7c3815","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (f4b6b3ffc9)","ref":"29455e77fba2946b90908615ace1fd6711ffa1fa","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/29455e77fba2946b90908615ace1fd6711ffa1fa","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (f4b6b3ffc9)","ref":"a1d5e524660281350e3d10004c930ff0e627c519","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/a1d5e524660281350e3d10004c930ff0e627c519","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (f4b6b3ffc9)","ref":"8782be17ed89c29e6d1559fb341be0a7ff29dad2","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/8782be17ed89c29e6d1559fb341be0a7ff29dad2","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (787bed50ea)","ref":"70be6a57bd0ff56447c3f874534004d16853ede1","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/70be6a57bd0ff56447c3f874534004d16853ede1","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (f4b6b3ffc9)","ref":"4ff5100b37f4b4c08239f1c5552fc91d16dbd20d","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/4ff5100b37f4b4c08239f1c5552fc91d16dbd20d","weight":0.9},{"kind":"attributed-commit","description":"OpenAI Codex: on merged branch (f4b6b3ffc9)","ref":"1e925364c4133ef2bbc063af7d2dc961444ef913","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/1e925364c4133ef2bbc063af7d2dc961444ef913","weight":0.9}],"data":{"attributed_loc_by_commit":{"d7fbb03c75f13f7b39c196f7a86f101b1034f4d4":425,"5a430a2e8eb11ccf45ef8ed8e49c6abb8a1436d0":0,"89018eaab754d1258eb9d1b2f852debf10e4f822":257,"2091cb27738cb4e63bcbb719477471ea8e99376b":0,"101821c456e35ca82d9f2def4d886cad014730be":0,"f396ed3bcf42cde4535b4c8054a895f657eee2db":232,"47097b5e0e4114d6bd83e7b4e6838c2e8bb5fc12":8,"b693079976f0ef7266530cd36903f0e88f2c5a81":0,"aff8583342b916ead155bad3e07f78543c9ae074":0,"0585e2e16fc7a9b3bb62dd2be1d3f210230ab178":2,"737ce5f297aca938de33b55ecebd8a7d08b8efe6":11,"6a924b31438d64fa124195c481b07a86bbe9b899":0,"fce7ad968679133780beb79832c5b9721479182e":0,"06a2517380289ed13439c947d83af3038ac02539":0,"543eb479000ddf00505555649772c485e9839609":0,"34e460ed0c4b2c30bd5c60bae06c367d9472ae11":0,"d90927bba4880556b038ddd0e8260763f216f0b0":0,"63128c25868a3a757a71349945ccab1dbfad3c19":0,"894b062c7993d1c1822688a23d99788436157d35":0,"e67e4a8c3804d0b341c679149b3acebf95a266d7":0,"dbfa2b6be6ff135d861a70a60b749b77e90512c7":0,"3a56a2de07a9e3d6b7f706bd5434f5b35c2b07e2":0,"7165a458b5b6b653464ee129e69e517325fbcab6":20,"0028cc72e8e0c1a1a1893c3ba1c60bd2ba6ddc52":0,"5e3fca5111363a9c615e06eee19c5f507a70d49a":0,"49a0ff7a03daa14df6d9962ae9bbfe9ff4674bb9":0,"51e93a49a9cf886262ba6556dd8ec1c7a0693d02":0,"55dcc914e372b707966f6b09b8ad093026b5a87a":43,"aac3c08d372baf68f647a7a31f97680f4a53e4ec":0,"23c6195e5e74ded0a1c4caa117d76cb93941edf6":0,"c948e4432e603d35f7c7857ad13b62842cf7ef6d":40,"e88b0592a7ae79c0488228f5c01da53370be5485":16,"6ed7a419a4e98fad70e26a9cc5698d4c11dd79f6":0,"16e4727dd5765b7e6d7ff740647214be3506125d":0,"03fb4613182728fea82ba9f82631b874ca274d0d":15,"3c389bc452250194126cd7cc903e1cc78600d560":0,"5ea2a8ded15b6debfc11c271e888cd73e4f31d42":0,"7685904a3cc7c4ee6c60106b472b4ef67700e443":0,"ef268e819c1d0b683b041b2398e69b21272ff717":0,"418bb30f4c529d70a88ece0cd26187fd7d047c11":0,"30f973a90a0d241ccfdecf7409476b51e0c08eb4":0,"d4c186c63e5d88097576d6f1345654b9e2878dd9":0,"30e6c1b54aec1a8faef0bd851b9feefa4c089ffc":16,"c8fb25ce9786a833c61acb6440e3508575dee49c":0,"5d73f58fe0a5c38492eb4a0a443213b039cfa03e":0,"a31d41e11043f873d2151e7e91aea8db3b3d0465":0,"40f2536059ec189fbbd9b2e19e74040d53f04ef6":0,"e7c5adbca59f412d96dd54ca90bd030a71efd523":0,"a684dd2d379b5727cbb44366398a7f806f4bae8b":1,"0c80de2ef34056e4a868f751b97bfdddc7fb4091":0,"634b30c1a943991182333bf00bbb487640a16355":0,"bae01f386a5a46e98f07eedcd39610afa9c4531d":0,"d1bfe5245fa5707ea95a8fb4602ea757d3f10198":0,"40990513d80986e7d902585d69cc36adaa391762":0,"0b14db529e22403a5fbaff2f9dc1f079618315f6":0,"a65eae6045fb0ae222b0521959ad4c8eee72e9de":0,"9f1d8bf8c336331020341fef7e2f24442d5d5dfc":0,"ef88f486ba16a6a4d8ef30072fe7c0307f98614b":0,"1cf14fc15103440e110cf59dad29c715ad160f76":0,"c84b12c638b0792d545ff811743445a89f1559cc":222,"742dada663bb271410376974772c16b868f0f32c":0,"03e6d63a2dd1c09436396fa66713bc6739a958fd":41,"feded6cfb91ac19aaaf868b891c6c990da16b515":0,"ec8651cd001c4814f422a4d05891cc3ba0d6aecc":86,"8ecb043557dada996f21b1ced2b64a5e3c3f2335":0,"5931cc5d558a221c7cd48195eb5430dcf641325a":0,"a5072b276946024a3460079cb4723f45dc34e700":0,"ffd1e43635f6cfabbec4df6083c36096ce509f30":0,"bf4dff78c69dff914a85caf819c07ea4f4a95468":0,"59295acd7644195e8330c876d5db4b7fd245cb25":0,"ec812fc510561f70c97005f50d16e984db35b32f":0,"b4a4776c39f1985b3a607205cef9ef442a278a79":0,"54b78851304050fcbec9cf71bd50386f816a8adf":0,"17392347d83c163ba6ba184e6786f00ff0073085":0,"b6537978893a3ca1894adc8587873c46456cda9f":0,"1c88f32582a51e0b6ca5b8a7b982bd7e2e707f8c":0,"a9a540bf9c1c46c48fd73454cd79aada77b4b601":0,"ac3183860f2b0ce875eeb6bb643cefb4c8feca5a":0,"357c6f56212b2d5666b2e90ca323c46dc2d9c918":0,"4028e0c0ebec9f9ab90b55f779adb2d027935125":0,"40a8d40f3246f4377a7c05597f775fe513b6b42b":0,"ac07032e31e9a6e64cc8d24ceaeca5cf000be62e":0,"ce28c81d96e42e2c1e47e8f931660bba4a75986d":0,"fb2bc1a5016444708de388f5d9e40c1cca8db2b5":0,"0578fd0b370b945737617b3ecf5b2d4404c82c7e":0,"6c715a48cb20ac912d45a3e86aceb8623dbc46b1":0,"97a26aa6b793d92558103d01b99f51f72d8f1ab5":0,"f88d32d0172f07624c0ce563dfb9993dbcc5accb":0,"a3bee8633ee79b6cb8dd98f5a43d4f2c131324fd":0,"6a2db772ba87afa525164fbaff2806d473a19f72":0,"6d610215f85d6e2c5003444ae381b90bac965008":0,"b7eb659e0e13081155f8be1bda0533e578e7328b":0,"272f0ca035a232fd86aa2e1e2100c4c1bdeec23a":0,"27098a072c3ef02513bb50c10a00b50d9e4ffc7f":0,"24d313d6ece2eee7f438aff4d48039330ab6182e":0,"bbade93c5b7b20b5ea9d8ffb0258707127b38eb0":0,"3c59f5490769999d16f3978dc36c76b11ab38b76":0,"21f788d10d7fbd94b9bcd6c16ae6a73c4617065d":0,"817b6c62946c39c6020333dd93c873b5f80e6125":0,"b2bc4a57dbafc469e78e2799dda739c870877203":0,"2242de70819aff613517e46e7484b1fcf24909af":0,"a9247093ad4fe3fee5e21905c7bf259a3d626b71":0,"a1b225ad8d1a6160dc5ef8e2b5d0a74661d2920d":0,"0eb1ef4c5ebe676b1cbfe99c9654a1e9914e1f7b":0,"167eeb82f0a7eb5b0d46fb89b147ac75bccea6d5":0,"bc2521dc61c2392c41709b85312d52642d30e1e0":0,"1c8155d6d52ba8abfb0567f38fbc5977d772c2fa":0,"10a299a739f2bf5c574b172345db5b42cb528c07":0,"bda5918866820321194a8a08b7d99a9e5924e440":0,"1d54b6dd98d7379b61c64b756bf396223e8d3edd":0,"d28fa4ab3c3dbf0ebdb476c9b75cf30c009ce51b":0,"706a5f38fda96725f12c7f5edddf1cfd6ad49b68":0,"996c41dab4d595d45ed338926ab8ab055bbee760":0,"470ad99dbda7bce6c2c02265253c1c6643fad0be":0,"5b53c707a3a20aa4440d4f76aaf348dd0441c321":0,"c9a40789607cc777cf0b77dabbd504ff6d1bb174":0,"dd5d86cf938ad566d3cde0239d345f82add900f3":0,"ed4770f838936c1c103d3533b503326ae2340475":0,"1cf85aba137a07537682e762b667a0ff4c9ef389":0,"3a0e7ce6fc2495370f37df76b0ae7ee4bce8cbf1":0,"d8dc3554d99c9874aa5429ca57627f9be5e869bd":0,"8e435958651b2e33cbe790857127cf60c5b2b8e7":0,"ce2aaf2a6abd1ebad22b804292a86c34eeb8f27d":0,"226636ea2e1d82fe7aaab78beb6efd1288ebfa09":0,"697f70319d2c0ebe01ee81b11f1ce50bf9bf394f":0,"88f478c3dff213968bfd650e6a707f61c0dc27ad":0,"1dd23e54d4d8ec96291d55a0ccd83a8342ab32ab":0,"6b606616e3cdbd9e1ebedf2b851bb0e3ac712e38":0,"a2bdcdc46f4f4125414e38b89ab426807be55d65":0,"6a9a2a2183c242ca0d80e15ba6743fc1243926a3":0,"27ea6bb3135d92dd9daa0fc363e02289f4ebcba3":0,"69e493daf2b10307c8769610c16ccbe1e5d086ec":0,"0ae7db863a1f709be21f10a1ec0d145c1755a01a":0,"8197fba6a359cf0a273cc4f374e0c0b3c53c9008":0,"40f76fe5055967aca13dad0e40748930abe54968":0,"29a2fc952deecc68b0ea88615b2af0f7d2479c54":0,"b9c4965bc627ce16fe0b64a832223023d07d9470":0,"138d559b31859acf853fa41fb64fae1be4927f10":0,"ca38ee2b5f54daa40f288c3699054326ea15f497":0,"1c26f51897348afdb0fc56ead39e9a285b8c3eae":0,"3d02ffeee2d1a6377278a9609a64fa7fb0d17b89":0,"2a85bfa3d8a2ea28c104e731cfaca2e7dd6d3868":0,"db4141d9cbd3b58df3f2a0ad9c5c1503ce876843":0,"424dadf5c483f06887e52459a99978031a5fa16e":0,"883a034146476a02e5b46932d3aace6eb6648794":0,"af20f0ca6ce5c918e307b33b7c51d86ab0b17b17":0,"5b8dfe951ea04512d6ba4bed3109b5e5e37ad9fc":0,"c525b696c942d6478b2e38b94cfbc3627ebcd2e7":0,"3b5902cc6e647464cfea2e758d1b1565c54eac58":0,"5c376dc83d8736eb323379b74695b56ba51f44dc":0,"5b57296c30c75ca7dd7a76191846687d7102d911":0,"dd125fc707439b307d1973d186c1954331073616":0,"932fcffcdfcf4d19d3b4e14bb9130a13715af7dd":0,"9ebaad5089f7893a2ef3b75a1f9d0547b57110b2":0,"666857e27ac86e9f475bc9cb74f7be8bde1b3a80":0,"03deeb8584d6c71872d9ff9f13f902c2498ea8b0":0,"aa4bfbc88ac0e0856cd9a1829e77c8ec4933c6ff":0,"7fc7685a036ba48c74dcf1087f0e75f5fb047382":0,"7986cbd8ae4fcd2b3a0b4587ecb23f78e75546fd":0,"6fdbcee420a9abea175c42fe04fa278a31b2f8df":0,"5fd43d240e2fd64d846bc094db49d1043fa8c047":0,"4d5f1f1cef73d281751325e779db944f487ceba6":0,"f1b86f9802e96c83ae7d9a85271350fb2eef8059":0,"1b917994d8f8d4b5e478f823f8459036a7465580":0,"81eec6224d5c0d39960ad6c975cd902ee760aa44":0,"93d223b04416cbe8ae1821c181432387651462eb":0,"1823718df78ac279a73072bc91637e0ccdc4c22e":0,"f6af9539bdf9dacecf47ec30c61d2c0b592177af":149,"8e9617918c7972dc31f005978542a65e2e0346d2":7,"bde9de95e10d85ad798f703436d2b7e88be103cb":0,"74a2d3faa2e044626530460ca8ccd0ef13eef620":20,"606b2882d52bcdaa229622c57e94cc7cd88dcebc":0,"560f99dc1c2c4e179f3229d7f0ce6256a0182a1e":0,"8047b008f02e2e201aa8516304d631c6fb3cfd53":0,"245b1592bfc783f2afaa902f60713b8e04a061e3":0,"ec1b1847d691135c97126debb339b7253fa65ad0":0,"982eaaf613f5f21bcf6b75c76aa7f8d4de13810d":0,"5b18cc7bc8f8ebaffa877133a5250558e196d258":0,"4d4fdd16e3fc27e82e1bde8899a601faab8f7c7c":0,"5e6766a300bc8293a8182df991aa112da7bd2d2a":0,"0410e5f05c13d9dcbe071f3844073ef95b50d665":0,"53c6b5fcd513e21dfcd00daee43091554937f96b":0,"49a556db36fc69b2d91459511bb5f15b1291c71d":0,"29e5251a94659cca1ab4b04e0193caf3e4da462e":0,"e063400aea52c33dbab14854808c4997174ae912":0,"5748e7035966ee2bf202bb18faee71f0107c7e08":0,"69478a901c6f99c3bd1e12b14b7569ccc0e13119":0,"f5e31d08f1e4bac845e9a0b41a0116048def37cd":0,"9577e798305087c99213f1b3c7bca67629977c5b":0,"bdb1df8ae4c31aad926d350f46a8b1057d2ddc3b":0,"6f8e8c70dcfa7d83f84541eac128301a4bc4aee8":0,"449c5e561bc8763d5ecce7f49efb7fabc0a0705d":0,"79a17effee238f7456155827de87d1bf0b9cb628":0,"42291b3158360eddfddb39fc6bdd74af68114435":0,"c41bf1b1bdc537faf49c60dc19a7c9dabb619b9d":0,"eab655371b33f36dadcde6fbcc41d1d9a284a8e1":0,"513f62345a54d4ebd449df0a1944fbbe60ae8c44":635,"3af4c70df3029567e6bd75b91976e38ff54f9d5e":7,"ca5a052e02d4455326887d4528549523dd6ae7cb":0,"f1c670def12352719a99268d4568c6c0568f378d":0,"f70c05748a0800be2352fda525bd99e13f5e8630":0,"17380a05ddbc935c716053236e3e0e5ab1b69f26":0,"90a830ebfa500a0204bd7f3c96eb1d5fe569efd9":0,"2cbc7d0a842c545ea0818cc7fbed255d27649c7a":0,"583f1f471b7db7b3342c7e2d1a9cd6e4b4a7f056":0,"5670a4a956f7444bc3ce66671858f0613e1583c9":0,"b9636a6f0a24bc150b523727e98b78ff4598e75c":176,"5f4e0bb725101dec918860f927e387ee36f6645e":0,"a182bb5bfb42d808bea4a5af0cc9d119e1c4e9a6":0,"f89e9d30c5d35974f1c225f14cc914c78b0d2f94":0,"ebf624f6d38a2feb298e23ed0c3dd6fc70467a63":0,"62807e7a610c7f2229a383c0e6a956bbab31aa2d":88,"349d5ffdca56420bf4e084e74f6677ca16858c0f":0,"67b7e70df5f53ce5310e03960a7e948f4bfdd346":0,"6072e66ab92544d50d35f1d1030f3221c693b71a":0,"dc161137d090d8ab754d76924d7adb151b1fd035":0,"8c068c5d4cdfe68c4ddc8d13fb433e7462671578":0,"0db1771a82ad38b54f0245b201876bc73d5ff343":0,"eb41218937a59ea1b48e352dbbd714e595c8904a":0,"0962f05867fe4dfe24696fa1afc18ac4c3d5c82d":0,"d508e7733614be7a280ea9088ce3fd989cbf7c04":0,"9c8a274539fc0cf07ac17583899a8ef8ee0eeaa4":0,"7df26254d5cbbe013e20c5d898843cacf9511fb1":0,"6b7c0c2a493864f2d6d4eaaf38c46caa01b9da1b":0,"27904b06779ee050f3ccad1c0cca136545762e07":0,"f810aee0c3dd9c04eecc93cee085f3f2625c7adb":0,"ede377bc379cf5075cfe0a5856071cc28a6a61dd":0,"52f1ba7f81130c329900c93d4cf5a5e8d07bcc90":0,"d6ff97af30dbf80c2b1aa3a9804eac0864133e30":0,"ba5dc42a2bf2c69d12ba1c380d5e1128d729fbcb":0,"0e36248ada3c7a1e362eb5b47a4ea69c82886ff0":0,"aea7f7538a575c03af5eb01102a92f724dfeb43d":0,"03abb88303a8a938bae7beff6fdf6be2cdfafc8d":0,"fc267a1170e57389cf07fb3596646fa7e7dc550f":0,"4ff5100b37f4b4c08239f1c5552fc91d16dbd20d":0,"1e925364c4133ef2bbc063af7d2dc961444ef913":0,"860685c85d2f0ca4d86d9e6d9bc89c2a4751d90f":0,"99ca5587fa2bc0793e92855bdb585f0b182ed9a3":0,"70be6a57bd0ff56447c3f874534004d16853ede1":0,"8782be17ed89c29e6d1559fb341be0a7ff29dad2":0,"a1d5e524660281350e3d10004c930ff0e627c519":0,"29455e77fba2946b90908615ace1fd6711ffa1fa":0,"fa3ff4c127f951521c71626133db6c9e1c7c3815":0,"3a5780613647c2357ac7e143be87674adf06f687":0,"bfe3308019e8517299ea192928cc95e83336d9b0":0,"92124201b006a9a2b9ba255399bc012f946ad8f2":0,"916e093aa09bb180fcd17fd477ca2161989788c4":0,"e4fdf1d13806f553c320accd91c4e850b3743f0c":0,"98362b9a38eb9bf8e631466a50c1f01b5d8d0062":0,"7726596e39ec7ab8e5b08982edbcd3b3f635bf44":19,"66d75bdc51f0d83777ae6bc6d55fa58f183e1ee6":21,"8a046e6ceac7b0a38a5bce78cfa9d34b92aecdd1":16,"becae22ef51cc359db740653acc40917a67a4bcc":0,"60d6815c6516b1593615e6add6beff37206c2265":0,"f437a91f2d15051e5a56a2cd73b4930a487960e9":0,"6571345c03f15c9946084077b77006afd88570ec":109,"0e0dc5465f49399124cc98eb20462ee7bfc4beec":0,"40b5da589dd1e12c8901fd73c37937ab0849191e":0,"1abcb4f2ca5c643039ae8aa91250d7e433c76442":0,"af02a9ef61374cfff26dc1bbebb58f912247cb63":0,"1d4226de0d49c878bf48d9bc998effffe6c6548f":0},"tools":{"claude-code":{"name":"Claude Code","commits":87,"loc":1949,"first_seen":1792922742,"last_seen":1794457420},"openai-codex":{"name":"OpenAI Codex","commits":174,"loc":733,"first_seen":1793012268,"last_seen":1794605707}},"monthly":{"2026-10":{"loc":5398,"attributed_loc":1435},"2026-11":{"loc":1247,"attributed_loc":1247}}},"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":30.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":6645.0,"flagged_loc":2379.0,"flagged_loc_share":0.3580135440180587,"max_loc_per_hour":531.7851598882335,"median_loc_per_hour":56.41166600868536,"pr_timed_units":0.0,"excluded_import_loc":0.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"2,379 lines of first-party code in ~4.5h (532 lines/hour, 2 commit session)","ref":"6e26e47f0d53ed79eb709e08450a5c7499d4ba21","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/commit/6e26e47f0d53ed79eb709e08450a5c7499d4ba21","weight":0.15953554796647004}],"data":{"flagged_loc_by_commit":{"c0a6d812d7565a0ba2e073302a69b28dfd1130d0":2213,"6e26e47f0d53ed79eb709e08450a5c7499d4ba21":166},"excluded_import_commits":[]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":40.0,"flagged_releases":0.0,"max_loc_per_day":6971.8},"findings":[],"evidence":[],"data":{"releases":[{"from":"v1.4.0","to":"v1.5.0","loc":0,"days":0.1,"loc_per_day":0.0,"flagged":false},{"from":"v1.5.0","to":"v1.6.0","loc":0,"days":0.58,"loc_per_day":0.0,"flagged":false},{"from":"v1.6.0","to":"v1.7.0","loc":2395,"days":0.4,"loc_per_day":6056.9,"flagged":false},{"from":"v1.7.0","to":"v1.8.0","loc":0,"days":0.58,"loc_per_day":0.0,"flagged":false},{"from":"v1.8.0","to":"v1.9.0","loc":438,"days":0.37,"loc_per_day":1197.7,"flagged":false},{"from":"v1.9.0","to":"v1.10.0","loc":119,"days":0.14,"loc_per_day":843.4,"flagged":false},{"from":"v1.10.0","to":"v1.11.0","loc":15,"days":0.49,"loc_per_day":30.5,"flagged":false},{"from":"v1.11.0","to":"v1.12.0","loc":728,"days":0.1,"loc_per_day":6971.8,"flagged":false},{"from":"v1.12.0","to":"v1.13.0","loc":0,"days":0.18,"loc_per_day":0.0,"flagged":false},{"from":"v1.13.0","to":"v1.14.0","loc":20,"days":0.04,"loc_per_day":480.0,"flagged":false},{"from":"v1.14.0","to":"v1.15.0","loc":16,"days":0.04,"loc_per_day":384.0,"flagged":false},{"from":"v1.15.0","to":"v1.16.0","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v1.16.0","to":"v1.17.0","loc":0,"days":0.12,"loc_per_day":0.0,"flagged":false},{"from":"v1.17.0","to":"v1.18.0","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v1.18.0","to":"v1.19.0","loc":0,"days":0.09,"loc_per_day":0.0,"flagged":false},{"from":"v1.19.0","to":"v1.20.0","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v1.20.0","to":"v1.21.0","loc":1,"days":0.04,"loc_per_day":24.0,"flagged":false},{"from":"v1.21.0","to":"v1.22.0","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v1.22.0","to":"v1.23.0","loc":0,"days":0.47,"loc_per_day":0.0,"flagged":false},{"from":"v1.23.0","to":"v1.24.0","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v1.24.0","to":"v1.25.0","loc":349,"days":0.41,"loc_per_day":851.8,"flagged":false},{"from":"v1.25.0","to":"v1.26.0","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v1.26.0","to":"v1.27.0","loc":0,"days":0.94,"loc_per_day":0.0,"flagged":false},{"from":"v1.27.0","to":"v1.28.0","loc":0,"days":0.79,"loc_per_day":0.0,"flagged":false},{"from":"v1.28.0","to":"v1.29.0","loc":0,"days":0.04,"loc_per_day":0.0,"flagged":false},{"from":"v1.29.0","to":"v1.30.0","loc":0,"days":0.08,"loc_per_day":0.0,"flagged":false},{"from":"v1.30.0","to":"v1.31.0","loc":0,"days":1.1,"loc_per_day":0.0,"flagged":false},{"from":"v1.31.0","to":"v1.32.0","loc":0,"days":1.01,"loc_per_day":0.0,"flagged":false},{"from":"v1.32.0","to":"v1.33.0","loc":0,"days":0.91,"loc_per_day":0.0,"flagged":false},{"from":"v1.33.0","to":"v1.34.0","loc":0,"days":0.18,"loc_per_day":0.0,"flagged":false},{"from":"v1.34.0","to":"v1.35.0","loc":0,"days":0.63,"loc_per_day":0.0,"flagged":false},{"from":"v1.35.0","to":"v1.36.0","loc":176,"days":1.29,"loc_per_day":136.2,"flagged":false},{"from":"v1.36.0","to":"v1.37.0","loc":0,"days":1.06,"loc_per_day":0.0,"flagged":false},{"from":"v1.37.0","to":"v1.38.0","loc":0,"days":0.91,"loc_per_day":0.0,"flagged":false},{"from":"v1.38.0","to":"v1.39.0","loc":0,"days":1.51,"loc_per_day":0.0,"flagged":false},{"from":"v1.39.0","to":"v1.40.0","loc":818,"days":0.49,"loc_per_day":1675.2,"flagged":false},{"from":"v1.40.0","to":"v1.41.0","loc":88,"days":1.11,"loc_per_day":79.3,"flagged":false},{"from":"v1.41.0","to":"v1.42.0","loc":0,"days":0.89,"loc_per_day":0.0,"flagged":false},{"from":"v1.42.0","to":"v1.43.0","loc":0,"days":1.05,"loc_per_day":0.0,"flagged":false},{"from":"v1.43.0","to":"v1.44.0","loc":165,"days":0.97,"loc_per_day":170.4,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":2606.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":2.0,"findings_high":2.0,"findings_medium":0.0,"findings_low":0.0,"weighted_findings":1.5,"scanned_lines":2606.0,"parse_errors":0.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":"scripts/build_pdf.py","line":224,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:scripts/build_pdf.py:224"},{"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":"scripts/gwar.py","line":11,"fingerprint":"python.lang.security.use-defused-xml:scripts/gwar.py:11"}],"evidence":[],"data":{"rulesets":["python"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"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.25,"unpinned_manifests":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":1.0,"binary_assets":0.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"star-burst","description":"2419 stars in 20 days (124/day)","ref":null,"url":null,"weight":0.0}],"data":{"signals":["star-burst"],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":100.0,"function_nloc":1937.0,"mean_ccn":9.7,"p90_ccn":23.0,"complex_functions":17.0,"long_functions":1.0,"many_param_functions":1.0,"risky_nloc_share":0.5369},"findings":[],"evidence":[{"kind":"complex-function","description":"main in scripts/audit_evidence.py: complexity 101, 253 lines","ref":"scripts/audit_evidence.py","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/blob/3db37dafe5339490531c7e5ba1008a2ff14e24a1/scripts/audit_evidence.py#L212","weight":1.0},{"kind":"complex-function","description":"check_registers in scripts/check_gedcom.py: complexity 78, 99 lines","ref":"scripts/check_gedcom.py","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/blob/3db37dafe5339490531c7e5ba1008a2ff14e24a1/scripts/check_gedcom.py#L316","weight":1.0},{"kind":"complex-function","description":"check_syntax in scripts/check_gedcom.py: complexity 52, 59 lines","ref":"scripts/check_gedcom.py","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/blob/3db37dafe5339490531c7e5ba1008a2ff14e24a1/scripts/check_gedcom.py#L156","weight":0.8666666666666667},{"kind":"complex-function","description":"browser_import in scripts/familysearch_browser.py: complexity 47, 61 lines","ref":"scripts/familysearch_browser.py","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/blob/3db37dafe5339490531c7e5ba1008a2ff14e24a1/scripts/familysearch_browser.py#L46","weight":0.7833333333333333},{"kind":"complex-function","description":"register in scripts/register_search.py: complexity 40, 91 lines","ref":"scripts/register_search.py","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/blob/3db37dafe5339490531c7e5ba1008a2ff14e24a1/scripts/register_search.py#L169","weight":0.6666666666666666},{"kind":"complex-function","description":"check_links in scripts/check_gedcom.py: complexity 37, 42 lines","ref":"scripts/check_gedcom.py","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/blob/3db37dafe5339490531c7e5ba1008a2ff14e24a1/scripts/check_gedcom.py#L262","weight":0.6166666666666667},{"kind":"complex-function","description":"collect in scripts/gwar.py: complexity 34, 53 lines","ref":"scripts/gwar.py","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/blob/3db37dafe5339490531c7e5ba1008a2ff14e24a1/scripts/gwar.py#L63","weight":0.5666666666666667},{"kind":"complex-function","description":"check_header in scripts/check_gedcom.py: complexity 28, 38 lines","ref":"scripts/check_gedcom.py","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/blob/3db37dafe5339490531c7e5ba1008a2ff14e24a1/scripts/check_gedcom.py#L217","weight":0.4666666666666667},{"kind":"complex-function","description":"manual_items in scripts/register_search.py: complexity 25, 29 lines","ref":"scripts/register_search.py","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/blob/3db37dafe5339490531c7e5ba1008a2ff14e24a1/scripts/register_search.py#L121","weight":0.4166666666666667},{"kind":"complex-function","description":"handle_starttag in scripts/build_pdf.py: complexity 23, 31 lines","ref":"scripts/build_pdf.py","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/blob/3db37dafe5339490531c7e5ba1008a2ff14e24a1/scripts/build_pdf.py#L69","weight":0.38333333333333336}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":2113.0,"duplicated_lines":12.0,"duplicated_share":0.0057,"files":11.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: scripts/gwar.py:291 and scripts/register_search.py:276","ref":"scripts/gwar.py","url":"https://github.com/DenisSergeevitch/ex-ussr-kinship-research/blob/3db37dafe5339490531c7e5ba1008a2ff14e24a1/scripts/gwar.py#L291","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":2606.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":0.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":1.0,"test_lines":1833.0,"source_lines":2606.0,"test_ratio":0.7034,"ci_files":0.0,"cochange_share":0.9667,"cochange_commits":30.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":1.0,"check:contributing":0.0,"check:changelog":0.0,"readme_lines":109.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":0.0,"check:low_escape_density":1.0,"escapes":1.0,"escapes_per_kloc":0.384},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"x-blame","pillar":"ai_provenance","status":"ok","tool_version":"git-blame","metrics":{"ai_lines":1500.0,"other_lines":1106.0,"files_blamed":11.0,"blame_failures":0.0,"quality:ai_findings":0.0,"quality:ai_per_kloc":0.0,"quality:other_findings":0.0,"quality:other_per_kloc":0.0,"security:ai_findings":1.0,"security:ai_per_kloc":0.667,"security:other_findings":1.0,"security:other_per_kloc":0.904,"security:ratio":0.74},"findings":[],"evidence":[],"data":{"sampled":false,"comparable":true},"error":null}],"flags":[]}