Files
OBLITERATUS/ci/test-risk-map.json
T
Joseph Magly 37d008d462 test: establish Gate 1 quality baseline (#90)
Establishes the mandatory testing, coverage, repeatability, mutation, packaging, supply-chain, and AIWG workspace baseline before feature integration.
2026-08-15 01:07:47 -04:00

502 lines
20 KiB
JSON

{
"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/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"
],
"required_tests": [
"tests/test_abliterate.py",
"tests/test_abliterate_extended.py",
"tests/test_auto_obliterate.py",
"tests/test_informed_pipeline.py",
"tests/test_offline_integration.py",
"tests/test_runner_boundaries.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_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/ui_watchtower.py",
"obliteratus/watchtower.py"
],
"required_tests": [
"tests/test_cli.py",
"tests/test_cli_boundaries.py",
"tests/test_remote_boundaries.py",
"tests/test_remote_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_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"
]
},
{
"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_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"],
"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"],
"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_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_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/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": "conditional-runtime",
"risk": "multi-model tournament mutation, comparison, and optional publication",
"required_tests": ["tests/test_module_imports.py", "tests/conditional/test_external_evaluation_runtime.py"],
"conditional_gates": ["external-evaluation"]
},
{
"path": "obliteratus/bestiary_sync.py",
"risk_class": "conditional-runtime",
"risk": "external catalog synchronization and malformed service responses",
"required_tests": ["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_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_module_imports.py", "tests/conditional/test_network_services.py"],
"conditional_gates": ["network-services"]
},
{
"path": "obliteratus/interactive.py",
"risk_class": "conditional-runtime",
"risk": "interactive terminal prompts and operator decision flow",
"required_tests": ["tests/test_cli.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/conditional/test_operator_ui.py"],
"conditional_gates": ["operator-ui"]
},
{
"path": "obliteratus/ui_watchtower.py",
"risk_class": "conditional-runtime",
"risk": "service-backed UI tabs and scheduler controls",
"required_tests": ["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": []
}
]
}