generated from coulomb/repo-seed
Record quality gate audit decisions
This commit is contained in:
@@ -138,3 +138,29 @@ def test_legacy_trusted_auto_approval_skips_quality_gate_blocked_capability(tmp_
|
||||
assert safe is False
|
||||
assert "quality gates require review" in reason
|
||||
assert "RREG-QC-002" in reason
|
||||
|
||||
|
||||
def test_analysis_records_deterministic_gate_review_decision(tmp_path):
|
||||
source = tmp_path / "provider-repo"
|
||||
source.mkdir()
|
||||
(source / "README.md").write_text("# Provider Repo\n", encoding="utf-8")
|
||||
(source / "providers.py").write_text(
|
||||
"provider_registry = {'openrouter': OpenRouterAdapter}\n",
|
||||
encoding="utf-8",
|
||||
)
|
||||
store = RegistryStore(tmp_path / "registry.sqlite3")
|
||||
store.initialize()
|
||||
service = RegistryService(store, ingestion=GitIngestionService(tmp_path / "checkouts"))
|
||||
repository = service.register_repository(name="Provider Repo", url=str(source))
|
||||
|
||||
summary = service.analyze_repository(repository.id, use_llm_assistance=False)
|
||||
|
||||
decisions = service.list_review_decisions(repository.id, summary.analysis_run.id)
|
||||
gate_decision = next(
|
||||
decision for decision in decisions if decision.action == "quality_gate_evaluation"
|
||||
)
|
||||
assert gate_decision.reviewer_type == "deterministic-gate"
|
||||
assert "RREG-QC-002" in gate_decision.criterion_ids
|
||||
assert gate_decision.criteria_version == "repo-scoping-quality-criteria/v1"
|
||||
assert "without approving registry truth" in gate_decision.rationale
|
||||
assert service.ability_map(repository.id).abilities == []
|
||||
|
||||
Reference in New Issue
Block a user