google / google/adk-python-community
Add SidClaw Governance Service integration
- Langage dominant
- Python
- Étoiles
- 182
- Forks
- 75
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
## Summary
Add a governance service integration for Google ADK agents using [SidClaw](https://sidclaw.com) — policy evaluation, human-in-the-loop approval, and tamper-proof audit trails for tool calls.
## Background
This was invited by @rohityan in [google/adk-python#5081](https://github.com/google/adk-python/pull/5081):
> "Hi @VladUZH, Closing this PR here as it belongs to adk-python-community repo. We highly recommend releasing the feature as a standalone package that we will then share through: https://google.github.io/adk-docs/integrations/"
## What It Does
The `SidClawGovernanceService` integrates with ADK's `before_tool_callback` and `after_tool_callback` hooks:
1. **Before tool execution** — evaluates the action against SidClaw policies (allow / deny / require approval)
2. **After tool execution** — records the outcome in SidClaw's hash-chain audit trail
## Implementation
- New module: `src/google/adk_community/governance/`
- Uses the `sidclaw` PyPI package (Apache 2.0, published)
- Async-only (matches ADK callback pattern)
- Configurable per-tool data classifications and approval behavior
- Fail-closed by default when SidClaw is unreachable
- Comprehensive unit tests (20 test cases)
## CLA
Already signed — see [google/adk-python#5081](https://github.com/google/adk-python/pull/5081).
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez dans src/google/adk_community/governance/ et examinez les points d’intégration before_tool_callback et after_tool_callback de l’ADK. Utilisez le package sidclaw pour couvrir les décisions de politique, les approbations et l’enregistrement des audits, puis vérifiez les classifications configurables, le comportement fail-closed et les 20 cas de tests unitaires indiqués.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- authorization, security
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 58/100