feat(gitea): add feature utilization source contracts

This commit is contained in:
ogt
2026-07-10 12:45:33 +08:00
parent 7d90d6383f
commit 7291b2956a
5 changed files with 339 additions and 15 deletions

View File

@@ -182,10 +182,25 @@ def test_gitea_capability_readback_rolls_up_complete_feature_surface() -> None:
)
== 26
)
feature_source_contracts = payload["workflow_source_inventory"][
"gitea_feature_source_contracts"
]
assert feature_source_contracts["source_contract_loaded"] is True
assert feature_source_contracts["issue_template_count"] == 1
assert feature_source_contracts["pull_request_template_present"] is True
assert feature_source_contracts["pull_request_code_review_source_ready"] is True
assert feature_source_contracts["issues_labels_milestones_source_ready"] is True
assert feature_source_contracts["projects_planning_source_ready"] is True
assert feature_source_contracts["wiki_knowledge_base_source_ready"] is True
assert feature_source_contracts["api_admin_audit_source_ready"] is True
capability_by_id = {row["id"]: row for row in payload["capability_rows"]}
assert capability_by_id["code_git_source_control"]["status"] == "verified_ready"
assert capability_by_id["dev_prod_environment_split"]["status"] == "verified_ready"
assert capability_by_id["pull_request_code_review"]["status"] == "source_ready"
assert capability_by_id["issues_labels_milestones"]["status"] == "source_ready"
assert capability_by_id["projects_planning"]["status"] == "source_ready"
assert capability_by_id["wiki_knowledge_base"]["status"] == "source_ready"
assert capability_by_id["gitea_actions_workflows"]["status"] == "verified_ready"
assert capability_by_id["gitea_actions_workflows"]["metrics"] == {
"workflow_source_file_count": 13,
@@ -196,6 +211,7 @@ def test_gitea_capability_readback_rolls_up_complete_feature_surface() -> None:
capability_by_id["branch_protection_required_checks"]["status"]
== "source_ready"
)
assert capability_by_id["api_admin_audit"]["status"] == "source_ready"
assert capability_by_id["webhooks_integrations"]["status"] == "source_ready"
assert (
capability_by_id["webhooks_integrations"]["metrics"][
@@ -274,7 +290,8 @@ def test_gitea_capability_readback_prioritizes_professional_cicd_gaps() -> None:
)
assert payload["rollups"]["p0_professional_ci_cd_practice_gap_count"] == 0
assert payload["rollups"]["market_professional_ci_cd_gap_count"] == 0
assert payload["rollups"]["all_gitea_features_fully_utilized"] is False
assert payload["rollups"]["all_gitea_features_fully_utilized"] is True
assert payload["rollups"]["gitea_feature_utilization_gap_ids"] == []
assert payload["rollups"]["professional_ci_cd_practice_gap_ids"] == []
practice_by_id = {