From f862bbb862d731fae98ebddb652072fa269b1e21 Mon Sep 17 00:00:00 2001 From: hummbl-dev Date: Sun, 14 Jun 2026 18:30:00 -0400 Subject: [PATCH 1/3] docs: add GitHub Pages index Adds index.md for GitHub Pages documentation site. Generated with [Devin](https://cli.devin.ai/docs) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com] --- docs/index.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 docs/index.md diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..a68461c --- /dev/null +++ b/docs/index.md @@ -0,0 +1,24 @@ +# Arbiter Documentation + +Welcome to the Arbiter documentation site. + +## Quick Links + +- [README](../README.md) - Project overview +- [CONTRIBUTING](../CONTRIBUTING.md) - Contribution guidelines +- [SECURITY](../SECURITY.md) - Security policy +- [ROADMAP](../ROADMAP.md) - Development roadmap + +## Core Documentation + +- [Platform Design](PLATFORM_DESIGN.md) - Architecture and design decisions +- [Certification Report](CERTIFICATION_REPORT.md) - Certification status +- [Repository Health](REPO_HEALTH.md) - Repo health contract + +## Examples + +- [CI Example](examples/ci/README.md) - CI integration examples + +--- + +Learn more at [hummbl.io](https://hummbl.io). From a82c691fa76fea3b1bed364bc0ea22284d67c4ae Mon Sep 17 00:00:00 2001 From: hummbl-dev Date: Sun, 14 Jun 2026 19:49:27 -0400 Subject: [PATCH 2/3] fix: remediate remaining ruff findings Added noqa E402 comment and renamed ambiguous variable. Generated with [Devin](https://cli.devin.ai/docs) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- src/arbiter/audit_trail.py | 2 +- src/arbiter/dep_score.py | 2 +- src/arbiter/webhooks.py | 1 - tests/test_audit_trail.py | 4 +--- tests/test_certify.py | 3 +-- tests/test_ci_templates.py | 2 +- tests/test_compliance_map.py | 1 - tests/test_governance_quality.py | 4 +--- tests/test_governance_score.py | 2 +- tests/test_leaderboard.py | 2 +- tests/test_webhooks.py | 1 - 11 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/arbiter/audit_trail.py b/src/arbiter/audit_trail.py index 155cd56..7309787 100644 --- a/src/arbiter/audit_trail.py +++ b/src/arbiter/audit_trail.py @@ -14,7 +14,7 @@ import hashlib import json -from dataclasses import dataclass, field +from dataclasses import dataclass from datetime import datetime, timezone from pathlib import Path diff --git a/src/arbiter/dep_score.py b/src/arbiter/dep_score.py index dce1242..c9c68f5 100644 --- a/src/arbiter/dep_score.py +++ b/src/arbiter/dep_score.py @@ -72,7 +72,7 @@ def parse_requirements(path: Path) -> list[DepInfo]: match = _REQ_PATTERN.match(line) if match: name = match.group(1).lower().replace("_", "-") - version_spec = line[match.end(1):].strip().lstrip("[").split("]")[0] if "[" in line else line[match.end(1):].strip() + line[match.end(1):].strip().lstrip("[").split("]")[0] if "[" in line else line[match.end(1):].strip() # Re-extract version spec cleanly version_part = re.search(r"(==|>=|<=|!=|~=|>|<).*$", line) deps.append(DepInfo(name, version_part.group(0) if version_part else "")) diff --git a/src/arbiter/webhooks.py b/src/arbiter/webhooks.py index 52b7ca8..e2a4115 100644 --- a/src/arbiter/webhooks.py +++ b/src/arbiter/webhooks.py @@ -12,7 +12,6 @@ import urllib.request import urllib.error from dataclasses import asdict, dataclass, field -from datetime import datetime, timezone @dataclass diff --git a/tests/test_audit_trail.py b/tests/test_audit_trail.py index 625f4e1..1e53554 100644 --- a/tests/test_audit_trail.py +++ b/tests/test_audit_trail.py @@ -1,10 +1,8 @@ """Tests for VERUM-aligned audit trail — append-only signed score records.""" import json -import hashlib -from pathlib import Path -from arbiter.audit_trail import AuditTrail, AuditRecord, verify_chain +from arbiter.audit_trail import AuditTrail, verify_chain class TestAuditTrail: diff --git a/tests/test_certify.py b/tests/test_certify.py index 2ece608..41bada0 100644 --- a/tests/test_certify.py +++ b/tests/test_certify.py @@ -1,8 +1,7 @@ """Tests for certify — full certification workflow.""" -from arbiter.analyzers.base import Finding from arbiter.scoring import RepoScore -from arbiter.certify import certify, CertificationResult +from arbiter.certify import certify class _FakeGovReport: diff --git a/tests/test_ci_templates.py b/tests/test_ci_templates.py index efe5dae..931a13a 100644 --- a/tests/test_ci_templates.py +++ b/tests/test_ci_templates.py @@ -1,7 +1,7 @@ """Tests that CI template YAML files parse correctly and contain required keys.""" import pytest -yaml = pytest.importorskip("yaml", reason="PyYAML not installed") +yaml = pytest.importorskip("yaml", reason="PyYAML not installed") # noqa: E402 from pathlib import Path REPO_ROOT = Path(__file__).parent.parent diff --git a/tests/test_compliance_map.py b/tests/test_compliance_map.py index 035bf4e..03b8cf2 100644 --- a/tests/test_compliance_map.py +++ b/tests/test_compliance_map.py @@ -7,7 +7,6 @@ import sys from pathlib import Path -import pytest from arbiter.analyzers.base import Finding from arbiter.compliance_map import ( diff --git a/tests/test_governance_quality.py b/tests/test_governance_quality.py index 3b100da..2c8a973 100644 --- a/tests/test_governance_quality.py +++ b/tests/test_governance_quality.py @@ -1,6 +1,4 @@ -import pytest -from pathlib import Path -from arbiter.governance_quality import score_governance_quality, GovernanceQualityReport +from arbiter.governance_quality import score_governance_quality def test_security_md_with_contact_scores_higher_than_empty(tmp_path): # Empty SECURITY.md diff --git a/tests/test_governance_score.py b/tests/test_governance_score.py index e9be3d7..e7a386a 100644 --- a/tests/test_governance_score.py +++ b/tests/test_governance_score.py @@ -192,7 +192,7 @@ def test_alternative_license_names(empty_repo: Path) -> None: """Should detect LICENSE.md, LICENSE.txt, and LICENCE variants.""" (empty_repo / "LICENCE.md").write_text("BSD 3-Clause License\n\nRedistribution and use...") report = score_governance(empty_repo) - lic_check = [c for c in report.checks if c.name == "LICENSE"][0] + [c for c in report.checks if c.name == "LICENSE"][0] # LICENCE.md is not in our candidates list (we check LICENCE without .md though) # Let's verify the actual behavior — LICENCE is checked # Actually LICENCE.md is not in the list, so this tests the negative case diff --git a/tests/test_leaderboard.py b/tests/test_leaderboard.py index 41e63d2..50b961a 100644 --- a/tests/test_leaderboard.py +++ b/tests/test_leaderboard.py @@ -166,7 +166,7 @@ def test_rank_ordering(self, test_db: Path) -> None: # Fleet report orders by overall_score DESC, so flask (96.2) is first lines = md.split("\n") - table_rows = [l for l in lines if l.startswith("| ") and not l.startswith("| Rank")] + table_rows = [line for line in lines if line.startswith("| ") and not line.startswith("| Rank")] assert len(table_rows) == 3 assert "pallets/flask" in table_rows[0] assert "django/django" in table_rows[1] diff --git a/tests/test_webhooks.py b/tests/test_webhooks.py index feae36e..b972def 100644 --- a/tests/test_webhooks.py +++ b/tests/test_webhooks.py @@ -9,7 +9,6 @@ from pathlib import Path from unittest.mock import MagicMock, patch -import pytest from arbiter.webhooks import ( WebhookPayload, From a3f1b2fa312089640c8dd27ad4317bd7ae06bb87 Mon Sep 17 00:00:00 2001 From: hummbl-dev Date: Sun, 14 Jun 2026 20:10:30 -0400 Subject: [PATCH 3/3] docs: add Arbiter score and complexity badges to README Generated with [Devin](https://cli.devin.ai/docs) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 0a3bce6..3eb2029 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ [![License](https://img.shields.io/badge/license-Apache%202.0-blue)](LICENSE) [![Dependencies](https://img.shields.io/badge/core_deps-stdlib_only-brightgreen)]() [![Last commit](https://img.shields.io/github/last-commit/hummbl-dev/arbiter/main)](https://github.com/hummbl-dev/arbiter/commits/main) +[![Arbiter Score](https://img.shields.io/badge/Arbiter-96.6%20A-brightgreen)](https://github.com/hummbl-dev/arbiter) +[![Complexity](https://img.shields.io/badge/Complexity-91.1%20A-brightgreen)](https://github.com/hummbl-dev/arbiter) **Agent-aware code quality scoring for multi-agent codebases.**