generated from coulomb/repo-seed
52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
from repo_registry.acceptance import (
|
|
active_quality_criteria_version,
|
|
criteria_registry_markdown,
|
|
load_quality_criteria,
|
|
)
|
|
|
|
|
|
def test_quality_criteria_registry_is_versioned_and_reviewable():
|
|
registry = load_quality_criteria()
|
|
|
|
assert registry.schema_version == "quality-criteria-registry/v1"
|
|
assert registry.criteria_version == "repo-scoping-quality-criteria/v1"
|
|
assert registry.status == "active"
|
|
assert {criterion.id for criterion in registry.criteria} == {
|
|
"RREG-QC-001",
|
|
"RREG-QC-002",
|
|
"RREG-QC-003",
|
|
"RREG-QC-004",
|
|
"RREG-QC-005",
|
|
"RREG-QC-006",
|
|
}
|
|
for criterion in registry.criteria:
|
|
assert criterion.description
|
|
assert criterion.severity in {"low", "medium", "high", "critical"}
|
|
assert criterion.deterministic_action in {
|
|
"pass",
|
|
"requires_review",
|
|
"downgraded",
|
|
"rejected",
|
|
"invalidated",
|
|
"merged",
|
|
"flagged",
|
|
}
|
|
assert criterion.deterministic_action != "approve"
|
|
assert criterion.deterministic_action_when
|
|
assert criterion.reviewer_guidance
|
|
|
|
|
|
def test_quality_criteria_markdown_lists_transparent_review_guidance():
|
|
registry = load_quality_criteria()
|
|
|
|
markdown = criteria_registry_markdown(registry)
|
|
|
|
assert "# Quality Criteria Registry" in markdown
|
|
assert "RREG-QC-002: Native Utility Is Repo-Owned" in markdown
|
|
assert "Deterministic action: `downgraded`" in markdown
|
|
assert "Reviewer guidance:" in markdown
|
|
|
|
|
|
def test_active_quality_criteria_version_matches_registry():
|
|
assert active_quality_criteria_version() == "repo-scoping-quality-criteria/v1"
|