{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-14T00:14:30.075066Z","repo":{"ref":{"host":"github.com","owner":"Tiger3807861189","name":"J-Space-Cognition-Suite"},"default_branch":"main","clone_url":"https://github.com/Tiger3807861189/J-Space-Cognition-Suite.git","html_url":"https://github.com/Tiger3807861189/J-Space-Cognition-Suite","description":"J-Space Cognition Suite — a model-agnostic inference-time control suite for deep reasoning, long-horizon work, verification, and recovery. Based on Anthropic's J-space global workspace research.","stars":2958,"forks":222,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":2537,"primary_language":"Python","license_spdx":"Apache-2.0","created_at":"2026-07-22T00:34:24Z","pushed_at":"2026-09-14T03:26:53Z","security_policy_url":null,"distribution":{"owner_created_at":"2026-07-20T15:40:49Z","owner_type":"User","release_assets":[]}},"commit_sha":"b2023124a1fa08278e3ee82aefa8ed9faeade995","profile":{"lines_by_language":{"Python":4195},"files_by_category":{"docs":27,"test":6,"source":4,"config":2,"other":1},"source_lines":2278,"test_lines":1917},"pillars":{"ai_provenance":{"score":0.0,"confidence":0.65,"coverage":1.0,"label":"possible","breakdown":{"attributed_share":0.0,"suspected_share":0.4253,"estimated_share":0.0,"ai_artifacts":0.0,"flagged_work_units":1.0,"flagged_releases":0.0},"summary":"Weak signals consistent with AI-assisted development."},"quality":{"score":66.7,"confidence":0.9,"coverage":1.0,"label":"adequate","breakdown":{"complexity":27.3,"duplication":95.4,"lint":51.8,"testing":90.0,"docs":80.0,"type_safety":40.0,"process":null},"summary":"Code quality is adequate: test-to-source ratio 0.84, CI runs tests; 43% of function code in complex or long functions; 1% duplicated lines. Weakest area: complexity."},"security":{"score":74.7,"confidence":0.85,"coverage":1.0,"label":"adequate","breakdown":{"secrets":100.0,"sast":89.1,"dependencies":null,"ci_actions":63.1,"posture":0.0,"scorecard":null},"summary":"Security posture is adequate: 1 high-severity SAST findings; 2 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":129.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":4938.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2026-08":{"loc":2600,"attributed_loc":0},"2026-09":{"loc":2338,"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-4","metrics":{"work_units":7.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":4938.0,"flagged_loc":2100.0,"flagged_loc_share":0.425273390036452,"max_loc_per_hour":525.0,"median_loc_per_hour":154.5,"pr_timed_units":0.0,"excluded_import_loc":0.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"2,100 lines of first-party code in ~4.0h (525 lines/hour, 1 commit session)","ref":"b2023124a1fa08278e3ee82aefa8ed9faeade995","url":"https://github.com/Tiger3807861189/J-Space-Cognition-Suite/commit/b2023124a1fa08278e3ee82aefa8ed9faeade995","weight":0.1575}],"data":{"flagged_loc_by_commit":{"b2023124a1fa08278e3ee82aefa8ed9faeade995":2100},"excluded_import_commits":[]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":1.0,"flagged_releases":0.0,"max_loc_per_day":180.7},"findings":[],"evidence":[],"data":{"releases":[{"from":"v3.7.4","to":"sv1","loc":2100,"days":11.62,"loc_per_day":180.7,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":2278.0,"index":0.219,"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":1.0,"per_kloc:emoji_in_code":0.439,"files:emoji_in_code":1.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":1.0,"findings_high":1.0,"findings_medium":0.0,"findings_low":0.0,"weighted_findings":0.75,"scanned_lines":2278.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":"j-space/scripts/host_bridge.py","line":27,"fingerprint":"python.lang.security.audit.dangerous-subprocess-use-audit:j-space/scripts/host_bridge.py:27"}],"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":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":1.0,"findings":4.0,"findings_high":2.0,"findings_medium":2.0,"findings_low":0.0,"penalty":27.6},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/verify.yml","line":18,"fingerprint":"unpinned-uses:.github/workflows/verify.yml:18"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/verify.yml","line":19,"fingerprint":"unpinned-uses:.github/workflows/verify.yml:19"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/verify.yml","line":18,"fingerprint":"artipacked:.github/workflows/verify.yml:18"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/verify.yml","line":10,"fingerprint":"excessive-permissions:.github/workflows/verify.yml:10"}],"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.0465,"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":81.0,"function_nloc":1760.0,"mean_ccn":9.51,"p90_ccn":14.0,"complex_functions":6.0,"long_functions":3.0,"many_param_functions":0.0,"risky_nloc_share":0.4324},"findings":[],"evidence":[{"kind":"complex-function","description":"run in j-space/scripts/control.py: complexity 99, 229 lines","ref":"j-space/scripts/control.py","url":"https://github.com/Tiger3807861189/J-Space-Cognition-Suite/blob/b2023124a1fa08278e3ee82aefa8ed9faeade995/j-space/scripts/control.py#L501","weight":1.0},{"kind":"complex-function","description":"validate in j-space/scripts/control.py: complexity 92, 90 lines","ref":"j-space/scripts/control.py","url":"https://github.com/Tiger3807861189/J-Space-Cognition-Suite/blob/b2023124a1fa08278e3ee82aefa8ed9faeade995/j-space/scripts/control.py#L152","weight":1.0},{"kind":"complex-function","description":"main in j-space/scripts/verify_suite.py: complexity 75, 155 lines","ref":"j-space/scripts/verify_suite.py","url":"https://github.com/Tiger3807861189/J-Space-Cognition-Suite/blob/b2023124a1fa08278e3ee82aefa8ed9faeade995/j-space/scripts/verify_suite.py#L151","weight":1.0},{"kind":"complex-function","description":"mode_note in j-space/scripts/jspace.py: complexity 54, 182 lines","ref":"j-space/scripts/jspace.py","url":"https://github.com/Tiger3807861189/J-Space-Cognition-Suite/blob/b2023124a1fa08278e3ee82aefa8ed9faeade995/j-space/scripts/jspace.py#L423","weight":0.9},{"kind":"complex-function","description":"gate in j-space/scripts/control.py: complexity 36, 64 lines","ref":"j-space/scripts/control.py","url":"https://github.com/Tiger3807861189/J-Space-Cognition-Suite/blob/b2023124a1fa08278e3ee82aefa8ed9faeade995/j-space/scripts/control.py#L435","weight":0.6},{"kind":"complex-function","description":"mode_ship in j-space/scripts/jspace.py: complexity 21, 41 lines","ref":"j-space/scripts/jspace.py","url":"https://github.com/Tiger3807861189/J-Space-Cognition-Suite/blob/b2023124a1fa08278e3ee82aefa8ed9faeade995/j-space/scripts/jspace.py#L827","weight":0.35}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":1799.0,"duplicated_lines":14.0,"duplicated_share":0.0078,"files":4.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: j-space/scripts/jspace.py:923 and j-space/scripts/verify_suite.py:155","ref":"j-space/scripts/jspace.py","url":"https://github.com/Tiger3807861189/J-Space-Cognition-Suite/blob/b2023124a1fa08278e3ee82aefa8ed9faeade995/j-space/scripts/jspace.py#L923","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":2.0,"weighted_findings":6.0,"scanned_lines":2278.0,"category:best-practice":1.0,"category:correctness":1.0},"findings":[{"rule_id":"opengrep/python.lang.best-practice.arbitrary-sleep","severity":"high","message":"time.sleep() call; did you mean to leave this in?","path":"j-space/scripts/control.py","line":141,"fingerprint":"python.lang.best-practice.arbitrary-sleep:j-space/scripts/control.py:141"},{"rule_id":"opengrep/python.lang.correctness.tempfile.tempfile-without-flush","severity":"high","message":"Using 'fh.name' without '.flush()' or '.close()' may cause an error because the file may not exist when 'fh.name' is used. Use '.flush()' or close the file before using 'fh.name'.","path":"j-space/scripts/jspace.py","line":176,"fingerprint":"python.lang.correctness.tempfile.tempfile-without-flush:j-space/scripts/jspace.py:176"}],"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":1917.0,"source_lines":2278.0,"test_ratio":0.8415,"ci_files":1.0,"cochange_share":0.25,"cochange_commits":12.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/verify.yml","ref":".github/workflows/verify.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (unittest)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["unittest"],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":1.0,"check:changelog":0.0,"readme_lines":269.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0},{"kind":"docs","description":"CONTRIBUTING.md","ref":"CONTRIBUTING.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":0.0,"check:low_escape_density":1.0,"escapes":0.0,"escapes_per_kloc":0.0},"findings":[],"evidence":[],"data":{},"error":null}],"flags":[]}