{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-3+qual-1+sec-1","generated_at":"2026-11-13T22:32:56.656052Z","repo":{"ref":{"host":"github.com","owner":"huamidev","name":"GestaltX"},"default_branch":"main","clone_url":"https://github.com/huamidev/GestaltX.git","html_url":"https://github.com/huamidev/GestaltX","description":"An MobileGestalt editor for iOS 27.x, featuring region-code tweaks, device presets, backups.","stars":7285,"forks":2596,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":2147,"primary_language":"Swift","license_spdx":"GPL-3.0","created_at":"2026-11-09T05:15:48Z","pushed_at":"2026-11-13T16:51:22Z","security_policy_url":null,"distribution":{"owner_created_at":"2026-11-09T05:09:16Z","owner_type":"User","release_assets":[{"name":"CHANGELOG.md","size":10853,"download_count":48,"release_tag":"v1.1.1","url":"https://github.com/huamidev/GestaltX/releases/download/v1.1.1/CHANGELOG.md"},{"name":"CHANGELOG_ZH-CN.md","size":10348,"download_count":51,"release_tag":"v1.1.1","url":"https://github.com/huamidev/GestaltX/releases/download/v1.1.1/CHANGELOG_ZH-CN.md"},{"name":"GestaltX_1.1.1.ipa","size":6774794,"download_count":1343,"release_tag":"v1.1.1","url":"https://github.com/huamidev/GestaltX/releases/download/v1.1.1/GestaltX_1.1.1.ipa"},{"name":"CHANGELOG.md","size":9576,"download_count":211,"release_tag":"v1.0.7","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.7/CHANGELOG.md"},{"name":"CHANGELOG_ZH-CN.md","size":9112,"download_count":296,"release_tag":"v1.0.7","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.7/CHANGELOG_ZH-CN.md"},{"name":"GestaltX_1.0.7.ipa","size":3563948,"download_count":6434,"release_tag":"v1.0.7","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.7/GestaltX_1.0.7.ipa"},{"name":"CHANGELOG.md","size":9412,"download_count":67,"release_tag":"v1.0.6","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.6/CHANGELOG.md"},{"name":"CHANGELOG_ZH-CN.md","size":8951,"download_count":81,"release_tag":"v1.0.6","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.6/CHANGELOG_ZH-CN.md"},{"name":"GestaltX-1.0.6.zip","size":3538657,"download_count":525,"release_tag":"v1.0.6","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.6/GestaltX-1.0.6.zip"},{"name":"CHANGELOG.md","size":8093,"download_count":353,"release_tag":"v1.0.5","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.5/CHANGELOG.md"},{"name":"CHANGELOG_ZH-CN.md","size":7664,"download_count":658,"release_tag":"v1.0.5","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.5/CHANGELOG_ZH-CN.md"},{"name":"GestaltX_1.0.5.ipa","size":2942882,"download_count":12928,"release_tag":"v1.0.5","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.5/GestaltX_1.0.5.ipa"},{"name":"CHANGELOG.md","size":4248,"download_count":421,"release_tag":"v1.0.4","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.4/CHANGELOG.md"},{"name":"CHANGELOG_ZH-CN.md","size":3976,"download_count":844,"release_tag":"v1.0.4","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.4/CHANGELOG_ZH-CN.md"},{"name":"GestaltX_1.0.4.ipa","size":2865180,"download_count":13396,"release_tag":"v1.0.4","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.4/GestaltX_1.0.4.ipa"},{"name":"GestaltX_1.0.3.ipa","size":2744822,"download_count":12136,"release_tag":"v1.0.3","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.3/GestaltX_1.0.3.ipa"},{"name":"GestaltX_1.0.2.ipa","size":2489231,"download_count":6841,"release_tag":"v1.0.2","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.2/GestaltX_1.0.2.ipa"},{"name":"GestaltX_1.0.1.ipa","size":2459454,"download_count":3367,"release_tag":"v1.0.1","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.1/GestaltX_1.0.1.ipa"}]}},"commit_sha":"d1d5473734440e8f2e797494ac373427c02fd674","profile":{"lines_by_language":{"Swift":15605,"Objective-C":1438,"Python":1113,"Rust":1089,"C":354,"Shell":152,"JavaScript":37},"files_by_category":{"vendored":177,"source":81,"test":60,"docs":18,"config":17,"other":11,"binary":2,"generated":1},"source_lines":13873,"test_lines":5915},"pillars":{"ai_provenance":{"score":0.0,"confidence":0.65,"coverage":1.0,"label":"possible","breakdown":{"attributed_share":0.0,"suspected_share":0.6101,"estimated_share":0.0,"ai_artifacts":0.0,"flagged_work_units":4.0,"flagged_releases":1.0},"summary":"Weak signals consistent with AI-assisted development."},"quality":{"score":72.9,"confidence":0.9,"coverage":1.0,"label":"adequate","breakdown":{"complexity":54.0,"duplication":84.7,"lint":100.0,"testing":66.3,"docs":85.0,"type_safety":40.0,"process":null},"summary":"Code quality is adequate: test-to-source ratio 0.43, no CI test run detected; 21% of function code in complex or long functions; 3% duplicated lines. Weakest area: type safety."},"security":{"score":73.4,"confidence":0.85,"coverage":1.0,"label":"adequate","breakdown":{"secrets":84.6,"sast":97.9,"dependencies":95.1,"ci_actions":42.1,"posture":0.0,"scorecard":null},"summary":"Security posture is adequate: 1 known vulnerabilities in 1 dependencies; 5 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":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":117.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":20873.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2026-11":{"loc":20873,"attributed_loc":0}}},"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-3","metrics":{"work_units":31.0,"flagged_units":4.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":18608.0,"flagged_loc":12734.0,"flagged_loc_share":0.68432932072227,"max_loc_per_hour":1372.2086104305215,"median_loc_per_hour":159.0689771522221,"pr_timed_units":0.0,"excluded_import_loc":2265.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"1,089 lines of first-party code in ~0.8h (1,372 lines/hour, 1 commit session)","ref":"601be665cf31a94d80480de2bdb2f2ac98829e26","url":"https://github.com/huamidev/GestaltX/commit/601be665cf31a94d80480de2bdb2f2ac98829e26","weight":0.41166258312915643},{"kind":"velocity-burst","description":"5,721 lines of first-party code in ~4.3h (1,334 lines/hour, 2 commit session)","ref":"683649f2fc23ae6701c4ba6955038a6e22cbabb1","url":"https://github.com/huamidev/GestaltX/commit/683649f2fc23ae6701c4ba6955038a6e22cbabb1","weight":0.4000958363012368},{"kind":"velocity-burst","description":"3,709 lines of first-party code in ~4.0h (927 lines/hour, 1 commit session)","ref":"72f46754820991c5c7706afce9573b117aadbae7","url":"https://github.com/huamidev/GestaltX/commit/72f46754820991c5c7706afce9573b117aadbae7","weight":0.278175},{"kind":"velocity-burst","description":"2,215 lines of first-party code in ~4.3h (515 lines/hour, 27 commit session)","ref":"e5ceea5f6c6efc9cd2711452adcedfa8713e45b2","url":"https://github.com/huamidev/GestaltX/commit/e5ceea5f6c6efc9cd2711452adcedfa8713e45b2","weight":0.15460479545013894}],"data":{"flagged_loc_by_commit":{"601be665cf31a94d80480de2bdb2f2ac98829e26":1089,"72f46754820991c5c7706afce9573b117aadbae7":3709,"8ddebc07c6ef0f01aa24b567de4c364d31a69932":180,"5f7f4972501a366c442c2908cb81272aba9e15d7":61,"39209188d32689faa6189338ff11fef0df06529f":110,"bb9d500b30b666eb827d4acd04c1b99b0fb76f2a":100,"9c6d7e4c6a94d3fd4283f48779e1448a2a025295":61,"c95d107d19b4aa5432ee2f19998b63fa8e5a65d8":67,"9a56d6d789dbbac6cbc84f27d4280851ca65cbc6":92,"194254086a5fe98833b43970c64351a791c7c313":70,"d6b7cc084fde4a87b1fa82eb353a572d26472105":51,"dd08abf1088f1bd30b3f20a748f5904a72ea5358":58,"6b1ea0cecd275003fbdded13249f6a6aa877b5fe":183,"47d37a5a43a0dae1f2d7c408677776a5be116bc6":103,"f0e65aeb367606b977e754baea5c5e1305d12683":94,"3239c6a39960078d2d823918de28cd42b38ec33c":20,"4ce4b91e0381cced819740b0a3c9431c99bcd2a1":98,"8dea2e18e56d915f65d34965552216a648b83421":90,"c2af7e56f4298a2c389c7e1692ca73c681f83320":2,"82828065ac6a3dc7c037ba0a6ff1bb3cf7590623":27,"867b0880de6692959ed4d732fb8d866c7201eebe":110,"a7f799e608f3651897c1c4d29313dee1b8b88ba5":150,"3d32fd6b9844926375c044c4636ad1145b57a245":4,"f7b691fa559643aa7dae4f2423fd6abc56bd88d2":1,"fe4b3098f3b841bba18d26025106bb0d9a31bd86":215,"3fd8b54eb858d510c7f3df9a96ed39f4ed679fc2":1,"030d13d711cff0fcedff154120d7ddce188eefe1":1,"728119ed6236ba13aa641e2f345f250b9ea54c6b":44,"e5ceea5f6c6efc9cd2711452adcedfa8713e45b2":222,"551d7645d7454fe4f1f947b4fac639819434d581":5607,"683649f2fc23ae6701c4ba6955038a6e22cbabb1":114},"excluded_import_commits":["f972dc23650ac9234c2ff82b771f4792a82536f3"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-3","metrics":{"releases":8.0,"flagged_releases":1.0,"max_loc_per_day":8264.1},"findings":[],"evidence":[{"kind":"release-burst","description":"v1.0.7 → v1.0.9: 7,948 lines in 0.96 days (8,264.1 lines/day)","ref":"v1.0.7...v1.0.9","url":"https://github.com/huamidev/GestaltX/compare/v1.0.7...v1.0.9","weight":0.4}],"data":{"releases":[{"from":"v1.0.1","to":"v1.0.2","loc":495,"days":0.19,"loc_per_day":2555.3,"flagged":false},{"from":"v1.0.2","to":"v1.0.3","loc":1968,"days":0.26,"loc_per_day":7572.9,"flagged":false},{"from":"v1.0.3","to":"v1.0.4","loc":1636,"days":0.63,"loc_per_day":2582.1,"flagged":false},{"from":"v1.0.4","to":"v1.0.5","loc":2316,"days":0.84,"loc_per_day":2751.9,"flagged":false},{"from":"v1.0.5","to":"v1.0.6","loc":3810,"days":1.47,"loc_per_day":2587.8,"flagged":false},{"from":"v1.0.6","to":"v1.0.7","loc":204,"days":0.09,"loc_per_day":2269.0,"flagged":false},{"from":"v1.0.7","to":"v1.0.9","loc":7948,"days":0.96,"loc_per_day":8264.1,"flagged":true},{"from":"v1.0.9","to":"v1.1.1","loc":92,"days":0.04,"loc_per_day":2208.0,"flagged":false}]},"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":1.0,"secrets_low_confidence":4.0},"findings":[{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"Native/DeviceConsole/vendor/idevice/src/remote_pairing/rp_pairing_file.rs","line":64,"fingerprint":"Native/DeviceConsole/vendor/idevice/src/remote_pairing/rp_pairing_file.rs:generic-api-key:64"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"GestaltX/DeviceCacheOptions.swift","line":57,"fingerprint":"GestaltX/DeviceCacheOptions.swift:generic-api-key:57"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree (test/docs/example file)","path":"tests/FieldSearchTests.swift","line":63,"fingerprint":"tests/FieldSearchTests.swift:generic-api-key:63"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in the current tree","path":"GestaltX/GestaltManager.swift","line":488,"fingerprint":"GestaltX/GestaltManager.swift:generic-api-key:488"},{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit b74ffd0b78); removed from the current tree but still retrievable","path":"GestaltX/FaceTimeAudioCache.swift","line":38,"fingerprint":"b74ffd0b78031c2f221b68ea82f0121f346c04a0:GestaltX/FaceTimeAudioCache.swift:generic-api-key:38"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":3.0,"findings_high":0.0,"findings_medium":1.0,"findings_low":2.0,"weighted_findings":0.75,"scanned_lines":12557.0,"parse_errors":11.0},"findings":[{"rule_id":"opengrep/swift.lang.crypto.insecure-random","severity":"medium","message":"A random number generator was detected which is **not** *guaranteed* to be Cryptographically secure. If the source of entropy is used for security purposes (e.g. with other Cryptographic operations), make sure to use the `SecCopyRandomBytes` API explicitly. [confidence low]","path":"GestaltX/CustomizationThemes.swift","line":62,"fingerprint":"swift.lang.crypto.insecure-random:GestaltX/CustomizationThemes.swift:62"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"Native/DeviceConsole/src/device/mod.rs","line":75,"fingerprint":"rust.lang.security.unsafe-usage:Native/DeviceConsole/src/device/mod.rs:75"},{"rule_id":"opengrep/rust.lang.security.unsafe-usage","severity":"low","message":"Detected 'unsafe' usage, please audit for secure usage [confidence high]","path":"Native/DeviceConsole/src/lib.rs","line":31,"fingerprint":"rust.lang.security.unsafe-usage:Native/DeviceConsole/src/lib.rs:31"}],"evidence":[],"data":{"rulesets":["swift","rust","python","c","bash","javascript"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":1.0,"vulnerabilities":1.0,"vulns_critical":0.0,"vulns_high":0.0,"vulns_medium":1.0,"vulns_low":0.0,"vulns_unknown":0.0,"penalty":3.0},"findings":[{"rule_id":"osv/RUSTSEC-2023-0071","severity":"medium","message":"rsa@0.9.10 (crates.io) is affected by RUSTSEC-2023-0071","path":"Native/DeviceConsole/Cargo.lock","line":null,"fingerprint":"rsa@0.9.10 (crates.io):RUSTSEC-2023-0071"}],"evidence":[],"data":{"ecosystems":["crates.io"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":1.0,"findings":6.0,"findings_high":5.0,"findings_medium":0.0,"findings_low":1.0,"penalty":51.9},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":44,"fingerprint":"unpinned-uses:.github/workflows/build.yml:44"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":50,"fingerprint":"unpinned-uses:.github/workflows/build.yml:50"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":65,"fingerprint":"unpinned-uses:.github/workflows/build.yml:65"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/build.yml","line":85,"fingerprint":"unpinned-uses:.github/workflows/build.yml:85"},{"rule_id":"zizmor/cache-poisoning","severity":"high","message":"runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low]","path":".github/workflows/build.yml","line":65,"fingerprint":"cache-poisoning:.github/workflows/build.yml:65"},{"rule_id":"zizmor/artipacked","severity":"low","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/build.yml","line":43,"fingerprint":"artipacked:.github/workflows/build.yml:43"}],"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.094,"unpinned_manifests":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":3.0,"binary_assets":8.0,"suspicious":0.0},"findings":[],"evidence":[{"kind":"binary-release-asset","description":"release v1.1.1 ships GestaltX_1.1.1.ipa (1343 downloads)","ref":"GestaltX_1.1.1.ipa","url":"https://github.com/huamidev/GestaltX/releases/download/v1.1.1/GestaltX_1.1.1.ipa","weight":0.0},{"kind":"binary-release-asset","description":"release v1.0.7 ships GestaltX_1.0.7.ipa (6434 downloads)","ref":"GestaltX_1.0.7.ipa","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.7/GestaltX_1.0.7.ipa","weight":0.0},{"kind":"binary-release-asset","description":"release v1.0.6 ships GestaltX-1.0.6.zip (525 downloads)","ref":"GestaltX-1.0.6.zip","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.6/GestaltX-1.0.6.zip","weight":0.0},{"kind":"binary-release-asset","description":"release v1.0.5 ships GestaltX_1.0.5.ipa (12928 downloads)","ref":"GestaltX_1.0.5.ipa","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.5/GestaltX_1.0.5.ipa","weight":0.0},{"kind":"binary-release-asset","description":"release v1.0.4 ships GestaltX_1.0.4.ipa (13396 downloads)","ref":"GestaltX_1.0.4.ipa","url":"https://github.com/huamidev/GestaltX/releases/download/v1.0.4/GestaltX_1.0.4.ipa","weight":0.0},{"kind":"star-burst","description":"7285 stars in 5 days (1543/day)","ref":null,"url":null,"weight":0.0},{"kind":"new-owner","description":"owner account is 5 days old with 7285 stars on this repo","ref":null,"url":null,"weight":0.0}],"data":{"signals":["binary-release-assets","star-burst","new-owner"],"suspicious":false,"unusual_traction":true,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":805.0,"function_nloc":9820.0,"mean_ccn":4.94,"p90_ccn":11.0,"complex_functions":37.0,"long_functions":2.0,"many_param_functions":5.0,"risky_nloc_share":0.2052},"findings":[],"evidence":[{"kind":"complex-function","description":"decode: in GestaltX/GXLaunchServicesParser.m: complexity 83, 93 lines","ref":"GestaltX/GXLaunchServicesParser.m","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/GXLaunchServicesParser.m#L70","weight":1.0},{"kind":"complex-function","description":"launchApplicationInventory: in GestaltX/GXCustomizationAccess.m: complexity 67, 86 lines","ref":"GestaltX/GXCustomizationAccess.m","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/GXCustomizationAccess.m#L239","weight":1.0},{"kind":"complex-function","description":"scan in GestaltX/MobileGestaltCacheLayout.swift: complexity 54, 72 lines","ref":"GestaltX/MobileGestaltCacheLayout.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/MobileGestaltCacheLayout.swift#L59","weight":0.9},{"kind":"complex-function","description":"launchApplications in GestaltX/GXCustomizationAccess.m: complexity 47, 66 lines","ref":"GestaltX/GXCustomizationAccess.m","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/GXCustomizationAccess.m#L370","weight":0.7833333333333333},{"kind":"complex-function","description":"body in GestaltX/ContentView.swift: complexity 45, 182 lines","ref":"GestaltX/ContentView.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/ContentView.swift#L40","weight":0.75},{"kind":"complex-function","description":"loadOriginals in GestaltX/GestaltDocument.swift: complexity 40, 75 lines","ref":"GestaltX/GestaltDocument.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/GestaltDocument.swift#L425","weight":0.6666666666666666},{"kind":"complex-function","description":"prepare in GestaltX/ContainerOriginals.swift: complexity 31, 50 lines","ref":"GestaltX/ContainerOriginals.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/ContainerOriginals.swift#L66","weight":0.5166666666666667},{"kind":"complex-function","description":"body in GestaltX/ContentView.swift: complexity 31, 149 lines","ref":"GestaltX/ContentView.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/ContentView.swift#L431","weight":0.5166666666666667},{"kind":"complex-function","description":"process in GestaltX/LaunchArtworkCatalog.swift: complexity 30, 45 lines","ref":"GestaltX/LaunchArtworkCatalog.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/LaunchArtworkCatalog.swift#L155","weight":0.5},{"kind":"complex-function","description":"apply in GestaltX/SystemSettingsStore.swift: complexity 30, 66 lines","ref":"GestaltX/SystemSettingsStore.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/SystemSettingsStore.swift#L193","weight":0.5}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":10896.0,"duplicated_lines":301.0,"duplicated_share":0.0276,"files":81.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: GestaltX/AppSoundFiles.swift:164 and GestaltX/AppSoundFiles.swift:202","ref":"GestaltX/AppSoundFiles.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/AppSoundFiles.swift#L164","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: GestaltX/AppSoundViews.swift:425 and GestaltX/AppSoundViews.swift:492","ref":"GestaltX/AppSoundViews.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/AppSoundViews.swift#L425","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: GestaltX/DeviceConnectionModel.swift:207 and GestaltX/DeviceConnectionView.swift:168","ref":"GestaltX/DeviceConnectionModel.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/DeviceConnectionModel.swift#L207","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: GestaltX/DeviceConnectionView.swift:13 and GestaltX/NotificationCaptureView.swift:13","ref":"GestaltX/DeviceConnectionView.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/DeviceConnectionView.swift#L13","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: GestaltX/GXDeviceConsole.h:1 and Native/DeviceConsole/include/GXDeviceConsole.h:1","ref":"GestaltX/GXDeviceConsole.h","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/GXDeviceConsole.h#L1","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: GestaltX/GestaltManager.swift:577 and GestaltX/GestaltManager.swift:598","ref":"GestaltX/GestaltManager.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/GestaltManager.swift#L577","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: GestaltX/LaunchArtworkFiles.swift:84 and GestaltX/LaunchArtworkFiles.swift:156","ref":"GestaltX/LaunchArtworkFiles.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/LaunchArtworkFiles.swift#L84","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: GestaltX/worse_query.h:3 and GestaltX/worse_query.m:3","ref":"GestaltX/worse_query.h","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/GestaltX/worse_query.h#L3","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: Native/DeviceConsole/src/device/mod.rs:422 and Native/DeviceConsole/src/lib.rs:310","ref":"Native/DeviceConsole/src/device/mod.rs","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/Native/DeviceConsole/src/device/mod.rs#L422","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: Shared/SharedPlistInbox.swift:381 and Shared/SharedPlistInbox.swift:548","ref":"Shared/SharedPlistInbox.swift","url":"https://github.com/huamidev/GestaltX/blob/d1d5473734440e8f2e797494ac373427c02fd674/Shared/SharedPlistInbox.swift#L381","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":12557.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":0.8527,"check:ci_present":1.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":1.0,"test_lines":5915.0,"source_lines":13873.0,"test_ratio":0.4264,"ci_files":1.0,"cochange_share":0.7011,"cochange_commits":87.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/build.yml","ref":".github/workflows/build.yml","url":null,"weight":0.0}],"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":1.0,"readme_lines":79.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":"CHANGELOG.md","ref":"CHANGELOG.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":0.0,"check:low_escape_density":1.0,"escapes":0.0,"escapes_per_kloc":0.0},"findings":[],"evidence":[],"data":{},"error":null}],"flags":["unusual-traction"]}