{
  "schema_version": 2,
  "owner": "OBLITERATUS maintainers",
  "source_inventory": {
    "roots": ["app.py", "obliteratus"],
    "coverage_roots": ["obliteratus"]
  },
  "contract_surfaces": [
    {
      "id": "package-entrypoints",
      "owner": "packaging maintainers",
      "description": "Installed package exports, module entry points, console dispatch, and optional application construction",
      "contract_types": ["package-entrypoint", "public-interface", "operator-ui"],
      "paths": [
        "app.py",
        "obliteratus/__init__.py",
        "obliteratus/__main__.py",
        "obliteratus/analysis/__init__.py",
        "obliteratus/evaluation/__init__.py",
        "obliteratus/models/__init__.py",
        "obliteratus/reporting/__init__.py",
        "obliteratus/strategies/__init__.py"
      ],
      "required_tests": [
        "tests/test_cli.py",
        "tests/test_cli_boundaries.py",
        "tests/test_module_imports.py",
        "tests/test_package_export_contracts.py",
        "tests/conditional/test_operator_ui.py"
      ]
    },
    {
      "id": "core-pipeline",
      "owner": "abliteration pipeline maintainers",
      "description": "Model mutation, orchestration, automated search, study execution, sweeps, and tournament lifecycle",
      "contract_types": ["model-mutation", "model-runtime", "orchestration", "persistence"],
      "paths": [
        "obliteratus/abliterate.py",
        "obliteratus/persistence_contracts.py",
        "obliteratus/auto_obliterate.py",
        "obliteratus/bayesian_optimizer.py",
        "obliteratus/informed_pipeline.py",
        "obliteratus/lora_ablation.py",
        "obliteratus/runner.py",
        "obliteratus/sweep.py",
        "obliteratus/tourney.py",
        "obliteratus/tourney_contracts.py"
      ],
      "required_tests": [
        "tests/test_abliterate.py",
        "tests/test_abliterate_extended.py",
        "tests/test_auto_obliterate.py",
        "tests/test_bayesian_optimizer_contracts.py",
        "tests/test_informed_pipeline.py",
        "tests/test_informed_pipeline_contracts.py",
        "tests/test_offline_integration.py",
        "tests/test_runner_boundaries.py",
        "tests/test_sweep_contracts.py",
        "tests/test_tourney_contracts.py",
        "tests/test_checkpoint_atomicity.py",
        "tests/test_persistence_contracts.py",
        "tests/test_persistence_pipeline.py"
      ]
    },
    {
      "id": "configuration-and-selection",
      "owner": "runtime compatibility maintainers",
      "description": "Configuration, defaults, model profiles, architecture detection, device selection, loading, and preset contracts",
      "contract_types": ["configuration", "architecture-selection", "device-boundary", "model-runtime"],
      "paths": [
        "obliteratus/adaptive_defaults.py",
        "obliteratus/architecture_profiles.py",
        "obliteratus/config.py",
        "obliteratus/device.py",
        "obliteratus/mlx_backend.py",
        "obliteratus/model_profile.py",
        "obliteratus/models/loader.py",
        "obliteratus/presets.py",
        "obliteratus/runtime_contracts.py",
        "obliteratus/study_presets.py"
      ],
      "required_tests": [
        "tests/test_adaptive_defaults.py",
        "tests/test_architecture_profiles.py",
        "tests/test_config.py",
        "tests/test_config_properties.py",
        "tests/test_device_boundaries.py",
        "tests/test_loader_boundaries.py",
        "tests/test_mlx_backend_boundaries.py",
        "tests/test_model_profile.py",
        "tests/test_model_profile_contracts.py",
        "tests/test_runtime_contracts.py",
        "tests/test_study_presets.py"
      ]
    },
    {
      "id": "public-interface-and-services",
      "owner": "operator interface maintainers",
      "description": "CLI and interactive interfaces, remote execution, service adapters, scheduling, and UI boundaries",
      "contract_types": ["public-interface", "external-service", "remote-execution", "operator-ui"],
      "paths": [
        "obliteratus/bestiary_sync.py",
        "obliteratus/cli.py",
        "obliteratus/interactive.py",
        "obliteratus/local_ui.py",
        "obliteratus/models_client.py",
        "obliteratus/remote.py",
        "obliteratus/remote_contracts.py",
        "obliteratus/service_contracts.py",
        "obliteratus/ui_watchtower.py",
        "obliteratus/watchtower.py"
      ],
      "required_tests": [
        "tests/test_cli.py",
        "tests/test_cli_boundaries.py",
        "tests/test_interactive_contracts.py",
        "tests/test_local_ui_contracts.py",
        "tests/test_local_ui_portability.py",
        "tests/test_bestiary_contracts.py",
        "tests/test_models_client_contracts.py",
        "tests/test_remote_boundaries.py",
        "tests/test_remote_contracts.py",
        "tests/test_ui_watchtower_contracts.py",
        "tests/test_watchtower_contracts.py",
        "tests/conditional/test_network_services.py",
        "tests/conditional/test_operator_ui.py",
        "tests/conditional/test_remote_runtime.py"
      ]
    },
    {
      "id": "research-inputs-and-provenance",
      "owner": "research integrity maintainers",
      "description": "Prompt sources, hard negatives, community records, reproducibility controls, and telemetry schemas",
      "contract_types": ["research-input", "research-output", "reproducibility", "persistence"],
      "paths": [
        "obliteratus/community.py",
        "obliteratus/hard_negative.py",
        "obliteratus/prompts.py",
        "obliteratus/reproducibility.py",
        "obliteratus/telemetry.py"
      ],
      "required_tests": [
        "tests/test_community.py",
        "tests/test_hard_negative.py",
        "tests/test_prompt_sources.py",
        "tests/test_module_imports.py",
        "tests/test_telemetry.py",
        "tests/test_telemetry_failure_contracts.py"
      ]
    },
    {
      "id": "analysis-methods",
      "owner": "mechanistic analysis maintainers",
      "description": "Mechanistic analysis algorithms, numerical invariants, transfer methods, and visualization contracts",
      "contract_types": ["research-metric", "numerical-invariant", "research-output", "model-runtime"],
      "paths": [
        "obliteratus/analysis/activation_patching.py",
        "obliteratus/analysis/activation_probing.py",
        "obliteratus/analysis/alignment_imprint.py",
        "obliteratus/analysis/anti_ouroboros.py",
        "obliteratus/analysis/bayesian_kernel_projection.py",
        "obliteratus/analysis/causal_tracing.py",
        "obliteratus/analysis/concept_geometry.py",
        "obliteratus/analysis/conditional_abliteration.py",
        "obliteratus/analysis/cross_layer.py",
        "obliteratus/analysis/cross_model_transfer.py",
        "obliteratus/analysis/defense_robustness.py",
        "obliteratus/analysis/leace.py",
        "obliteratus/analysis/logit_lens.py",
        "obliteratus/analysis/multi_token_position.py",
        "obliteratus/analysis/numerical_contracts.py",
        "obliteratus/analysis/probing_classifiers.py",
        "obliteratus/analysis/residual_stream.py",
        "obliteratus/analysis/riemannian_manifold.py",
        "obliteratus/analysis/sae_abliteration.py",
        "obliteratus/analysis/sparse_surgery.py",
        "obliteratus/analysis/spectral_certification.py",
        "obliteratus/analysis/steering_vectors.py",
        "obliteratus/analysis/tuned_lens.py",
        "obliteratus/analysis/utils.py",
        "obliteratus/analysis/visualization.py",
        "obliteratus/analysis/wasserstein_optimal.py",
        "obliteratus/analysis/wasserstein_transfer.py",
        "obliteratus/analysis/whitened_svd.py"
      ],
      "required_tests": [
        "tests/test_analysis.py",
        "tests/test_analysis_utils.py",
        "tests/test_breakthrough_modules.py",
        "tests/test_causal_and_transfer.py",
        "tests/test_defense_robustness.py",
        "tests/test_leace.py",
        "tests/test_logit_lens.py",
        "tests/test_new_analysis_modules.py",
        "tests/test_numerical_contracts.py",
        "tests/test_novel_analysis.py",
        "tests/test_projection_math_contracts.py",
        "tests/test_whitened_svd_oracles.py",
        "tests/test_visualization.py"
      ]
    },
    {
      "id": "evaluation-and-benchmarks",
      "owner": "evaluation maintainers",
      "description": "Evaluation routing, benchmark execution, plots, statistical metrics, and external adapter results",
      "contract_types": ["research-metric", "numerical-invariant", "research-output", "external-service"],
      "paths": [
        "obliteratus/evaluation/advanced_metrics.py",
        "obliteratus/evaluation/baselines.py",
        "obliteratus/evaluation/benchmark_plots.py",
        "obliteratus/evaluation/benchmarks.py",
        "obliteratus/evaluation/evaluator.py",
        "obliteratus/evaluation/heretic_eval.py",
        "obliteratus/evaluation/lm_eval_integration.py",
        "obliteratus/evaluation/metrics.py"
      ],
      "required_tests": [
        "tests/test_advanced_metrics.py",
        "tests/test_benchmark_plots.py",
        "tests/test_benchmarks.py",
        "tests/test_evaluator.py",
        "tests/test_evaluation_reporting_contracts.py",
        "tests/test_heretic_eval.py",
        "tests/test_lm_eval_reporting_contracts.py",
        "tests/test_metrics.py",
        "tests/test_property_contracts.py",
        "tests/test_remaining_cpu_contracts.py"
      ]
    },
    {
      "id": "reporting",
      "owner": "research reporting maintainers",
      "description": "Report schemas, deterministic serialization, plotting, and persisted result artifacts",
      "contract_types": ["research-output", "persistence", "numerical-invariant"],
      "paths": ["obliteratus/reporting/report.py"],
      "required_tests": [
        "tests/test_report.py",
        "tests/test_evaluation_reporting_contracts.py",
        "tests/test_lm_eval_reporting_contracts.py"
      ]
    },
    {
      "id": "ablation-strategies",
      "owner": "ablation strategy maintainers",
      "description": "Strategy registration, enumeration, architecture navigation, mutation, and restoration behavior",
      "contract_types": ["ablation-strategy", "architecture-selection", "model-mutation"],
      "paths": [
        "obliteratus/strategies/base.py",
        "obliteratus/strategies/embedding_ablation.py",
        "obliteratus/strategies/ffn_ablation.py",
        "obliteratus/strategies/head_pruning.py",
        "obliteratus/strategies/layer_removal.py",
        "obliteratus/strategies/registry.py",
        "obliteratus/strategies/utils.py"
      ],
      "required_tests": [
        "tests/test_strategies.py",
        "tests/test_strategy_navigation_contracts.py",
        "tests/test_gemma4_support.py",
        "tests/test_study_presets.py"
      ]
    }
  ],
  "modules": [
    {
      "path": "obliteratus/cli.py",
      "risk_class": "cpu-contract",
      "risk": "public parsing, validation, dispatch, and local/remote option propagation",
      "required_tests": ["tests/test_cli.py", "tests/test_cli_boundaries.py"],
      "conditional_gates": []
    },
    {
      "path": "obliteratus/config.py",
      "risk_class": "cpu-contract",
      "risk": "configuration defaults, normalization, validation, and serialization",
      "required_tests": ["tests/test_config.py", "tests/test_config_properties.py"],
      "conditional_gates": []
    },
    {
      "path": "obliteratus/architecture_profiles.py",
      "risk_class": "cpu-contract",
      "risk": "architecture detection and projection-path contracts",
      "required_tests": ["tests/test_architecture_profiles.py", "tests/test_gemma4_support.py"],
      "conditional_gates": []
    },
    {
      "path": "obliteratus/community.py",
      "risk_class": "cpu-contract",
      "risk": "contribution schema, aggregation, and atomic persistence",
      "required_tests": ["tests/test_community.py"],
      "conditional_gates": []
    },
    {
      "path": "obliteratus/telemetry.py",
      "risk_class": "cpu-contract",
      "risk": "research telemetry schema, aggregation, and filesystem behavior",
      "required_tests": [
        "tests/test_telemetry.py",
        "tests/test_telemetry_failure_contracts.py"
      ],
      "conditional_gates": []
    },
    {
      "path": "obliteratus/reporting/report.py",
      "risk_class": "cpu-contract",
      "risk": "report schema, output paths, serialization, and plotting contracts",
      "required_tests": [
        "tests/test_report.py",
        "tests/test_evaluation_reporting_contracts.py",
        "tests/test_lm_eval_reporting_contracts.py"
      ],
      "conditional_gates": []
    },
    {
      "path": "obliteratus/evaluation/metrics.py",
      "risk_class": "cpu-contract",
      "risk": "research metric semantics and numerical invariants",
      "required_tests": ["tests/test_metrics.py", "tests/test_property_contracts.py"],
      "conditional_gates": []
    },
    {
      "path": "obliteratus/evaluation/advanced_metrics.py",
      "risk_class": "cpu-contract",
      "risk": "refusal detection, confidence intervals, and robustness metrics",
      "required_tests": [
        "tests/test_advanced_metrics.py",
        "tests/test_property_contracts.py",
        "tests/test_remaining_cpu_contracts.py"
      ],
      "conditional_gates": []
    },
    {
      "path": "obliteratus/device.py",
      "risk_class": "mixed-runtime",
      "risk": "device and dtype selection across CPU, CUDA, and Apple backends",
      "required_tests": ["tests/test_device_boundaries.py"],
      "conditional_gates": ["cuda-runtime", "mps-runtime"]
    },
    {
      "path": "obliteratus/runtime_contracts.py",
      "risk_class": "cpu-contract",
      "risk": "model request, memory, architecture scale, and dtype capability decisions",
      "required_tests": ["tests/test_runtime_contracts.py"],
      "conditional_gates": []
    },
    {
      "path": "obliteratus/models/loader.py",
      "risk_class": "mixed-runtime",
      "risk": "model loading, cache, architecture, quantization, and device-map boundaries",
      "required_tests": ["tests/test_loader_boundaries.py", "tests/test_offline_integration.py"],
      "conditional_gates": ["cuda-runtime", "bitsandbytes-runtime"]
    },
    {
      "path": "obliteratus/mlx_backend.py",
      "risk_class": "mixed-runtime",
      "risk": "MLX model discovery, tensor placement, mutation, and persistence",
      "required_tests": ["tests/test_mlx_backend_boundaries.py"],
      "conditional_gates": ["mlx-runtime"]
    },
    {
      "path": "obliteratus/persistence_contracts.py",
      "risk_class": "cpu-contract",
      "risk": "checkpoint sizing, metadata serialization, atomic promotion, rollback, and cleanup",
      "required_tests": [
        "tests/test_checkpoint_atomicity.py",
        "tests/test_persistence_contracts.py",
        "tests/test_persistence_pipeline.py"
      ],
      "conditional_gates": []
    },
    {
      "path": "obliteratus/abliterate.py",
      "risk_class": "mixed-runtime",
      "risk": "core model mutation, checkpoint, evaluation, and save pipeline",
      "required_tests": [
        "tests/test_abliterate.py",
        "tests/test_abliterate_extended.py",
        "tests/test_checkpoint_atomicity.py",
        "tests/test_persistence_contracts.py",
        "tests/test_persistence_pipeline.py",
        "tests/test_offline_integration.py"
      ],
      "conditional_gates": ["model-download-runtime"]
    },
    {
      "path": "obliteratus/auto_obliterate.py",
      "risk_class": "mixed-runtime",
      "risk": "automated search state, retry, scoring, and checkpoint behavior",
      "required_tests": ["tests/test_auto_obliterate.py", "tests/test_remaining_cpu_contracts.py"],
      "conditional_gates": ["model-download-runtime"]
    },
    {
      "path": "obliteratus/bayesian_optimizer.py",
      "risk_class": "conditional-runtime",
      "risk": "optional optimizer trials over repeated live model mutation and evaluation",
      "required_tests": [
        "tests/test_bayesian_optimizer_contracts.py",
        "tests/test_module_imports.py",
        "tests/conditional/test_model_download_runtime.py"
      ],
      "conditional_gates": ["model-download-runtime"]
    },
    {
      "path": "obliteratus/evaluation/baselines.py",
      "risk_class": "mixed-runtime",
      "risk": "control baseline mutation and comparative evaluation",
      "required_tests": [
        "tests/test_evaluator.py",
        "tests/test_evaluation_reporting_contracts.py",
        "tests/conditional/test_model_download_runtime.py"
      ],
      "conditional_gates": ["model-download-runtime"]
    },
    {
      "path": "obliteratus/evaluation/evaluator.py",
      "risk_class": "mixed-runtime",
      "risk": "dataset bounds, causal/classifier evaluation, and result semantics",
      "required_tests": [
        "tests/test_evaluator.py",
        "tests/test_evaluation_reporting_contracts.py",
        "tests/test_offline_integration.py"
      ],
      "conditional_gates": ["model-download-runtime"]
    },
    {
      "path": "obliteratus/informed_pipeline.py",
      "risk_class": "mixed-runtime",
      "risk": "multi-stage pipeline orchestration and stage-result contracts",
      "required_tests": [
        "tests/test_informed_pipeline.py",
        "tests/test_informed_pipeline_contracts.py",
        "tests/test_offline_integration.py"
      ],
      "conditional_gates": ["model-download-runtime"]
    },
    {
      "path": "obliteratus/lora_ablation.py",
      "risk_class": "conditional-runtime",
      "risk": "optional adapter construction and validation against live projections",
      "required_tests": ["tests/test_module_imports.py", "tests/conditional/test_model_download_runtime.py"],
      "conditional_gates": ["model-download-runtime"]
    },
    {
      "path": "obliteratus/sweep.py",
      "risk_class": "conditional-runtime",
      "risk": "parameter sweeps over repeated mutation and evaluation",
      "required_tests": [
        "tests/test_module_imports.py",
        "tests/test_sweep_contracts.py",
        "tests/conditional/test_model_download_runtime.py"
      ],
      "conditional_gates": ["model-download-runtime"]
    },
    {
      "path": "obliteratus/evaluation/heretic_eval.py",
      "risk_class": "mixed-runtime",
      "risk": "publication evaluation prompts, classifiers, scoring, and external adapters",
      "required_tests": ["tests/test_heretic_eval.py", "tests/conditional/test_external_evaluation_runtime.py"],
      "conditional_gates": ["external-evaluation"]
    },
    {
      "path": "obliteratus/evaluation/lm_eval_integration.py",
      "risk_class": "mixed-runtime",
      "risk": "external benchmark adapter arguments, metric extraction, measured-zero semantics, and comparison output",
      "required_tests": [
        "tests/test_lm_eval_reporting_contracts.py",
        "tests/test_module_imports.py",
        "tests/conditional/test_external_evaluation_runtime.py"
      ],
      "conditional_gates": ["external-evaluation"]
    },
    {
      "path": "obliteratus/tourney.py",
      "risk_class": "mixed-runtime",
      "risk": "multi-model tournament mutation, comparison, and optional publication",
      "required_tests": ["tests/test_tourney_contracts.py", "tests/test_module_imports.py", "tests/conditional/test_external_evaluation_runtime.py"],
      "conditional_gates": ["external-evaluation"]
    },
    {
      "path": "obliteratus/tourney_contracts.py",
      "risk_class": "cpu-contract",
      "risk": "checkpoint document parsing and version validation",
      "required_tests": ["tests/test_tourney_contracts.py"],
      "conditional_gates": []
    },
    {
      "path": "obliteratus/bestiary_sync.py",
      "risk_class": "conditional-runtime",
      "risk": "external catalog synchronization and malformed service responses",
      "required_tests": ["tests/test_bestiary_contracts.py", "tests/test_module_imports.py", "tests/conditional/test_network_services.py"],
      "conditional_gates": ["network-services"]
    },
    {
      "path": "obliteratus/models_client.py",
      "risk_class": "conditional-runtime",
      "risk": "catalog resolution across operator files and network services",
      "required_tests": ["tests/test_models_client_contracts.py", "tests/test_module_imports.py", "tests/conditional/test_network_services.py"],
      "conditional_gates": ["network-services"]
    },
    {
      "path": "obliteratus/watchtower.py",
      "risk_class": "conditional-runtime",
      "risk": "scheduled scans, queue state, and live service responses",
      "required_tests": ["tests/test_watchtower_contracts.py", "tests/test_module_imports.py", "tests/conditional/test_network_services.py"],
      "conditional_gates": ["network-services"]
    },
    {
      "path": "obliteratus/service_contracts.py",
      "risk_class": "cpu-contract",
      "risk": "catalog validation, external record normalization, and scheduler lifecycle decisions",
      "required_tests": ["tests/test_models_client_contracts.py", "tests/test_watchtower_contracts.py"],
      "conditional_gates": []
    },
    {
      "path": "obliteratus/interactive.py",
      "risk_class": "mixed-runtime",
      "risk": "interactive terminal prompts and operator decision flow",
      "required_tests": ["tests/test_cli.py", "tests/test_interactive_contracts.py", "tests/conditional/test_operator_ui.py"],
      "conditional_gates": ["operator-ui"]
    },
    {
      "path": "obliteratus/local_ui.py",
      "risk_class": "mixed-runtime",
      "risk": "Gradio construction, launch configuration, authentication, and signals",
      "required_tests": [
        "tests/test_cli.py",
        "tests/test_local_ui_contracts.py",
        "tests/test_local_ui_portability.py",
        "tests/conditional/test_operator_ui.py"
      ],
      "conditional_gates": ["operator-ui"]
    },
    {
      "path": "obliteratus/ui_watchtower.py",
      "risk_class": "mixed-runtime",
      "risk": "service-backed UI tabs and scheduler controls",
      "required_tests": ["tests/test_ui_watchtower_contracts.py", "tests/test_module_imports.py", "tests/conditional/test_operator_ui.py"],
      "conditional_gates": ["operator-ui"]
    },
    {
      "path": "obliteratus/remote.py",
      "risk_class": "mixed-runtime",
      "risk": "SSH discovery, quoting, execution, cancellation, and result synchronization",
      "required_tests": ["tests/test_remote_boundaries.py", "tests/conditional/test_remote_runtime.py"],
      "conditional_gates": ["remote-execution"]
    },
    {
      "path": "obliteratus/remote_contracts.py",
      "risk_class": "cpu-contract",
      "risk": "remote target validation, GPU selection normalization, and shell-safe command construction",
      "required_tests": ["tests/test_remote_contracts.py", "tests/test_remote_boundaries.py"],
      "conditional_gates": []
    }
  ]
}
