feat(governance): automate harness consistency checks (phase 3)
Harness governance / validate (push) Has been cancelled

This commit is contained in:
chengma
2026-07-14 13:05:19 +08:00
parent 0a09deacee
commit 1d3428a288
22 changed files with 2149 additions and 60 deletions
+9 -2
View File
@@ -171,16 +171,23 @@ class GiteaClient:
def list_labels(self) -> dict[str, dict[str, Any]]:
result: dict[str, dict[str, Any]] = {}
seen_pages: set[tuple[str, ...]] = set()
page = 1
while True:
labels = self.request("GET", f"/labels?limit=50&page={page}")
if not isinstance(labels, list):
raise RuntimeError("Gitea labels 响应格式异常。")
if not labels:
return result
if not all(isinstance(label, dict) for label in labels):
raise RuntimeError("Gitea labels 响应包含非对象条目。")
signature = tuple(str(label.get("id") or label.get("name")) for label in labels)
if signature in seen_pages or page > 1000:
raise RuntimeError("Gitea labels 分页重复,已停止以避免无限读取。")
seen_pages.add(signature)
for label in labels:
if isinstance(label, dict) and isinstance(label.get("name"), str):
result[label["name"]] = label
if len(labels) < 50:
return result
page += 1