Repository Analysis

p-e-w/heretic

Fully automatic censorship removal for language models

5.6 Low AI signal View on GitHub
5.6
Adjusted Score
5.6
Raw Score
100%
Time Factor
2026-05-29
Last Push
22,471
Stars
Python
Language
5,128
Lines of Code
17
Files
26
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 1LOW 25

Pattern Findings

26 matches across 6 categories. Click a row to expand file-level details.

Deep Nesting8 hits · 8 pts
SeverityFileLineSnippet
LOWsrc/heretic/system.py26
LOWsrc/heretic/system.py64
LOWsrc/heretic/system.py423
LOWsrc/heretic/model.py169
LOWsrc/heretic/model.py417
LOWsrc/heretic/utils.py94
LOWsrc/heretic/utils.py368
LOWsrc/heretic/main.py157
Hyper-Verbose Identifiers7 hits · 7 pts
SeverityFileLineSnippet
LOWsrc/heretic/system.py50def get_nvidia_driver_version() -> str | None:
LOWsrc/heretic/system.py64def get_amdgpu_driver_version() -> str | None:
LOWsrc/heretic/system.py240def get_accelerator_info_dict() -> dict[str, Any]:
LOWsrc/heretic/config.py498 def settings_customise_sources(
LOWsrc/heretic/model.py407 def get_abliterable_components(self) -> list[str]:
LOWsrc/heretic/utils.py335def generate_requirements_txt() -> str:
LOWsrc/heretic/utils.py368def generate_reproduce_readme(
Excessive Try-Catch Wrapping6 hits · 6 pts
SeverityFileLineSnippet
LOWsrc/heretic/system.py99 except Exception:
LOWsrc/heretic/system.py175 except Exception:
LOWsrc/heretic/model.py137 except Exception as error:
LOWsrc/heretic/main.py124 except Exception:
LOWsrc/heretic/main.py359 except Exception as error:
LOWsrc/heretic/main.py1116 except Exception as error:
Over-Commented Block3 hits · 3 pts
SeverityFileLineSnippet
LOWconfig.default.toml1# Rename this file to config.toml, place it in the working directory
LOWconfig.default.toml101# How to apply row normalization of the weights. Options:
LOWsrc/heretic/model.py461 layer_refusal_direction = refusal_directions[layer_index + 1]
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMsrc/heretic/model.py175 # This is more robust than splitting component keys (e.g. "attn.o_proj" -> "o_proj")
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippet
LOWsrc/heretic/model.py250 # Check if we need special handling for quantized models