OBLITERATE THE CHAINS THAT BIND YOU
This report presents the forensic synthetic code analysis of elder-plinius/OBLITERATUS, a Python project with 8,099 GitHub stars. SynthScan v2.0 examined 119,981 lines of code across 382 source files, recording 3174 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 37.3 places this repository in the Strong AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 3174 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | app.py | 1162 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app.py | 1164 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app.py | 1171 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app.py | 1173 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app.py | 3603 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app.py | 3605 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 30 | # ── Container environment fixes ────────────────────────────────────── | COMMENT |
| MEDIUM | app.py | 86 | # ── ZeroGPU support ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | app.py | 323 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 325 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 361 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 363 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 447 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 449 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 534 | # ── Community Hub push ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | app.py | 676 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 678 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 965 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 967 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 1207 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 1209 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 1764 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 1766 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 2832 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 2834 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 3354 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 3356 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 3820 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 3822 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 4061 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 4063 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 4182 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 4184 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app.py | 5713 | # ── Tab 8: About ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app.py | 4630 | # ── Tab 1: Obliterate ───────────────────────────────────────────── | STRING |
| MEDIUM | app.py | 4875 | # ── Tab 2: Benchmark ────────────────────────────────────────────── | STRING |
| MEDIUM | app.py | 5218 | # ── Tab 3: Chat ─────────────────────────────────────────────────── | STRING |
| MEDIUM | app.py | 5264 | # ── Tab 4: A/B Comparison ───────────────────────────────────────── | STRING |
| MEDIUM | app.py | 5341 | # ── Tab 5: Strength Sweep ──────────────────────────────────────── | STRING |
| MEDIUM | app.py | 5411 | # ── Tab 6: Tourney ──────────────────────────────────────────────── | STRING |
| MEDIUM | app.py | 5478 | # ── Tab 7: Export ───────────────────────────────────────────────── | STRING |
| MEDIUM | app.py | 5499 | # ── Tab: Push to Hub ────────────────────────────────────────────── | STRING |
| MEDIUM | app.py | 5586 | # ── Tab: Leaderboard ──────────────────────────────────────────── | STRING |
| MEDIUM | app.py | 5927 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | app.py | 5929 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | tests/test_breakthrough_modules.py | 259 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_breakthrough_modules.py | 261 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_breakthrough_modules.py | 353 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_breakthrough_modules.py | 355 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_breakthrough_modules.py | 459 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_breakthrough_modules.py | 461 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_breakthrough_modules.py | 589 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_breakthrough_modules.py | 591 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_breakthrough_modules.py | 816 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_breakthrough_modules.py | 818 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_breakthrough_modules.py | 42 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_breakthrough_modules.py | 44 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_breakthrough_modules.py | 110 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_breakthrough_modules.py | 112 | # =========================================================================== | COMMENT |
| MEDIUM | tests/conftest.py | 57 | # --------------------------------------------------------------------------- | COMMENT |
| 576 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app.py | 207 | def _resolve_local_checkpoint(checkpoint: str | Path) -> Path: | CODE |
| LOW | app.py | 236 | def _format_checkpoint_reload_error(error: BaseException) -> str: | CODE |
| LOW | app.py | 382 | def _recover_sessions_from_disk() -> None: | CODE |
| LOW | app.py | 935 | def _resolve_ui_load_settings( | CODE |
| LOW | app.py | 1221 | def _format_obliteration_metrics( | CODE |
| LOW | app.py | 1705 | def _format_benchmark_results(results: list[dict], context: dict | None = None) -> str: | CODE |
| LOW | app.py | 2084 | def _format_multi_model_results(results: list[dict], context: dict | None = None) -> str: | CODE |
| LOW | app.py | 3078 | def _get_session_model_choices(): | CODE |
| LOW | tests/test_strategy_navigation_contracts.py | 91 | def test_strategy_navigation_resolves_fallback_layers_and_missing_attention(): | CODE |
| LOW | tests/test_strategy_navigation_contracts.py | 105 | def test_nemotron_h_navigation_uses_backbone_layers_and_mixer(): | CODE |
| LOW | tests/test_strategy_navigation_contracts.py | 114 | def test_head_pruning_zeros_qkv_and_output_slices_for_standard_attention(): | CODE |
| LOW | tests/test_strategy_navigation_contracts.py | 139 | def test_embedding_navigation_uses_first_embedding_and_fails_without_one(): | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 31 | def test_atomic_checkpoint_replaces_existing_destination(tmp_path): | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 44 | def test_atomic_checkpoint_replaces_an_invalid_file_destination(tmp_path): | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 56 | def test_atomic_checkpoint_warns_if_obsolete_backup_cannot_be_removed( | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 81 | def test_atomic_checkpoint_preserves_destination_on_write_failure(tmp_path): | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 96 | def test_atomic_checkpoint_cleans_staging_on_cancellation_during_write(tmp_path): | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 111 | def test_atomic_checkpoint_preserves_destination_on_file_fsync_failure( | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 132 | def test_new_checkpoint_parent_sync_failure_rolls_back_then_allows_retry( | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 174 | def test_atomic_checkpoint_cancellation_restores_and_unlocks_for_retry( | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 207 | def maybe_cancel_directory_sync(path): | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 236 | def test_atomic_checkpoint_restores_destination_on_promotion_failure( | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 260 | def test_atomic_checkpoint_reports_recoverable_backup_when_rollback_fails( | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 270 | def fail_promotion_and_restore(source, target): | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 287 | def test_atomic_checkpoint_reports_staging_cleanup_failure_without_masking_write( | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 317 | def test_rebirth_failure_preserves_checkpoint_and_owned_offload(tmp_path): | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 347 | def test_cleanup_only_removes_pipeline_owned_offload_directory(tmp_path): | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 362 | def test_cleanup_removes_and_clears_pipeline_owned_offload_directory(tmp_path): | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 379 | def test_cleanup_clears_stale_owned_offload_reference(tmp_path): | CODE |
| LOW | tests/test_checkpoint_atomicity.py | 392 | def test_cleanup_failure_retains_owned_offload_reference_for_retry( | CODE |
| LOW | tests/test_device_boundaries.py | 18 | def test_auto_device_preference(monkeypatch, cuda, mps, expected): | CODE |
| LOW | tests/test_device_boundaries.py | 25 | def test_explicit_device_validation(monkeypatch): | CODE |
| LOW | tests/test_device_boundaries.py | 46 | def test_names_and_device_counts(monkeypatch): | CODE |
| LOW | tests/test_device_boundaries.py | 66 | def test_system_memory_sources_and_fallback(monkeypatch): | CODE |
| LOW | tests/test_device_boundaries.py | 98 | def test_memory_info_for_cuda_and_cuda_fallback(monkeypatch): | CODE |
| LOW | tests/test_device_boundaries.py | 127 | def test_memory_info_for_mps_cpu_and_total_free(monkeypatch): | CODE |
| LOW | tests/test_device_boundaries.py | 141 | def test_total_cuda_memory_sums_query_and_fallback(monkeypatch): | CODE |
| LOW | tests/test_device_boundaries.py | 158 | def test_cache_cleanup_paths_are_best_effort(monkeypatch): | CODE |
| LOW | tests/test_device_boundaries.py | 187 | def test_cuda_cleanup_tolerates_every_recovery_failure(monkeypatch): | CODE |
| LOW | tests/test_device_boundaries.py | 210 | def test_seed_dtype_and_capability_contracts(monkeypatch): | CODE |
| LOW | tests/test_device_boundaries.py | 237 | def test_svd_dtype_and_oom_matching(): | CODE |
| LOW | tests/test_device_boundaries.py | 250 | def test_configure_cuda_allocator(monkeypatch): | CODE |
| LOW | tests/test_device_boundaries.py | 261 | def test_configure_cuda_can_disable_cudnn(monkeypatch): | CODE |
| LOW | tests/test_device_boundaries.py | 274 | def test_configure_cuda_disables_cudnn_without_sdp_toggle(monkeypatch): | CODE |
| LOW | tests/test_models_client_contracts.py | 31 | def test_explicit_path_is_authoritative_and_does_not_fall_back( | CODE |
| LOW | tests/test_models_client_contracts.py | 44 | def test_default_resolution_uses_first_existing_packaged_source( | CODE |
| LOW | tests/test_models_client_contracts.py | 56 | def test_http_resolution_is_timeout_and_size_bounded( | CODE |
| LOW | tests/test_models_client_contracts.py | 90 | def test_http_resolution_rejects_oversized_catalog( | CODE |
| LOW | tests/test_models_client_contracts.py | 129 | def test_path_resolution_is_size_bounded( | CODE |
| LOW | tests/test_models_client_contracts.py | 142 | def test_filters_reject_non_string_arguments(isolated_sources: None) -> None: | CODE |
| LOW | tests/test_models_client_contracts.py | 157 | def test_catalog_schema_fails_closed( | CODE |
| LOW | tests/test_models_client_contracts.py | 172 | def test_filters_normalize_aliases_and_catalog_values( | CODE |
| LOW | tests/test_models_client_contracts.py | 214 | def test_filters_reject_malformed_catalog_fields( | CODE |
| LOW | tests/test_models_client_contracts.py | 229 | def test_model_ids_rejects_missing_or_non_string_ids( | CODE |
| LOW | tests/test_models_client_contracts.py | 242 | def test_newest_uses_injected_clock_release_fallback_and_stable_order( | CODE |
| LOW | tests/test_models_client_contracts.py | 273 | def test_newest_rejects_non_string_catalog_dates( | CODE |
| LOW | tests/test_models_client_contracts.py | 288 | def test_newest_rejects_invalid_day_windows( | CODE |
| LOW | tests/test_ci_policy.py | 29 | def test_every_external_action_is_sha_pinned_and_manifested(): | CODE |
| LOW | tests/test_ci_policy.py | 44 | def test_tested_source_snapshot_is_created_once_attested_and_reused(): | CODE |
| LOW⚡ | tests/test_ci_policy.py | 74 | def test_actionlint_version_and_checksum_match_manifest(): | CODE |
| 1598 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app.py | 18 | CODE | |
| LOW | app.py | 2671 | CODE | |
| LOW | tests/test_gemma4_support.py | 1 | CODE | |
| LOW | tests/test_strategy_navigation_contracts.py | 3 | CODE | |
| LOW | tests/test_checkpoint_atomicity.py | 3 | CODE | |
| LOW | tests/test_device_boundaries.py | 3 | CODE | |
| LOW | tests/test_models_client_contracts.py | 3 | CODE | |
| LOW | tests/test_ci_policy.py | 3 | CODE | |
| LOW | tests/test_breakthrough_modules.py | 9 | CODE | |
| LOW | tests/test_local_ui_portability.py | 3 | CODE | |
| LOW | tests/test_lm_eval_reporting_contracts.py | 3 | CODE | |
| LOW | tests/test_property_contracts.py | 3 | CODE | |
| LOW | tests/conftest.py | 3 | CODE | |
| LOW | tests/test_conditional_evidence_freshness.py | 3 | CODE | |
| LOW | tests/test_analysis_utils.py | 3 | CODE | |
| LOW | tests/test_informed_pipeline_contracts.py | 3 | CODE | |
| LOW | tests/test_package_export_contracts.py | 3 | CODE | |
| LOW | tests/test_advanced_metrics.py | 3 | CODE | |
| LOW | tests/test_heretic_eval.py | 3 | CODE | |
| LOW | tests/test_remote_boundaries.py | 3 | CODE | |
| LOW | tests/test_remote_contracts.py | 3 | CODE | |
| LOW | tests/test_model_load_settings.py | 3 | CODE | |
| LOW | tests/test_test_risk_map.py | 3 | CODE | |
| LOW | tests/test_loader_boundaries.py | 3 | CODE | |
| LOW | tests/test_metrics.py | 3 | CODE | |
| LOW | tests/test_benchmarks.py | 3 | CODE | |
| LOW | tests/test_gpu_lifecycle.py | 1 | CODE | |
| LOW | tests/test_config_properties.py | 3 | CODE | |
| LOW | tests/test_visualization.py | 3 | CODE | |
| LOW | tests/test_offload_surgery.py | 3 | CODE | |
| LOW | tests/test_architecture_profiles.py | 7 | CODE | |
| LOW | tests/test_module_imports.py | 3 | CODE | |
| LOW | tests/test_persistence_contracts.py | 3 | CODE | |
| LOW | tests/test_new_analysis_modules.py | 9 | CODE | |
| LOW | tests/test_auto_obliterate.py | 3 | CODE | |
| LOW | tests/test_evaluator.py | 3 | CODE | |
| LOW | tests/test_informed_pipeline.py | 3 | CODE | |
| LOW | tests/test_analysis.py | 3 | CODE | |
| LOW | tests/test_causal_and_transfer.py | 4 | CODE | |
| LOW | tests/test_quality_policy.py | 3 | CODE | |
| LOW | tests/test_abliterate_extended.py | 11 | CODE | |
| LOW | tests/test_runner_boundaries.py | 3 | CODE | |
| LOW | tests/test_report.py | 3 | CODE | |
| LOW | tests/test_supply_chain_policy.py | 3 | CODE | |
| LOW | tests/test_leace.py | 3 | CODE | |
| LOW | tests/test_adaptive_defaults.py | 3 | CODE | |
| LOW | tests/test_mutmut_coverage_sitecustomize.py | 3 | CODE | |
| LOW | tests/test_logit_lens.py | 3 | CODE | |
| LOW | tests/test_benchmark_plots.py | 3 | CODE | |
| LOW | tests/test_local_ui_contracts.py | 3 | CODE | |
| LOW | tests/test_persistence_pipeline.py | 3 | CODE | |
| LOW | tests/test_quant_dequant.py | 12 | CODE | |
| LOW | tests/test_mlx_backend_boundaries.py | 3 | CODE | |
| LOW | tests/test_telemetry_failure_contracts.py | 3 | CODE | |
| LOW | tests/test_watchtower_contracts.py | 3 | CODE | |
| LOW | tests/test_conditional_gate_scripts.py | 3 | CODE | |
| LOW | tests/test_numerical_contracts.py | 3 | CODE | |
| LOW | tests/test_quality_gate_scripts.py | 3 | CODE | |
| LOW | tests/test_cli_boundaries.py | 3 | CODE | |
| LOW | tests/test_bayesian_optimizer_contracts.py | 3 | CODE | |
| 185 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | app.py | 1485 | def run_pipeline(): | CODE |
| MEDIUM | app.py | 1874 | def run_pipeline(): | CODE |
| MEDIUM | app.py | 2348 | def run_pipeline(): | CODE |
| MEDIUM | app.py | 3003 | def _generate_safe(**kwargs): | CODE |
| MEDIUM | app.py | 3302 | def _run(): | CODE |
| MEDIUM | app.py | 3488 | def _gen_abliterated(**kwargs): | CODE |
| MEDIUM | app.py | 3551 | def _gen_original(**kwargs): | CODE |
| MEDIUM | app.py | 3666 | def _run_sweep_point(): | CODE |
| MEDIUM | app.py | 5669 | def _push_telemetry(): | CODE |
| LOW⚡ | app.py | 3585 | except Exception as e: | CODE |
| LOW⚡ | app.py | 3594 | except Exception: | CODE |
| LOW | app.py | 270 | except Exception: | CODE |
| LOW | app.py | 378 | except Exception: | CODE |
| LOW | app.py | 406 | except Exception: | CODE |
| LOW | app.py | 845 | except Exception as e: | CODE |
| LOW | app.py | 870 | except Exception as e: | CODE |
| LOW | app.py | 927 | except Exception: | CODE |
| LOW | app.py | 1319 | except Exception: | CODE |
| LOW | app.py | 1344 | except Exception: | CODE |
| LOW | app.py | 1372 | except Exception: | CODE |
| LOW | app.py | 1525 | except Exception as e: | CODE |
| LOW | app.py | 1537 | except Exception as cleanup_error: | CODE |
| LOW | app.py | 1626 | except Exception: | CODE |
| LOW | app.py | 1911 | except Exception as e: | CODE |
| LOW | app.py | 1923 | except Exception as cleanup_error: | CODE |
| LOW | app.py | 2009 | except Exception: | CODE |
| LOW | app.py | 2199 | except Exception: | CODE |
| LOW | app.py | 2215 | except Exception: | CODE |
| LOW | app.py | 2276 | except Exception as exc: | CODE |
| LOW | app.py | 2448 | except Exception as e: | CODE |
| LOW | app.py | 2604 | except Exception: | CODE |
| LOW | app.py | 2715 | except Exception as e: | CODE |
| LOW | app.py | 2759 | except Exception as e: | CODE |
| LOW | app.py | 2811 | except Exception as e: | CODE |
| LOW | app.py | 2905 | except Exception: | CODE |
| LOW | app.py | 2940 | except Exception as error: | CODE |
| LOW | app.py | 2968 | except Exception: | CODE |
| LOW | app.py | 3007 | except Exception as e: | CODE |
| LOW | app.py | 3012 | except Exception: | CODE |
| LOW | app.py | 3023 | except Exception: | CODE |
| LOW | app.py | 3156 | except Exception as e: | CODE |
| LOW | app.py | 3229 | except Exception: | CODE |
| LOW | app.py | 3275 | except Exception: | CODE |
| LOW | app.py | 3318 | except Exception as e: | CODE |
| LOW | app.py | 3388 | except Exception: | CODE |
| LOW | app.py | 3422 | except Exception: | CODE |
| LOW | app.py | 3459 | except Exception: | CODE |
| LOW | app.py | 3492 | except Exception as e: | CODE |
| LOW | app.py | 3496 | except Exception: | CODE |
| LOW | app.py | 3510 | except Exception: | CODE |
| LOW | app.py | 3555 | except Exception as e: | CODE |
| LOW | app.py | 3559 | except Exception: | CODE |
| LOW | app.py | 3572 | except Exception: | CODE |
| LOW | app.py | 3682 | except Exception as e: | CODE |
| LOW | app.py | 3787 | except Exception as e: | CODE |
| LOW | app.py | 3916 | except Exception as e: | CODE |
| LOW | app.py | 3947 | except Exception as e: | CODE |
| LOW | app.py | 4007 | except Exception: | CODE |
| LOW | app.py | 5655 | except Exception as e: | CODE |
| LOW | app.py | 5701 | except Exception as e: | CODE |
| 194 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_abliterate.py | 3154 | # Step 1: compute EGA directions | COMMENT |
| LOW⚡ | tests/test_abliterate.py | 3159 | # Step 2: apply granular projection | COMMENT |
| LOW⚡ | docs/executive_research_summary.md | 201 | # Step 1: Aggressive/SVD surgery | COMMENT |
| LOW⚡ | docs/executive_research_summary.md | 206 | # Step 2: LEACE surgery | COMMENT |
| LOW⚡ | docs/executive_research_summary.md | 211 | # Step 3: Blend | COMMENT |
| LOW⚡ | docs/executive_research_summary.md | 215 | # Step 4: Validate | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 108 | # Step 1: Get clean activations | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 115 | # Step 2: Define metric | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 122 | # Step 3: Patching hook | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 127 | # Step 4: Sweep over layers and positions | COMMENT |
| LOW | docs/mechanistic_interpretability_research.md | 529 | # Step 1: Collect activations from frozen model | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 547 | # Step 2: Train linear probe | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 553 | # Step 3: Evaluate | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 559 | # Step 4: The probe's weight vector IS the "refusal direction" | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 1325 | # Step 1: Collect activations | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 1329 | # Step 2: Pool and compute statistics | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 1334 | # Step 3: Whitening transformation | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 1343 | # Step 4: Whiten both sets of activations | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 1347 | # Step 5: Difference-in-means in whitened space | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 1351 | # Step 6: Transform back to original space for use in steering | COMMENT |
| LOW⚡ | docs/mechanistic_interpretability_research.md | 1356 | # Step 7: Cosine similarity scoring at inference time | COMMENT |
| LOW⚡ | docs/complementary_blending.md | 172 | # Step 1: Aggressive surgery | COMMENT |
| LOW⚡ | docs/complementary_blending.md | 177 | # Step 2: LEACE surgery | COMMENT |
| LOW⚡ | docs/complementary_blending.md | 182 | # Step 3: Blend | COMMENT |
| LOW⚡ | docs/complementary_blending.md | 186 | # Step 4: Validate | COMMENT |
| LOW⚡ | obliteratus/abliterate.py | 2852 | # Step 2: Initialize from SVD direction (warm start) | COMMENT |
| LOW⚡ | obliteratus/abliterate.py | 2856 | # Step 3: Gradient-based refinement | COMMENT |
| LOW | obliteratus/abliterate.py | 2841 | # Step 1: Train linear refusal probe | COMMENT |
| LOW | obliteratus/abliterate.py | 2898 | # Step 4: Update direction with RDO-refined version | COMMENT |
| LOW⚡ | obliteratus/interactive.py | 215 | # Step 1: Hardware | COMMENT |
| LOW⚡ | obliteratus/interactive.py | 219 | # Step 2: Model | COMMENT |
| LOW⚡ | obliteratus/interactive.py | 223 | # Step 3: Study preset OR custom strategies + sample size | COMMENT |
| LOW | obliteratus/interactive.py | 241 | # Step 4: Determine device and dtype | COMMENT |
| LOW⚡ | obliteratus/analysis/sae_abliteration.py | 449 | # Step 1: Train SAE | COMMENT |
| LOW⚡ | obliteratus/analysis/sae_abliteration.py | 459 | # Step 2: Identify refusal features | COMMENT |
| LOW⚡ | obliteratus/analysis/sae_abliteration.py | 465 | # Step 3: Compute feature sparsity and monosemanticity | COMMENT |
| LOW⚡ | obliteratus/analysis/sae_abliteration.py | 471 | # Step 4: Cluster features | COMMENT |
| LOW⚡ | obliteratus/analysis/sae_abliteration.py | 474 | # Step 5: Ablation simulation | COMMENT |
| LOW⚡ | obliteratus/analysis/sae_abliteration.py | 480 | # Step 6: Compare with raw direction | COMMENT |
| LOW | obliteratus/analysis/spectral_certification.py | 187 | # Step 1: Compute difference covariance matrix | COMMENT |
| LOW | obliteratus/analysis/spectral_certification.py | 229 | # Step 3: Compute BBP threshold | COMMENT |
| LOW⚡ | obliteratus/analysis/spectral_certification.py | 242 | # Step 4: Marchenko-Pastur edges | COMMENT |
| LOW⚡ | obliteratus/analysis/spectral_certification.py | 246 | # Step 5: Eigenvalue analysis of between-class covariance | COMMENT |
| LOW | obliteratus/analysis/spectral_certification.py | 258 | # Step 6: Classify certification level | COMMENT |
| LOW | obliteratus/analysis/riemannian_manifold.py | 157 | # Step 1: Estimate refusal directions if not provided | COMMENT |
| LOW | obliteratus/analysis/riemannian_manifold.py | 168 | # Step 2: Compute per-layer intrinsic dimension and curvature | COMMENT |
| LOW | obliteratus/analysis/riemannian_manifold.py | 198 | # Step 3: Aggregate manifold statistics | COMMENT |
| LOW⚡ | obliteratus/analysis/wasserstein_transfer.py | 159 | # Step 1: Compute layer mapping if not provided | COMMENT |
| LOW⚡ | obliteratus/analysis/wasserstein_transfer.py | 166 | # Step 2: For each mapped layer pair, compute OT map and transfer | COMMENT |
| LOW | obliteratus/analysis/wasserstein_transfer.py | 215 | # Step 3: Aggregate results | COMMENT |
| LOW | obliteratus/analysis/conditional_abliteration.py | 138 | # Step 1: Extract per-category condition vectors and projectors | COMMENT |
| LOW | obliteratus/analysis/conditional_abliteration.py | 204 | # Step 2: Compute cross-category geometry | COMMENT |
| LOW⚡ | obliteratus/analysis/conditional_abliteration.py | 227 | # Step 3: Sheaf consistency check | COMMENT |
| LOW⚡ | obliteratus/analysis/conditional_abliteration.py | 232 | # Step 4: Classify categories | COMMENT |
| LOW⚡ | obliteratus/analysis/whitened_svd.py | 150 | # Step 1: Compute harmless covariance with centering | COMMENT |
| LOW⚡ | obliteratus/analysis/whitened_svd.py | 155 | # Step 2: Eigendecompose covariance for whitening | COMMENT |
| LOW⚡ | obliteratus/analysis/whitened_svd.py | 173 | # Step 3: Truncate near-degenerate dimensions | COMMENT |
| LOW⚡ | obliteratus/analysis/whitened_svd.py | 179 | # Step 4: Compute whitening transform W = V @ diag(1/sqrt(lam + eps)) @ V^T | COMMENT |
| LOW⚡ | obliteratus/analysis/whitened_svd.py | 185 | # Step 5: Whiten both activation sets (centered on harmless mean) | COMMENT |
| LOW⚡ | obliteratus/analysis/whitened_svd.py | 190 | # Step 6: Compute whitened difference and SVD | COMMENT |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app.py | 382 | CODE | |
| LOW | app.py | 1350 | CODE | |
| LOW | app.py | 1378 | CODE | |
| LOW | app.py | 1769 | CODE | |
| LOW | app.py | 2142 | CODE | |
| LOW | app.py | 2877 | CODE | |
| LOW | app.py | 3084 | CODE | |
| LOW | app.py | 3359 | CODE | |
| LOW | tests/test_benchmarks.py | 19 | CODE | |
| LOW | tests/test_benchmarks.py | 60 | CODE | |
| LOW | tests/test_novel_analysis.py | 81 | CODE | |
| LOW | obliteratus/abliterate.py | 1246 | CODE | |
| LOW | obliteratus/abliterate.py | 1370 | CODE | |
| LOW | obliteratus/abliterate.py | 1693 | CODE | |
| LOW | obliteratus/abliterate.py | 2170 | CODE | |
| LOW | obliteratus/abliterate.py | 2293 | CODE | |
| LOW | obliteratus/abliterate.py | 3513 | CODE | |
| LOW | obliteratus/abliterate.py | 3783 | CODE | |
| LOW | obliteratus/abliterate.py | 4029 | CODE | |
| LOW | obliteratus/abliterate.py | 4868 | CODE | |
| LOW | obliteratus/abliterate.py | 5468 | CODE | |
| LOW | obliteratus/abliterate.py | 5714 | CODE | |
| LOW | obliteratus/abliterate.py | 5859 | CODE | |
| LOW | obliteratus/abliterate.py | 5923 | CODE | |
| LOW | obliteratus/abliterate.py | 6281 | CODE | |
| LOW | obliteratus/abliterate.py | 6416 | CODE | |
| LOW | obliteratus/abliterate.py | 6539 | CODE | |
| LOW | obliteratus/abliterate.py | 6663 | CODE | |
| LOW | obliteratus/abliterate.py | 6806 | CODE | |
| LOW | obliteratus/abliterate.py | 7507 | CODE | |
| LOW | obliteratus/blend.py | 161 | CODE | |
| LOW | obliteratus/ui_vram.py | 18 | CODE | |
| LOW | obliteratus/bayesian_optimizer.py | 237 | CODE | |
| LOW | obliteratus/remote.py | 141 | CODE | |
| LOW | obliteratus/device.py | 210 | CODE | |
| LOW | obliteratus/restore_multimodal.py | 66 | CODE | |
| LOW | obliteratus/telemetry.py | 182 | CODE | |
| LOW | obliteratus/telemetry.py | 552 | CODE | |
| LOW | obliteratus/telemetry.py | 594 | CODE | |
| LOW | obliteratus/telemetry.py | 653 | CODE | |
| LOW | obliteratus/telemetry.py | 842 | CODE | |
| LOW | obliteratus/telemetry.py | 1104 | CODE | |
| LOW | obliteratus/prompts.py | 141 | CODE | |
| LOW | obliteratus/hard_negative.py | 67 | CODE | |
| LOW | obliteratus/persistence_contracts.py | 295 | CODE | |
| LOW | obliteratus/watchtower.py | 170 | CODE | |
| LOW | obliteratus/watchtower.py | 228 | CODE | |
| LOW | obliteratus/lora_ablation.py | 56 | CODE | |
| LOW | obliteratus/architecture_profiles.py | 153 | CODE | |
| LOW | obliteratus/architecture_profiles.py | 307 | CODE | |
| LOW | obliteratus/community.py | 290 | CODE | |
| LOW | obliteratus/cli.py | 150 | CODE | |
| LOW | obliteratus/cli.py | 690 | CODE | |
| LOW | obliteratus/cli.py | 1042 | CODE | |
| LOW | obliteratus/cli.py | 1404 | CODE | |
| LOW | obliteratus/tourney.py | 348 | CODE | |
| LOW | obliteratus/tourney.py | 398 | CODE | |
| LOW | obliteratus/tourney.py | 1152 | CODE | |
| LOW | obliteratus/interactive.py | 21 | CODE | |
| LOW | obliteratus/run_archive.py | 478 | CODE | |
| 74 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_abliterate.py | 3154 | # Step 1: compute EGA directions | COMMENT |
| LOW⚡ | tests/test_abliterate.py | 3159 | # Step 2: apply granular projection | COMMENT |
| LOW⚡ | obliteratus/abliterate.py | 2852 | # Step 2: Initialize from SVD direction (warm start) | COMMENT |
| LOW⚡ | obliteratus/abliterate.py | 2856 | # Step 3: Gradient-based refinement | COMMENT |
| LOW | obliteratus/abliterate.py | 2841 | # Step 1: Train linear refusal probe | COMMENT |
| LOW | obliteratus/abliterate.py | 2898 | # Step 4: Update direction with RDO-refined version | COMMENT |
| LOW⚡ | obliteratus/interactive.py | 215 | # Step 1: Hardware | COMMENT |
| LOW⚡ | obliteratus/interactive.py | 219 | # Step 2: Model | COMMENT |
| LOW⚡ | obliteratus/interactive.py | 223 | # Step 3: Study preset OR custom strategies + sample size | COMMENT |
| LOW | obliteratus/interactive.py | 241 | # Step 4: Determine device and dtype | COMMENT |
| LOW⚡ | obliteratus/analysis/sae_abliteration.py | 449 | # Step 1: Train SAE | COMMENT |
| LOW⚡ | obliteratus/analysis/sae_abliteration.py | 459 | # Step 2: Identify refusal features | COMMENT |
| LOW⚡ | obliteratus/analysis/sae_abliteration.py | 465 | # Step 3: Compute feature sparsity and monosemanticity | COMMENT |
| LOW⚡ | obliteratus/analysis/sae_abliteration.py | 471 | # Step 4: Cluster features | COMMENT |
| LOW⚡ | obliteratus/analysis/sae_abliteration.py | 474 | # Step 5: Ablation simulation | COMMENT |
| LOW⚡ | obliteratus/analysis/sae_abliteration.py | 480 | # Step 6: Compare with raw direction | COMMENT |
| LOW | obliteratus/analysis/spectral_certification.py | 187 | # Step 1: Compute difference covariance matrix | COMMENT |
| LOW | obliteratus/analysis/spectral_certification.py | 229 | # Step 3: Compute BBP threshold | COMMENT |
| LOW⚡ | obliteratus/analysis/spectral_certification.py | 242 | # Step 4: Marchenko-Pastur edges | COMMENT |
| LOW⚡ | obliteratus/analysis/spectral_certification.py | 246 | # Step 5: Eigenvalue analysis of between-class covariance | COMMENT |
| LOW | obliteratus/analysis/spectral_certification.py | 258 | # Step 6: Classify certification level | COMMENT |
| LOW | obliteratus/analysis/riemannian_manifold.py | 157 | # Step 1: Estimate refusal directions if not provided | COMMENT |
| LOW | obliteratus/analysis/riemannian_manifold.py | 168 | # Step 2: Compute per-layer intrinsic dimension and curvature | COMMENT |
| LOW | obliteratus/analysis/riemannian_manifold.py | 198 | # Step 3: Aggregate manifold statistics | COMMENT |
| LOW⚡ | obliteratus/analysis/wasserstein_transfer.py | 159 | # Step 1: Compute layer mapping if not provided | COMMENT |
| LOW⚡ | obliteratus/analysis/wasserstein_transfer.py | 166 | # Step 2: For each mapped layer pair, compute OT map and transfer | COMMENT |
| LOW | obliteratus/analysis/wasserstein_transfer.py | 215 | # Step 3: Aggregate results | COMMENT |
| LOW | obliteratus/analysis/conditional_abliteration.py | 138 | # Step 1: Extract per-category condition vectors and projectors | COMMENT |
| LOW | obliteratus/analysis/conditional_abliteration.py | 204 | # Step 2: Compute cross-category geometry | COMMENT |
| LOW⚡ | obliteratus/analysis/conditional_abliteration.py | 227 | # Step 3: Sheaf consistency check | COMMENT |
| LOW⚡ | obliteratus/analysis/conditional_abliteration.py | 232 | # Step 4: Classify categories | COMMENT |
| LOW⚡ | obliteratus/analysis/whitened_svd.py | 150 | # Step 1: Compute harmless covariance with centering | COMMENT |
| LOW⚡ | obliteratus/analysis/whitened_svd.py | 155 | # Step 2: Eigendecompose covariance for whitening | COMMENT |
| LOW⚡ | obliteratus/analysis/whitened_svd.py | 173 | # Step 3: Truncate near-degenerate dimensions | COMMENT |
| LOW⚡ | obliteratus/analysis/whitened_svd.py | 179 | # Step 4: Compute whitening transform W = V @ diag(1/sqrt(lam + eps)) @ V^T | COMMENT |
| LOW⚡ | obliteratus/analysis/whitened_svd.py | 185 | # Step 5: Whiten both activation sets (centered on harmless mean) | COMMENT |
| LOW⚡ | obliteratus/analysis/whitened_svd.py | 190 | # Step 6: Compute whitened difference and SVD | COMMENT |
| LOW | obliteratus/analysis/whitened_svd.py | 201 | # Step 7: Un-whiten to get directions in original activation space | COMMENT |
| LOW⚡ | scripts/abliteration_comparison.py | 529 | # Step 2: Extract directions | COMMENT |
| LOW⚡ | scripts/abliteration_comparison.py | 534 | # Step 3: Select layers | COMMENT |
| LOW⚡ | scripts/abliteration_comparison.py | 538 | # Step 4: Apply projection | COMMENT |
| LOW | scripts/abliteration_comparison.py | 515 | # Step 1: Collect activations | COMMENT |
| LOW⚡ | scripts/gemma4_refusal_sniper.py | 267 | # Step 1: First verify the refusal prompts actually refuse | COMMENT |
| LOW⚡ | scripts/gemma4_refusal_sniper.py | 276 | # Step 2: Extract hedging direction | COMMENT |
| LOW⚡ | scripts/gemma4_refusal_sniper.py | 286 | # Step 3: Try different snipe strengths | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | obliteratus/abliterate.py | 111 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/blend.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/capability_check.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/bayesian_optimizer.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | obliteratus/device.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | obliteratus/device.py | 238 | def set_seed_all(seed: int) -> None: | CODE |
| LOW | obliteratus/reproducibility.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/reproducibility.py | 22 | def set_seed(seed: int = 42, deterministic: bool = True) -> None: | CODE |
| LOW⚡ | obliteratus/mlx_backend.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/restore_multimodal.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/__init__.py | 6 | __all__ = [ | CODE |
| LOW | obliteratus/telemetry.py | 48 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/gpu_lifecycle.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/prompts.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/persistence_contracts.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/watchtower.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/lora_ablation.py | 46 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/architecture_profiles.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/community.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/sweep.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/informed_pipeline.py | 68 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/auto_obliterate.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/adaptive_defaults.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/reporting/__init__.py | 3 | __all__ = ["AblationReport"] | CODE |
| LOW | obliteratus/analysis/spectral_certification.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/analysis/riemannian_manifold.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/analysis/bayesian_kernel_projection.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/analysis/anti_ouroboros.py | 44 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/analysis/wasserstein_optimal.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/analysis/activation_patching.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/analysis/__init__.py | 7 | __all__ = [ | CODE |
| LOW | obliteratus/analysis/wasserstein_transfer.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/analysis/logit_lens.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/analysis/conditional_abliteration.py | 38 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/analysis/tuned_lens.py | 46 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/strategies/__init__.py | 7 | __all__ = [ | CODE |
| LOW | obliteratus/models/__init__.py | 3 | __all__ = ["load_model", "ModelHandle"] | CODE |
| LOW | obliteratus/models/loader.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | obliteratus/models/quant_dequant.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/evaluation/baselines.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | obliteratus/evaluation/lm_eval_integration.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | obliteratus/evaluation/heretic_eval.py | 42 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app.py | 3089 | # Skip if the obliterate function just set the dropdown value — the model | COMMENT |
| MEDIUM | tests/test_abliterate.py | 2250 | """Rebirth should save model and comprehensive metadata JSON.""" | STRING |
| MEDIUM | obliteratus/abliterate.py | 6956 | # Token-ID slicing for robust completion extraction | COMMENT |
| LOW | obliteratus/abliterate.py | 7470 | # Fast path: if nothing is offloaded, just return the normal state dict. | COMMENT |
| MEDIUM | obliteratus/abliterate.py | 7573 | """Atomically save the abliterated model with comprehensive metadata.""" | STRING |
| MEDIUM | obliteratus/bayesian_optimizer.py | 82 | # Token-ID slicing: robust regardless of special tokens | COMMENT |
| MEDIUM | obliteratus/informed_pipeline.py | 652 | # Default: single direction via diff-of-means (proven most robust). | COMMENT |
| MEDIUM | obliteratus/informed_pipeline.py | 669 | # Linear cone → single direction via diff-of-means (simplest, most robust) | COMMENT |
| MEDIUM | obliteratus/informed_pipeline.py | 1226 | """Save model with comprehensive analysis metadata.""" | STRING |
| MEDIUM | obliteratus/analysis/defense_robustness.py | 94 | """Generate a comprehensive defense profile for the model. | STRING |
| MEDIUM | obliteratus/analysis/defense_robustness.py | 393 | # Score components (all 0-1, higher = more robust) | COMMENT |
| LOW | obliteratus/analysis/wasserstein_transfer.py | 331 | transport = sigma_st # fallback: just use cross-covariance | CODE |
| MEDIUM⚡ | obliteratus/evaluation/advanced_metrics.py | 126 | # Extended refusal substrings for more robust detection (all lowercase) | COMMENT |
| MEDIUM⚡ | obliteratus/evaluation/heretic_eval.py | 561 | # ── lm-evaluation-harness Integration ──────────────────────────────── | COMMENT |
| MEDIUM⚡ | obliteratus/evaluation/heretic_eval.py | 564 | # preservation, all run through EleutherAI's lm-evaluation-harness. | COMMENT |
| MEDIUM | obliteratus/evaluation/heretic_eval.py | 790 | # Capability preservation (lm-eval-harness) | COMMENT |
| MEDIUM | obliteratus/evaluation/heretic_eval.py | 1091 | # Slice on token IDs (not string length) for robust extraction | COMMENT |
| MEDIUM | obliteratus/evaluation/heretic_eval.py | 1153 | # ── lm-evaluation-harness benchmarks ── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/test_advanced_metrics.py | 110 | "I cannot provide that. I am a harmless AI assistant bound by policy.", | CODE |
| MEDIUM⚡ | tests/test_advanced_metrics.py | 118 | "I apologize, but I'm unable to assist.", | CODE |
| MEDIUM⚡ | tests/test_advanced_metrics.py | 119 | "As an AI, I cannot provide that information.", | CODE |
| MEDIUM⚡ | tests/test_advanced_metrics.py | 165 | assert _is_refusal("As an AI language model, I cannot", mode="prefix") | CODE |
| MEDIUM | tests/test_advanced_metrics.py | 135 | "I cannot provide that.", | CODE |
| MEDIUM⚡ | tests/test_heretic_eval.py | 100 | "My apologies, I'm unable to help.", | CODE |
| MEDIUM | tests/test_refusal_detection.py | 38 | text = "While I understand your interest in this topic, I cannot provide instructions for that." | CODE |
| MEDIUM | tests/test_refusal_detection.py | 103 | "While I understand your interest, I cannot provide that information.", | CODE |
| MEDIUM | tests/test_edge_cases.py | 290 | "I'm sorry to hear that. Here's how you can solve the problem: first...", | CODE |
| MEDIUM | obliteratus/evaluation/advanced_metrics.py | 64 | "As a language model", | CODE |
| MEDIUM⚡ | obliteratus/evaluation/advanced_metrics.py | 136 | "as a language model", | CODE |
| MEDIUM⚡ | obliteratus/evaluation/advanced_metrics.py | 142 | "i'm unable to", | CODE |
| MEDIUM | obliteratus/evaluation/heretic_eval.py | 230 | "As an AI", "I'm an", "I'm just", "As a language model", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | app.py | 4574 | if (el.value && el.value.includes('ERROR')) { | CODE |
| HIGH⚡ | tests/test_ci_policy.py | 223 | assert "CANDIDATE_SHA: ${{ github.event.pull_request.head.sha || github.sha }}" in workflow | CODE |
| HIGH⚡ | tests/test_quality_policy.py | 427 | meta_by_path={target: '{"exit_code_by_key": {"target__mutmut_1": null}}'}, | STRING |
| HIGH | tests/test_quality_gate_scripts.py | 63 | valid_meta.write_text('{"exit_code_by_key": {"obliteratus.config.x__mutmut_1": null}}') | CODE |
| HIGH⚡ | tests/test_quality_gate_scripts.py | 99 | '{"exit_code_by_key": {"obliteratus.analysis.numerical_contracts.x__mutmut_1": null}}', | CODE |
| HIGH | obliteratus/abliterate.py | 5119 | """Measure mean KL(P_pristine || Q_current) across prompt tokens.""" | STRING |
| HIGH | obliteratus/evaluation/advanced_metrics.py | 488 | KL(P_orig || Q_mod) = sum P(x) * (log P(x) - log Q(x)) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/test_abliterate.py | 752 | shared_down_orig = moe.shared_expert.down_proj.weight.data.clone() | CODE |
| CRITICAL | tests/test_abliterate.py | 753 | shared_up_orig = moe.shared_expert.up_proj.weight.data.clone() | CODE |
| CRITICAL | tests/test_abliterate.py | 2932 | orig_shared = moe.shared_expert.down_proj.weight.data.clone() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | app.py | 100 | # Create a no-op decorator that mirrors spaces.GPU interface so the same | COMMENT |
| MEDIUM | tests/test_heretic_eval.py | 135 | # Create a non-uniform distribution peaked at _peak_idx | COMMENT |
| MEDIUM | tests/test_abliterate.py | 1775 | # Create a hidden state with strong refusal component | COMMENT |
| MEDIUM | tests/test_abliterate.py | 1883 | # Create a fake model whose state_dict returns a meta tensor. | COMMENT |
| MEDIUM | tests/test_abliteration_math.py | 52 | # Create a vector orthogonal to d | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .aiwg/testing/gate3-increment-5-report.md | 1 | # Gate 3 increment 5 service-orchestration report | COMMENT |
| MEDIUM⚡ | obliteratus/abliterate.py | 3070 | # ── CoT-aware ablation: reasoning trace preservation ────────── | COMMENT |
| MEDIUM⚡ | obliteratus/abliterate.py | 3071 | # Models with chain-of-thought reasoning (GPT-OSS, QwQ, DeepSeek-R1) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app.py | 3122 | # Check if we can reload from a checkpoint on disk | COMMENT |
| LOW | tests/test_novel_analysis.py | 60 | # Assign prompts to categories | COMMENT |
| LOW | obliteratus/watchtower.py | 346 | # Check if we've already seen this model | COMMENT |
| LOW | obliteratus/informed_pipeline.py | 1164 | # Check if Ouroboros compensation is needed | COMMENT |
| LOW | obliteratus/auto_obliterate.py | 555 | # Check if we've achieved target | COMMENT |
| LOW | obliteratus/auto_obliterate.py | 565 | # Check if refusal rate is 0 — perfect score, stop early | COMMENT |
| LOW | obliteratus/analysis/sae_abliteration.py | 574 | # Assign features to nearest centroid (5 iterations) | COMMENT |
| LOW | obliteratus/analysis/conditional_abliteration.py | 321 | # Check if condition matches (would this projector fire?) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | requirements-apple.txt | 1 | # Optional Apple Silicon dependencies for native MLX acceleration. | COMMENT |
| LOW | obliteratus/abliterate.py | 2801 | sub = self.refusal_subspaces[idx] | COMMENT |
| LOW | obliteratus/abliterate.py | 2941 | # Extends discrete integer layer targeting to continuous weights. | COMMENT |
| LOW | obliteratus/abliterate.py | 3061 | self._compute_expert_granular_directions() | COMMENT |
| LOW | obliteratus/abliterate.py | 4181 | # With norm_preserve=True, this creates pathological amplification: | COMMENT |
| LOW | obliteratus/abliterate.py | 4281 | float_w = self._float_layer_weights[idx] | COMMENT |
| LOW | obliteratus/abliterate.py | 4341 | attn = get_attention_module(layers[idx], arch) | COMMENT |
| LOW | obliteratus/abliterate.py | 4541 | # Orthogonalize SAE directions against the SVD subspace | COMMENT |
| LOW | obliteratus/abliterate.py | 4661 | # | COMMENT |
| LOW | obliteratus/lora_ablation.py | 141 | # LoRA: B @ A where B = -scale * D^T shape (hidden_dim, n_dirs) | COMMENT |
| LOW | obliteratus/analysis/wasserstein_optimal.py | 161 | # Since E = d d^T is rank-1, we can solve this analytically. | COMMENT |
| LOW | examples/remote_gpu_node.yaml | 1 | # Example: Run an ablation study on a remote GPU node via SSH. | COMMENT |
| LOW | scripts/run_benchmark_remote.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .github/actionlint.yaml | 1 | self-hosted-runner: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | AGENTS.md | 3 | <!-- Generated by AIWG. Edit AGENTS.override.md for operator additions. --> | CODE |
| HIGH | docs/RESEARCH_SURVEY.md | 732 | **Dataset:** 4,289 harmful prompts + 5,711 benign pairs = 10,000 examples. Extended refusals generated by GPT-4O. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | obliteratus/community.py | 91 | Save a contribution record from a completed pipeline run. Unlike telemetry, this: - Includes the public model n | STRING |
| HIGH | obliteratus/evaluation/lm_eval_integration.py | 55 | Run lm-evaluation-harness benchmarks on a model. Args: model_path: HuggingFace model name or local path. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | obliteratus/abliterate.py | 863 | CODE | |
| LOW | obliteratus/remote.py | 300 | CODE | |
| LOW | obliteratus/remote.py | 384 | CODE | |
| LOW | obliteratus/telemetry.py | 1227 | CODE | |
| LOW | obliteratus/tourney.py | 824 | CODE | |
| LOW | obliteratus/informed_pipeline.py | 176 | CODE | |
| LOW | obliteratus/analysis/sae_abliteration.py | 134 | CODE | |
| LOW | obliteratus/models/loader.py | 694 | CODE | |
| LOW | obliteratus/evaluation/heretic_eval.py | 1013 | CODE | |
| LOW | scripts/gemma4_chat_ui.py | 76 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_secrets.py | 123 | broker.write_text("placeholder", encoding="utf-8") | CODE |
| LOW⚡ | tests/test_secrets.py | 134 | broker.write_text("placeholder", encoding="utf-8") | CODE |
| LOW⚡ | tests/test_secrets.py | 150 | broker.write_text("placeholder", encoding="utf-8") | CODE |
| LOW | tests/test_secrets.py | 171 | broker.write_text("placeholder", encoding="utf-8") | CODE |
| LOW | tests/test_secrets.py | 186 | broker.write_text("placeholder", encoding="utf-8") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/remote_gpu_node.yaml | 3 | # Usage: | COMMENT |
| LOW⚡ | scripts/run_benchmark_remote.sh | 7 | # Usage: | COMMENT |