Skip to content
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
9bd6672
docs: add testing guide for external testers and customers
imran-siddique Mar 20, 2026
b62e0c5
docs: add regulatory alignment table and Purview positioning to README
imran-siddique Mar 21, 2026
3ab4a65
Merge branch 'main' of https://github.com/microsoft/agent-governance-…
imran-siddique Mar 21, 2026
33df318
fix(ci): restore read-all at workflow level for Scorecard verification
imran-siddique Mar 21, 2026
f7d49a9
docs: add comprehensive docstrings to mcp_adapter.py classes (#324)
parsa-faraji Mar 21, 2026
baeed60
ci: add markdown link checker workflow (#323)
mvanhorn Mar 21, 2026
8ee3c81
feat: add policy evaluation heatmap to SRE dashboard (#309) (#326)
zeel2104 Mar 21, 2026
057b908
fix: remove unregistered PyPI packages from notebooks and requirement…
x4v13r64 Mar 21, 2026
7a3fdb9
fix(security): complete dependency confusion fix — replace all pip in…
imran-siddique Mar 21, 2026
58bc4fd
docs: update framework star counts to current values
imran-siddique Mar 21, 2026
96b2046
Merge branch 'main' of https://github.com/microsoft/agent-governance-…
imran-siddique Mar 22, 2026
3ac1f73
Merge branch 'main' of https://github.com/microsoft/agent-governance-…
imran-siddique Mar 22, 2026
1f9fbef
feat(compliance): add compliance_grade() method to GovernanceAttestation
imran-siddique Mar 22, 2026
16ec22e
fix: broken markdown links and lychee exclusions
imran-siddique Mar 22, 2026
81c7e91
ci: make link checker non-blocking until pre-existing links are fixed…
imran-siddique Mar 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .lychee.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,24 @@ exclude = [
# PyPI (frequently rate-limits CI)
"pypi\\.org/project",

# NuGet (package not yet published)
"nuget\\.org/packages/Microsoft\\.AgentGovernance",

# NIST (intermittent 404s from CI runners)
"nist\\.gov",

# Microsoft login / auth endpoints (require authentication)
"login\\.microsoftonline\\.com",
"portal\\.azure\\.com",

# GitHub special URLs that require authentication or don't resolve in CI
"github\\.com/.*/compare/",
"github\\.com/.*/releases/new",
"github\\.com/.*/stargazers",

# Internal docs not yet created
"singapore-mgf-mapping\\.md",
"csa-atf-mapping\\.md",
]

# Exclude email addresses from checking
Expand Down
14 changes: 14 additions & 0 deletions packages/agent-compliance/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,20 @@ async def main():
asyncio.run(main())
```

### Compliance Grading

Check your governance coverage with a compliance grade:

```python
from agent_compliance.verify import GovernanceVerifier

verifier = GovernanceVerifier()
attestation = verifier.verify()
print(f"Grade: {attestation.compliance_grade()}") # A, B, C, D, or F
print(f"Coverage: {attestation.coverage_pct()}%")
print(attestation.badge_markdown())
```

Install only what you need:

```bash
Expand Down
18 changes: 18 additions & 0 deletions packages/agent-compliance/src/agent_compliance/verify.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,24 @@ def coverage_pct(self) -> int:
return 0
return int(self.controls_passed / self.controls_total * 100)

def compliance_grade(self) -> str:
"""Return a letter grade based on coverage percentage.

Returns:
A letter grade (A, B, C, D, F) based on the percentage
of OWASP ASI controls that are covered.
"""
pct = self.coverage_pct()
if pct >= 90:
return "A"
elif pct >= 80:
return "B"
elif pct >= 70:
return "C"
elif pct >= 60:
return "D"
return "F"

def badge_url(self) -> str:
"""Shields.io badge URL for README embedding."""
pct = self.coverage_pct()
Expand Down
6 changes: 3 additions & 3 deletions packages/agentmesh-integrations/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

*Dify · LangChain · LangGraph · LlamaIndex · OpenAI Agents · OpenClaw · Nostr WoT · Moltbook*

[![GitHub Stars](https://img.shields.io/github/stars/microsoft/agent-governance-toolkit/tree/main/packages/agentmesh-integrations?style=social)](https://github.com/microsoft/agent-governance-toolkit/tree/main/packages/agentmesh-integrations/stargazers)
[![GitHub Stars](https://img.shields.io/github/stars/microsoft/agent-governance-toolkit?style=social)](https://github.com/microsoft/agent-governance-toolkit/stargazers)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Python](https://img.shields.io/badge/python-3.10+-blue.svg)](https://python.org)
[![AgentMesh](https://img.shields.io/badge/agentmesh-compatible-green.svg)](https://github.com/microsoft/agent-governance-toolkit)
Expand Down Expand Up @@ -125,8 +125,8 @@ agentmesh (core library) agentmesh-integrations (this repo)

| Type | Location | Example |
|---|---|---|
| **Framework adapters** (wrap agent frameworks with governance) | [Agent OS `integrations/`](https://github.com/microsoft/agent-governance-toolkit/tree/main/src/agent_os/integrations) | LangChainKernel, CrewAIKernel |
| **Ecosystem bridges** (connect sibling projects) | [Agent SRE `integrations/`](https://github.com/microsoft/agent-governance-toolkit/tree/main/src/agent_sre/integrations) | Agent OS bridge, AgentMesh bridge |
| **Framework adapters** (wrap agent frameworks with governance) | [Agent OS `integrations/`](https://github.com/microsoft/agent-governance-toolkit/tree/main/packages/agent-os/src/agent_os/integrations) | LangChainKernel, CrewAIKernel |
| **Ecosystem bridges** (connect sibling projects) | [Agent SRE `integrations/`](https://github.com/microsoft/agent-governance-toolkit/tree/main/packages/agent-sre/src/agent_sre/integrations) | Agent OS bridge, AgentMesh bridge |
| **Platform plugins & trust providers** | **This repo** | Dify plugin, Nostr WoT, Moltbook |

---
Expand Down
Loading