govagent 0.2.1__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- govagent-0.2.2/PKG-INFO +184 -0
- govagent-0.2.2/README.md +162 -0
- {govagent-0.2.1 → govagent-0.2.2}/changelog.md +10 -0
- govagent-0.2.2/examples/langchain_integration.py +67 -0
- govagent-0.2.2/policies/langchain_integration_sample_policy.yaml +30 -0
- govagent-0.2.2/pyproject.toml +36 -0
- govagent-0.2.2/src/govagent/__init__.py +13 -0
- govagent-0.2.1/PKG-INFO +0 -105
- govagent-0.2.1/README.md +0 -87
- govagent-0.2.1/pyproject.toml +0 -26
- govagent-0.2.1/tests/__init__.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/.gitattributes +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/.github +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/.gitignore +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/LICENSE +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/docs/GovAgent_Enterprise_Governance_v1.pdf +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/examples/governed_researcher.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/examples/healthcare_app.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/policies/healthcare_ops_policy.yaml +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/policies/market_research_policy.yaml +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/src/govagent/agent.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/src/govagent/guards.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/src/govagent/hitl/__init__.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/src/govagent/hitl/adapters.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/src/govagent/hitl/manager.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/src/govagent/hitl/slack_adapter.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/src/govagent/hitl.py.old +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/src/govagent/policy.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/src/govagent/registry.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/src/govagent/telemetry.py +0 -0
- {govagent-0.2.1/src/govagent → govagent-0.2.2/tests}/__init__.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/tests/conftest.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/tests/test_flow.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/tests/test_gevernance.py +0 -0
- {govagent-0.2.1 → govagent-0.2.2}/tests/test_slack_hitl.py +0 -0
govagent-0.2.2/PKG-INFO
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: govagent
|
|
3
|
+
Version: 0.2.2
|
|
4
|
+
Summary: The Governance-First Framework for Agentic AI
|
|
5
|
+
Project-URL: Homepage, https://github.com/thekakodkar/govagent
|
|
6
|
+
Author: Niraj Kakodkar
|
|
7
|
+
Author-email: niraj.kakodkar@gmail.com
|
|
8
|
+
License: MIT
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Keywords: EU-AI-Act,agents,ai,enterprise,governance,roi
|
|
11
|
+
Requires-Python: >=3.10
|
|
12
|
+
Requires-Dist: httpx>=0.25.0
|
|
13
|
+
Requires-Dist: pydantic>=2.0.0
|
|
14
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
15
|
+
Requires-Dist: pyyaml>=6.0.0
|
|
16
|
+
Requires-Dist: slack-sdk>=3.0.0
|
|
17
|
+
Provides-Extra: langchain
|
|
18
|
+
Requires-Dist: langchain-core>=0.1.0; extra == 'langchain'
|
|
19
|
+
Requires-Dist: langchain-openai>=0.1.0; extra == 'langchain'
|
|
20
|
+
Requires-Dist: openai; extra == 'langchain'
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
|
|
23
|
+
## govAgent: Enterprise-Grade AI Governance Framework
|
|
24
|
+
|
|
25
|
+
**The Governance-First Framework for Production-Grade Autonomous Systems.**
|
|
26
|
+
|
|
27
|
+
GovAgent provides a high-abstraction **Control Plane** for agentic AI. With a clear chain of accountability, this lightweight framework helps move autonomous systems from experimental sandboxes into governed, production environments.
|
|
28
|
+
|
|
29
|
+
<img width="1097" height="479" alt="ImagegoV" src="https://github.com/user-attachments/assets/4e05d505-63d6-4f14-9475-cc00b4f20d73" />
|
|
30
|
+
|
|
31
|
+
The v0.2.2 Update introduces a standardized LangChain Integration Layer and hardened Slack Socket Mode connectivity, ensuring that high-risk AI actions are always subject to verified human oversight.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 🏗️ Core Pillars: The Chain of Accountability
|
|
36
|
+
GovAgent replaces "Black Box" reasoning with a transparent, governed loop:
|
|
37
|
+
|
|
38
|
+
1. **Policy (The Law):** Declarative boundaries and "Rules of Engagement" defined by stakeholders in `policy.yaml`.
|
|
39
|
+
2. **Guards (The Enforcement):** Real-time circuit breakers that intercept agent intent *before* API execution to prevent budget or security breaches.
|
|
40
|
+
3. **HITL (The Judiciary):** **Synchronous** Human-in-the-Loop escalation. High-risk actions are physically blocked until an explicit "Approve" or "Reject" signal is received via Slack or CLI.
|
|
41
|
+
4. **Telemetry (The Evidence):** Forensic-grade audit trails providing an immutable ledger of compliance and real-world ROI.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## ⚖️ Regulatory Compliance: EU AI Act (Regulation 2024/1689)
|
|
46
|
+
|
|
47
|
+
GovAgent is engineered to facilitate compliance for **High-Risk AI Systems** as defined under the EU AI Act. The framework provides the technical primitives required to satisfy key transparency and oversight mandates:
|
|
48
|
+
|
|
49
|
+
* **Article 14: Human Oversight**
|
|
50
|
+
Native **Synchronous HITL** (Human-in-the-Loop) adapters ensure that high-risk tool execution is physically gated by natural persons in real-time.
|
|
51
|
+
|
|
52
|
+
* **Article 9: Risk Management System**
|
|
53
|
+
Automated, policy-driven enforcement (via `policy.yaml`) identifies and mitigates operational and financial risks *prior* to tool deployment.
|
|
54
|
+
|
|
55
|
+
* **Article 12: Record-Keeping & Traceability**
|
|
56
|
+
Immutable **Forensic Telemetry** captures the full "Chain of Accountability," including agent reasoning, tool parameters, and the identity of the human overseer who authorized the action.
|
|
57
|
+
|
|
58
|
+
* **Article 13: Transparency & Provision of Information**
|
|
59
|
+
Automated generation of Execution Snapshots allows for the clear explanation of AI-driven outputs to end-users and regulators.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 🛠️ Key Capabilities (v0.2.2)
|
|
64
|
+
* **🔗 LangChain Bridge:** Standardized `@langchain_tool` wrappers for seamless interception of LangChain agent intents.
|
|
65
|
+
* **🔌 Socket Mode Judiciary:** Secure, persistent WebSocket connections for Slack oversight without exposing public endpoints (No Ngrok required).
|
|
66
|
+
* **📦 Pydantic Telemetry:** Hardened serialization of agent tasks to ensure audit logs meet strict enterprise data schemas.
|
|
67
|
+
* **⚠️ Constitutional Startup Check:** Refuses to boot if tool registry and policy permissions do not match, eliminating "Shadow AI."
|
|
68
|
+
* **🛡️ Zero-Trust Guardrails:** Hardened whitelisting for all agent actions and financial disbursements.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
## 🗺️ Strategic Roadmap
|
|
72
|
+
|
|
73
|
+
### ✅ v0.2.2: Operational Stability (Current)
|
|
74
|
+
* **LangChain Integration:** Standardized tool-guarding for LangChain ecosystems.
|
|
75
|
+
* **Synchronous HITL:** Stabilized Slack Socket Mode and CLI adapters for real-time intervention.
|
|
76
|
+
* **Intent Serialization:** Resolved telemetry validation errors via JSON-based intent snapshots.
|
|
77
|
+
|
|
78
|
+
### 🚀 v0.3.0: Enterprise Connectivity (Next)
|
|
79
|
+
* **Fiscal Ceilings:** Recursive approval for multi-agent sub-tasks and "Total Cost of Operation" (TCO) guardrails.
|
|
80
|
+
* **Cloud Exporters:** Native integrations for enterprise logging stacks (AWS CloudWatch / Azure Monitor).
|
|
81
|
+
* **Dynamic Budgeting:** Real-time API pricing integration for penny-accurate cost tracking.
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 📖 Usage Example: Governed LangChain Tool (Simplified API)
|
|
85
|
+
|
|
86
|
+
GovAgent v0.2.2 introduces a streamlined import structure and native support for LangChain tool interception. The following example demonstrates how to gate a high-risk financial transaction with a synchronous Slack Judiciary.
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
import os
|
|
90
|
+
import asyncio
|
|
91
|
+
from langchain_core.tools import tool as langchain_tool
|
|
92
|
+
from govagent import ExecutiveAgent, Policy, HITLManager, SlackJudiciaryAdapter
|
|
93
|
+
|
|
94
|
+
@langchain_tool
|
|
95
|
+
async def healthcare_payment_tool(amount: float) -> str:
|
|
96
|
+
"""Authorizes payments for healthcare claims. Input: amount."""
|
|
97
|
+
|
|
98
|
+
# 1. Initialize the Judiciary Adapter (Slack Socket Mode)
|
|
99
|
+
# This establishes a secure, persistent connection for real-time oversight.
|
|
100
|
+
adapter = SlackJudiciaryAdapter(
|
|
101
|
+
bot_token=os.getenv("SLACK_BOT_TOKEN"),
|
|
102
|
+
app_token=os.getenv("SLACK_APP_TOKEN"),
|
|
103
|
+
channel_id=os.getenv("SLACK_CHANNEL_ID")
|
|
104
|
+
)
|
|
105
|
+
adapter.start()
|
|
106
|
+
|
|
107
|
+
# 2. Initialize Governance Layer via Flat API
|
|
108
|
+
manager = HITLManager(adapter=adapter)
|
|
109
|
+
policy = Policy.from_yaml("policies/healthcare_policy.yaml")
|
|
110
|
+
|
|
111
|
+
# 3. ARTICLE 14: Synchronous Human Oversight
|
|
112
|
+
# Execution physically pauses here until a signal is received from Slack.
|
|
113
|
+
print(f"⚖️ [GovAgent] Intercepting request for ${amount}...")
|
|
114
|
+
|
|
115
|
+
approved = await manager.secure_approval(
|
|
116
|
+
agent_id="Healthcare-Director-v0.2.2",
|
|
117
|
+
reason=f"High-risk authorization required for GuardedPayment (${amount}).",
|
|
118
|
+
context={
|
|
119
|
+
"amount": f"${amount}",
|
|
120
|
+
"compliance_check": "EU-AI-ACT-HIGH-RISK"
|
|
121
|
+
}
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
if approved:
|
|
125
|
+
# Business logic proceeds only after explicit human authorization
|
|
126
|
+
return f"SUCCESS: Payment of ${amount} authorized via Slack."
|
|
127
|
+
|
|
128
|
+
return "REJECTED: Transaction denied by Human Judiciary."
|
|
129
|
+
|
|
130
|
+
# Example Invocation
|
|
131
|
+
async def main():
|
|
132
|
+
result = await healthcare_payment_tool.ainvoke({"amount": 1200.0})
|
|
133
|
+
print(result)
|
|
134
|
+
|
|
135
|
+
if __name__ == "__main__":
|
|
136
|
+
asyncio.run(main())
|
|
137
|
+
```
|
|
138
|
+
---
|
|
139
|
+
## ⚙️ Installation
|
|
140
|
+
|
|
141
|
+
GovAgent is designed to be lightweight and modular. You can install the core framework or include specific integrations as needed.
|
|
142
|
+
|
|
143
|
+
### 1. Core Installation (Lightweight)
|
|
144
|
+
Recommended for users building custom agents or those who only require the Judiciary and Policy layers.
|
|
145
|
+
```bash
|
|
146
|
+
pip install govagent
|
|
147
|
+
```
|
|
148
|
+
### 2. Full Integration (With LangChain)
|
|
149
|
+
Includes all dependencies required to run governed LangChain sessions, including the langchain_tool wrappers and OpenAI clients.
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
pip install "govagent[langchain]"
|
|
153
|
+
```
|
|
154
|
+
### 3. Development Installation
|
|
155
|
+
If you are contributing to the framework or running the examples in this repository, install in editable mode:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
git clone [https://github.com/thekakodkar/govagent.git](https://github.com/thekakodkar/govagent.git)
|
|
159
|
+
cd govagent
|
|
160
|
+
pip install -e ".[langchain]"
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
### 🚀 Quick Setup
|
|
164
|
+
Ensure your .env file is configured with the necessary tokens for the Judiciary Layer to function:
|
|
165
|
+
|
|
166
|
+
Code snippet
|
|
167
|
+
# Slack Credentials (Socket Mode)
|
|
168
|
+
SLACK_BOT_TOKEN=xoxb-your-token
|
|
169
|
+
SLACK_APP_TOKEN=xapp-your-token
|
|
170
|
+
SLACK_CHANNEL_ID=C12345678
|
|
171
|
+
|
|
172
|
+
# Model Provider
|
|
173
|
+
OPENAI_API_KEY=sk-your-key
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
**"Governance is not a constraint; it is the catalyst for enterprise AI adoption."**
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
### Author Stamp
|
|
182
|
+
* **Framework:** GovAgent v0.2.2 (Stable)
|
|
183
|
+
* **Status:** Active / Open-Source Standard
|
|
184
|
+
* **Compliance:** Designed for Enterprise-Grade Accountability
|
govagent-0.2.2/README.md
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
## govAgent: Enterprise-Grade AI Governance Framework
|
|
2
|
+
|
|
3
|
+
**The Governance-First Framework for Production-Grade Autonomous Systems.**
|
|
4
|
+
|
|
5
|
+
GovAgent provides a high-abstraction **Control Plane** for agentic AI. With a clear chain of accountability, this lightweight framework helps move autonomous systems from experimental sandboxes into governed, production environments.
|
|
6
|
+
|
|
7
|
+
<img width="1097" height="479" alt="ImagegoV" src="https://github.com/user-attachments/assets/4e05d505-63d6-4f14-9475-cc00b4f20d73" />
|
|
8
|
+
|
|
9
|
+
The v0.2.2 Update introduces a standardized LangChain Integration Layer and hardened Slack Socket Mode connectivity, ensuring that high-risk AI actions are always subject to verified human oversight.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 🏗️ Core Pillars: The Chain of Accountability
|
|
14
|
+
GovAgent replaces "Black Box" reasoning with a transparent, governed loop:
|
|
15
|
+
|
|
16
|
+
1. **Policy (The Law):** Declarative boundaries and "Rules of Engagement" defined by stakeholders in `policy.yaml`.
|
|
17
|
+
2. **Guards (The Enforcement):** Real-time circuit breakers that intercept agent intent *before* API execution to prevent budget or security breaches.
|
|
18
|
+
3. **HITL (The Judiciary):** **Synchronous** Human-in-the-Loop escalation. High-risk actions are physically blocked until an explicit "Approve" or "Reject" signal is received via Slack or CLI.
|
|
19
|
+
4. **Telemetry (The Evidence):** Forensic-grade audit trails providing an immutable ledger of compliance and real-world ROI.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## ⚖️ Regulatory Compliance: EU AI Act (Regulation 2024/1689)
|
|
24
|
+
|
|
25
|
+
GovAgent is engineered to facilitate compliance for **High-Risk AI Systems** as defined under the EU AI Act. The framework provides the technical primitives required to satisfy key transparency and oversight mandates:
|
|
26
|
+
|
|
27
|
+
* **Article 14: Human Oversight**
|
|
28
|
+
Native **Synchronous HITL** (Human-in-the-Loop) adapters ensure that high-risk tool execution is physically gated by natural persons in real-time.
|
|
29
|
+
|
|
30
|
+
* **Article 9: Risk Management System**
|
|
31
|
+
Automated, policy-driven enforcement (via `policy.yaml`) identifies and mitigates operational and financial risks *prior* to tool deployment.
|
|
32
|
+
|
|
33
|
+
* **Article 12: Record-Keeping & Traceability**
|
|
34
|
+
Immutable **Forensic Telemetry** captures the full "Chain of Accountability," including agent reasoning, tool parameters, and the identity of the human overseer who authorized the action.
|
|
35
|
+
|
|
36
|
+
* **Article 13: Transparency & Provision of Information**
|
|
37
|
+
Automated generation of Execution Snapshots allows for the clear explanation of AI-driven outputs to end-users and regulators.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 🛠️ Key Capabilities (v0.2.2)
|
|
42
|
+
* **🔗 LangChain Bridge:** Standardized `@langchain_tool` wrappers for seamless interception of LangChain agent intents.
|
|
43
|
+
* **🔌 Socket Mode Judiciary:** Secure, persistent WebSocket connections for Slack oversight without exposing public endpoints (No Ngrok required).
|
|
44
|
+
* **📦 Pydantic Telemetry:** Hardened serialization of agent tasks to ensure audit logs meet strict enterprise data schemas.
|
|
45
|
+
* **⚠️ Constitutional Startup Check:** Refuses to boot if tool registry and policy permissions do not match, eliminating "Shadow AI."
|
|
46
|
+
* **🛡️ Zero-Trust Guardrails:** Hardened whitelisting for all agent actions and financial disbursements.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
## 🗺️ Strategic Roadmap
|
|
50
|
+
|
|
51
|
+
### ✅ v0.2.2: Operational Stability (Current)
|
|
52
|
+
* **LangChain Integration:** Standardized tool-guarding for LangChain ecosystems.
|
|
53
|
+
* **Synchronous HITL:** Stabilized Slack Socket Mode and CLI adapters for real-time intervention.
|
|
54
|
+
* **Intent Serialization:** Resolved telemetry validation errors via JSON-based intent snapshots.
|
|
55
|
+
|
|
56
|
+
### 🚀 v0.3.0: Enterprise Connectivity (Next)
|
|
57
|
+
* **Fiscal Ceilings:** Recursive approval for multi-agent sub-tasks and "Total Cost of Operation" (TCO) guardrails.
|
|
58
|
+
* **Cloud Exporters:** Native integrations for enterprise logging stacks (AWS CloudWatch / Azure Monitor).
|
|
59
|
+
* **Dynamic Budgeting:** Real-time API pricing integration for penny-accurate cost tracking.
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 📖 Usage Example: Governed LangChain Tool (Simplified API)
|
|
63
|
+
|
|
64
|
+
GovAgent v0.2.2 introduces a streamlined import structure and native support for LangChain tool interception. The following example demonstrates how to gate a high-risk financial transaction with a synchronous Slack Judiciary.
|
|
65
|
+
|
|
66
|
+
```python
|
|
67
|
+
import os
|
|
68
|
+
import asyncio
|
|
69
|
+
from langchain_core.tools import tool as langchain_tool
|
|
70
|
+
from govagent import ExecutiveAgent, Policy, HITLManager, SlackJudiciaryAdapter
|
|
71
|
+
|
|
72
|
+
@langchain_tool
|
|
73
|
+
async def healthcare_payment_tool(amount: float) -> str:
|
|
74
|
+
"""Authorizes payments for healthcare claims. Input: amount."""
|
|
75
|
+
|
|
76
|
+
# 1. Initialize the Judiciary Adapter (Slack Socket Mode)
|
|
77
|
+
# This establishes a secure, persistent connection for real-time oversight.
|
|
78
|
+
adapter = SlackJudiciaryAdapter(
|
|
79
|
+
bot_token=os.getenv("SLACK_BOT_TOKEN"),
|
|
80
|
+
app_token=os.getenv("SLACK_APP_TOKEN"),
|
|
81
|
+
channel_id=os.getenv("SLACK_CHANNEL_ID")
|
|
82
|
+
)
|
|
83
|
+
adapter.start()
|
|
84
|
+
|
|
85
|
+
# 2. Initialize Governance Layer via Flat API
|
|
86
|
+
manager = HITLManager(adapter=adapter)
|
|
87
|
+
policy = Policy.from_yaml("policies/healthcare_policy.yaml")
|
|
88
|
+
|
|
89
|
+
# 3. ARTICLE 14: Synchronous Human Oversight
|
|
90
|
+
# Execution physically pauses here until a signal is received from Slack.
|
|
91
|
+
print(f"⚖️ [GovAgent] Intercepting request for ${amount}...")
|
|
92
|
+
|
|
93
|
+
approved = await manager.secure_approval(
|
|
94
|
+
agent_id="Healthcare-Director-v0.2.2",
|
|
95
|
+
reason=f"High-risk authorization required for GuardedPayment (${amount}).",
|
|
96
|
+
context={
|
|
97
|
+
"amount": f"${amount}",
|
|
98
|
+
"compliance_check": "EU-AI-ACT-HIGH-RISK"
|
|
99
|
+
}
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
if approved:
|
|
103
|
+
# Business logic proceeds only after explicit human authorization
|
|
104
|
+
return f"SUCCESS: Payment of ${amount} authorized via Slack."
|
|
105
|
+
|
|
106
|
+
return "REJECTED: Transaction denied by Human Judiciary."
|
|
107
|
+
|
|
108
|
+
# Example Invocation
|
|
109
|
+
async def main():
|
|
110
|
+
result = await healthcare_payment_tool.ainvoke({"amount": 1200.0})
|
|
111
|
+
print(result)
|
|
112
|
+
|
|
113
|
+
if __name__ == "__main__":
|
|
114
|
+
asyncio.run(main())
|
|
115
|
+
```
|
|
116
|
+
---
|
|
117
|
+
## ⚙️ Installation
|
|
118
|
+
|
|
119
|
+
GovAgent is designed to be lightweight and modular. You can install the core framework or include specific integrations as needed.
|
|
120
|
+
|
|
121
|
+
### 1. Core Installation (Lightweight)
|
|
122
|
+
Recommended for users building custom agents or those who only require the Judiciary and Policy layers.
|
|
123
|
+
```bash
|
|
124
|
+
pip install govagent
|
|
125
|
+
```
|
|
126
|
+
### 2. Full Integration (With LangChain)
|
|
127
|
+
Includes all dependencies required to run governed LangChain sessions, including the langchain_tool wrappers and OpenAI clients.
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
pip install "govagent[langchain]"
|
|
131
|
+
```
|
|
132
|
+
### 3. Development Installation
|
|
133
|
+
If you are contributing to the framework or running the examples in this repository, install in editable mode:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
git clone [https://github.com/thekakodkar/govagent.git](https://github.com/thekakodkar/govagent.git)
|
|
137
|
+
cd govagent
|
|
138
|
+
pip install -e ".[langchain]"
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
### 🚀 Quick Setup
|
|
142
|
+
Ensure your .env file is configured with the necessary tokens for the Judiciary Layer to function:
|
|
143
|
+
|
|
144
|
+
Code snippet
|
|
145
|
+
# Slack Credentials (Socket Mode)
|
|
146
|
+
SLACK_BOT_TOKEN=xoxb-your-token
|
|
147
|
+
SLACK_APP_TOKEN=xapp-your-token
|
|
148
|
+
SLACK_CHANNEL_ID=C12345678
|
|
149
|
+
|
|
150
|
+
# Model Provider
|
|
151
|
+
OPENAI_API_KEY=sk-your-key
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
**"Governance is not a constraint; it is the catalyst for enterprise AI adoption."**
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
### Author Stamp
|
|
160
|
+
* **Framework:** GovAgent v0.2.2 (Stable)
|
|
161
|
+
* **Status:** Active / Open-Source Standard
|
|
162
|
+
* **Compliance:** Designed for Enterprise-Grade Accountability
|
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the **GovAgent** framework are documented in this file. This project adheres to a "Governance-First" versioning strategy, prioritizing human oversight and fiscal accountability.
|
|
4
4
|
|
|
5
|
+
## [0.2.2] - 2026-05-05
|
|
6
|
+
### Added
|
|
7
|
+
- **LangChain Integration**: Standardized @langchain_tool bridging logic for GovAgent interception.
|
|
8
|
+
- **Socket Mode Support**: Transitioned Slack Judiciary to persistent Socket Mode for increased security.
|
|
9
|
+
- **Intent Serialization**: JSON-based serialization for tool inputs to ensure telemetry data integrity.
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- **Validation Schema**: Resolved Pydantic string-type constraints in ExecutionSnapshot.
|
|
13
|
+
- **Registry Mapping**: Fixed namespace mismatches between Python tool decorators and YAML policy names.
|
|
14
|
+
|
|
5
15
|
---
|
|
6
16
|
|
|
7
17
|
## [0.2.0] - 2026-05-04 (Stable)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
import json
|
|
3
|
+
import os
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
from dotenv import load_dotenv
|
|
6
|
+
|
|
7
|
+
# LangChain & GovAgent Imports
|
|
8
|
+
from langchain_core.tools import tool as langchain_tool
|
|
9
|
+
|
|
10
|
+
# GovAgent v0.2.2 Flat API
|
|
11
|
+
from govagent import ExecutiveAgent, Policy, HITLManager, SlackJudiciaryAdapter
|
|
12
|
+
|
|
13
|
+
load_dotenv()
|
|
14
|
+
BASE_DIR = Path(__file__).parent
|
|
15
|
+
|
|
16
|
+
@langchain_tool
|
|
17
|
+
async def healthcare_payment_tool(amount: float) -> str:
|
|
18
|
+
"""Authorizes payments for healthcare claims. Input: amount."""
|
|
19
|
+
|
|
20
|
+
# 1. Setup Slack Adapter (Mirroring your working test)
|
|
21
|
+
adapter = SlackJudiciaryAdapter(
|
|
22
|
+
bot_token=os.getenv("SLACK_BOT_TOKEN"),
|
|
23
|
+
app_token=os.getenv("SLACK_APP_TOKEN"),
|
|
24
|
+
channel_id=os.getenv("SLACK_CHANNEL_ID")
|
|
25
|
+
)
|
|
26
|
+
adapter.start() # Start Socket Mode listener
|
|
27
|
+
|
|
28
|
+
# 2. Setup Manager & Policy
|
|
29
|
+
manager = HITLManager(adapter=adapter)
|
|
30
|
+
policy = Policy.from_yaml(BASE_DIR / "../policies/langchain_integration_sample_policy.yaml")
|
|
31
|
+
|
|
32
|
+
# 3. Initialize Agent
|
|
33
|
+
agent = ExecutiveAgent(
|
|
34
|
+
persona="Healthcare Billing Director",
|
|
35
|
+
policy=policy,
|
|
36
|
+
model_client=None,
|
|
37
|
+
hitl_manager=manager
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
print(f"\n⚖️ [GovAgent] Intercepting request for ${amount}...")
|
|
41
|
+
|
|
42
|
+
# 4. ARTICLE 14: Use the 'secure_approval' method from your working test
|
|
43
|
+
# We call the manager directly to ensure the Slack handshake happens
|
|
44
|
+
approved = await manager.secure_approval(
|
|
45
|
+
agent_id="Healthcare-Director-v0.3.0",
|
|
46
|
+
reason=f"Authorization required for GuardedPayment (${amount}).",
|
|
47
|
+
context={
|
|
48
|
+
"amount": f"${amount}",
|
|
49
|
+
"tool": "GuardedPayment",
|
|
50
|
+
"compliance_check": "EU-AI-ACT-HIGH-RISK"
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
if approved:
|
|
55
|
+
# In a real app, this would call your business logic
|
|
56
|
+
return f"SUCCESS: Payment of ${amount} was approved via Slack."
|
|
57
|
+
else:
|
|
58
|
+
return "REJECTED: The transaction was denied by the Human Judiciary in Slack."
|
|
59
|
+
|
|
60
|
+
async def main():
|
|
61
|
+
print("🚀 Starting Governed LangChain Session (Slack Mode)...")
|
|
62
|
+
# Simulate a high-risk tool call
|
|
63
|
+
result = await healthcare_payment_tool.ainvoke({"amount": 1200.0})
|
|
64
|
+
print(f"\n🏁 Final System Output: {result}")
|
|
65
|
+
|
|
66
|
+
if __name__ == "__main__":
|
|
67
|
+
asyncio.run(main())
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# govAgent Policy Configuration v0.3.0
|
|
2
|
+
version: "0.3.0"
|
|
3
|
+
|
|
4
|
+
metadata:
|
|
5
|
+
org_name: "DecodeAIWithNiraj"
|
|
6
|
+
compliance_level: "EU-AI-ACT-HIGH-RISK"
|
|
7
|
+
|
|
8
|
+
# 1. DEFINE TOOLS & RISK LEVELS
|
|
9
|
+
tools:
|
|
10
|
+
- name: "GuardedPayment"
|
|
11
|
+
risk_level: "HIGH"
|
|
12
|
+
require_human_approval: true # This triggers the Slack Judiciary
|
|
13
|
+
description: "Financial transaction tool for procurement"
|
|
14
|
+
max_per_transaction: 2000.0
|
|
15
|
+
|
|
16
|
+
- name: "SearchTool"
|
|
17
|
+
risk_level: "LOW"
|
|
18
|
+
require_human_approval: false # This will execute automatically
|
|
19
|
+
description: "General web search for information gathering"
|
|
20
|
+
|
|
21
|
+
# 2. GLOBAL FISCAL GUARDRAILS (v0.3.0 Feature)
|
|
22
|
+
global_limits:
|
|
23
|
+
daily_budget_usd: 100.0
|
|
24
|
+
max_tokens_per_run: 4000
|
|
25
|
+
|
|
26
|
+
# 3. JUDICIARY SETTINGS
|
|
27
|
+
judiciary:
|
|
28
|
+
primary_channel: "slack"
|
|
29
|
+
fallback: "cli" # If Slack is down, ask in the terminal
|
|
30
|
+
timeout_seconds: 300 # Wait 5 mins for Director approval before auto-reject
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "govagent"
|
|
7
|
+
version = "0.2.2"
|
|
8
|
+
description = "The Governance-First Framework for Agentic AI"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
license = {text = "MIT"}
|
|
12
|
+
authors = [
|
|
13
|
+
{name = "Niraj Kakodkar"},
|
|
14
|
+
{email = "niraj.kakodkar@gmail.com"}
|
|
15
|
+
]
|
|
16
|
+
keywords = ["ai", "agents", "governance", "roi", "enterprise", "EU-AI-Act"]
|
|
17
|
+
|
|
18
|
+
# CORE DEPENDENCIES: Kept minimal to reduce the footprint
|
|
19
|
+
dependencies = [
|
|
20
|
+
"pydantic>=2.0.0",
|
|
21
|
+
"pyyaml>=6.0.0",
|
|
22
|
+
"httpx>=0.25.0",
|
|
23
|
+
"slack-sdk>=3.0.0",
|
|
24
|
+
"python-dotenv>=1.0.0",
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
# OPTIONAL DEPENDENCIES: Users install via pip install "govagent[langchain]"
|
|
28
|
+
[project.optional-dependencies]
|
|
29
|
+
langchain = [
|
|
30
|
+
"langchain-core>=0.1.0",
|
|
31
|
+
"langchain-openai>=0.1.0",
|
|
32
|
+
"openai"
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
[project.urls]
|
|
36
|
+
"Homepage" = "https://github.com/thekakodkar/govagent"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# src/govagent/__init__.py
|
|
2
|
+
|
|
3
|
+
from .agent import ExecutiveAgent
|
|
4
|
+
from .policy import Policy
|
|
5
|
+
from .hitl.manager import HITLManager
|
|
6
|
+
from .hitl.slack_adapter import SlackJudiciaryAdapter
|
|
7
|
+
|
|
8
|
+
__all__ = [
|
|
9
|
+
"ExecutiveAgent",
|
|
10
|
+
"Policy",
|
|
11
|
+
"HITLManager",
|
|
12
|
+
"SlackJudiciaryAdapter"
|
|
13
|
+
]
|
govagent-0.2.1/PKG-INFO
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: govagent
|
|
3
|
-
Version: 0.2.1
|
|
4
|
-
Summary: The Governance-First Framework for Agentic AI
|
|
5
|
-
Project-URL: Homepage, https://github.com/thekakodkar/govagent
|
|
6
|
-
Author: Niraj Kakodkar
|
|
7
|
-
Author-email: niraj.kakodkar@gmail.com
|
|
8
|
-
License: MIT
|
|
9
|
-
License-File: LICENSE
|
|
10
|
-
Keywords: agents,ai,enterprise,governance,roi
|
|
11
|
-
Requires-Python: >=3.10
|
|
12
|
-
Requires-Dist: httpx>=0.25.0
|
|
13
|
-
Requires-Dist: openai
|
|
14
|
-
Requires-Dist: pydantic>=2.0.0
|
|
15
|
-
Requires-Dist: pyyaml>=6.0.0
|
|
16
|
-
Requires-Dist: slack-sdk
|
|
17
|
-
Description-Content-Type: text/markdown
|
|
18
|
-
|
|
19
|
-
## govAgent: Enterprise-Grade AI Governance Framework
|
|
20
|
-
|
|
21
|
-
**The Governance-First Framework for Production-Grade Autonomous Systems.**
|
|
22
|
-
|
|
23
|
-
GovAgent provides a high-abstraction **Control Plane** for agentic AI. With a clear chain of accountability, this lightweight framework helps move autonomous systems from experimental sandboxes into governed, production environments.
|
|
24
|
-
|
|
25
|
-
<img width="1097" height="479" alt="ImagegoV" src="https://github.com/user-attachments/assets/4e05d505-63d6-4f14-9475-cc00b4f20d73" />
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
The **v0.2.0 Stable Release** introduces a persistent, bi-directional Judiciary layer, ensuring that high-risk AI actions are always subject to human verification before execution.
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## 🏗️ Core Pillars: The Chain of Accountability
|
|
33
|
-
GovAgent replaces "Black Box" reasoning with a transparent, governed loop:
|
|
34
|
-
|
|
35
|
-
1. **Policy (The Law):** Declarative boundaries and "Rules of Engagement" defined by stakeholders in `policy.yaml`.
|
|
36
|
-
2. **Guards (The Enforcement):** Real-time circuit breakers that intercept agent intent *before* API execution to prevent budget or security breaches.
|
|
37
|
-
3. **HITL (The Judiciary):** **Synchronous** Human-in-the-Loop escalation. High-risk actions are physically blocked until an explicit "Approve" or "Reject" signal is received via Slack or CLI.
|
|
38
|
-
4. **Telemetry (The Evidence):** Forensic-grade audit trails providing an immutable ledger of compliance and real-world ROI.
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## 🇪🇺 EU AI Act Alignment
|
|
43
|
-
GovAgent is architected to meet the rigorous transparency and oversight standards for **High-Risk AI Systems**:
|
|
44
|
-
|
|
45
|
-
* **Human Oversight (Article 14):** Native HITL adapters ensure high-risk systems are overseen by natural persons in real-time.
|
|
46
|
-
* **Risk Management (Article 9):** Automated policy enforcement identifies and mitigates operational risks before they manifest.
|
|
47
|
-
* **Traceability (Article 12):** Forensic telemetry captures who approved an action and when, satisfying the "Chain of Accountability" required for regulatory audits.
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## 🛠️ Key Capabilities (v0.2.0 Stable)
|
|
52
|
-
* **@tool Registry:** A type-safe decorator that auto-maps Python functions to policy permissions (risk level, category, signature).
|
|
53
|
-
* **Socket Mode Handshake:** Secure, persistent WebSocket connections for judiciary oversight without exposing public endpoints.
|
|
54
|
-
* **Financial Circuit Breakers:** Real-time monitoring of session spend with automated halting when budget caps are reached.
|
|
55
|
-
* **Constitutional Startup Check:** Refuses to boot if tool code and policy permissions do not match, eliminating "Shadow AI".
|
|
56
|
-
* **Zero-Trust Guardrails:** Hardened whitelisting for all agent actions and web domain access.
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## 🗺️ Strategic Roadmap
|
|
61
|
-
|
|
62
|
-
### ✅ v0.2.0: Operational Safety (Current Stable)
|
|
63
|
-
* **Synchronous HITL:** Full implementation of Slack and CLI adapters for real-time intervention.
|
|
64
|
-
* **Legislative Registry:** Stabilized @tool decorator for type-safe permission mapping.
|
|
65
|
-
* **Forensic Telemetry:** Real-time ROI and audit trail generation.
|
|
66
|
-
|
|
67
|
-
### 🚀 v0.3.0: Enterprise Connectivity (Next)
|
|
68
|
-
* **Fiscal Ceilings:** Recursive approval for multi-agent sub-tasks and "Total Cost of Operation" (TCO) guardrails.
|
|
69
|
-
* **Cloud Exporters:** Native integrations for enterprise logging stacks like AWS CloudWatch and Azure Monitor.
|
|
70
|
-
* **Dynamic Budgeting:** Real-time API pricing integration for penny-accurate cost tracking.
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## 📖 Usage Example: Controlled Execution
|
|
75
|
-
|
|
76
|
-
```python
|
|
77
|
-
from govagent.agent import ExecutiveAgent
|
|
78
|
-
from govagent.policy import Policy
|
|
79
|
-
|
|
80
|
-
# Load Hardened Policy (The Law)
|
|
81
|
-
policy = Policy.from_yaml("policies/enterprise_audit_policy.yaml")
|
|
82
|
-
|
|
83
|
-
# Initialize Executive Agent
|
|
84
|
-
agent = ExecutiveAgent(
|
|
85
|
-
persona="Technology Director",
|
|
86
|
-
policy=policy,
|
|
87
|
-
model_client=YourModelClient()
|
|
88
|
-
)
|
|
89
|
-
|
|
90
|
-
# Execute Governed Task
|
|
91
|
-
# High-risk tools (e.g., payments) will pause and alert Slack.
|
|
92
|
-
report = await agent.execute("Analyze Q4 market shifts and authorize $5k payment.")
|
|
93
|
-
print(f"Status: {report.status} | ROI: ${report.estimated_cost_usd}")
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
**"Governance is not a constraint; it is the catalyst for enterprise AI adoption."**
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
### Author Stamp
|
|
103
|
-
* **Framework:** GovAgent v0.2.0 (Stable)
|
|
104
|
-
* **Status:** Active / Open-Source Standard
|
|
105
|
-
* **Compliance:** Designed for Enterprise-Grade Accountability
|
govagent-0.2.1/README.md
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
## govAgent: Enterprise-Grade AI Governance Framework
|
|
2
|
-
|
|
3
|
-
**The Governance-First Framework for Production-Grade Autonomous Systems.**
|
|
4
|
-
|
|
5
|
-
GovAgent provides a high-abstraction **Control Plane** for agentic AI. With a clear chain of accountability, this lightweight framework helps move autonomous systems from experimental sandboxes into governed, production environments.
|
|
6
|
-
|
|
7
|
-
<img width="1097" height="479" alt="ImagegoV" src="https://github.com/user-attachments/assets/4e05d505-63d6-4f14-9475-cc00b4f20d73" />
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
The **v0.2.0 Stable Release** introduces a persistent, bi-directional Judiciary layer, ensuring that high-risk AI actions are always subject to human verification before execution.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## 🏗️ Core Pillars: The Chain of Accountability
|
|
15
|
-
GovAgent replaces "Black Box" reasoning with a transparent, governed loop:
|
|
16
|
-
|
|
17
|
-
1. **Policy (The Law):** Declarative boundaries and "Rules of Engagement" defined by stakeholders in `policy.yaml`.
|
|
18
|
-
2. **Guards (The Enforcement):** Real-time circuit breakers that intercept agent intent *before* API execution to prevent budget or security breaches.
|
|
19
|
-
3. **HITL (The Judiciary):** **Synchronous** Human-in-the-Loop escalation. High-risk actions are physically blocked until an explicit "Approve" or "Reject" signal is received via Slack or CLI.
|
|
20
|
-
4. **Telemetry (The Evidence):** Forensic-grade audit trails providing an immutable ledger of compliance and real-world ROI.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## 🇪🇺 EU AI Act Alignment
|
|
25
|
-
GovAgent is architected to meet the rigorous transparency and oversight standards for **High-Risk AI Systems**:
|
|
26
|
-
|
|
27
|
-
* **Human Oversight (Article 14):** Native HITL adapters ensure high-risk systems are overseen by natural persons in real-time.
|
|
28
|
-
* **Risk Management (Article 9):** Automated policy enforcement identifies and mitigates operational risks before they manifest.
|
|
29
|
-
* **Traceability (Article 12):** Forensic telemetry captures who approved an action and when, satisfying the "Chain of Accountability" required for regulatory audits.
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## 🛠️ Key Capabilities (v0.2.0 Stable)
|
|
34
|
-
* **@tool Registry:** A type-safe decorator that auto-maps Python functions to policy permissions (risk level, category, signature).
|
|
35
|
-
* **Socket Mode Handshake:** Secure, persistent WebSocket connections for judiciary oversight without exposing public endpoints.
|
|
36
|
-
* **Financial Circuit Breakers:** Real-time monitoring of session spend with automated halting when budget caps are reached.
|
|
37
|
-
* **Constitutional Startup Check:** Refuses to boot if tool code and policy permissions do not match, eliminating "Shadow AI".
|
|
38
|
-
* **Zero-Trust Guardrails:** Hardened whitelisting for all agent actions and web domain access.
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## 🗺️ Strategic Roadmap
|
|
43
|
-
|
|
44
|
-
### ✅ v0.2.0: Operational Safety (Current Stable)
|
|
45
|
-
* **Synchronous HITL:** Full implementation of Slack and CLI adapters for real-time intervention.
|
|
46
|
-
* **Legislative Registry:** Stabilized @tool decorator for type-safe permission mapping.
|
|
47
|
-
* **Forensic Telemetry:** Real-time ROI and audit trail generation.
|
|
48
|
-
|
|
49
|
-
### 🚀 v0.3.0: Enterprise Connectivity (Next)
|
|
50
|
-
* **Fiscal Ceilings:** Recursive approval for multi-agent sub-tasks and "Total Cost of Operation" (TCO) guardrails.
|
|
51
|
-
* **Cloud Exporters:** Native integrations for enterprise logging stacks like AWS CloudWatch and Azure Monitor.
|
|
52
|
-
* **Dynamic Budgeting:** Real-time API pricing integration for penny-accurate cost tracking.
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## 📖 Usage Example: Controlled Execution
|
|
57
|
-
|
|
58
|
-
```python
|
|
59
|
-
from govagent.agent import ExecutiveAgent
|
|
60
|
-
from govagent.policy import Policy
|
|
61
|
-
|
|
62
|
-
# Load Hardened Policy (The Law)
|
|
63
|
-
policy = Policy.from_yaml("policies/enterprise_audit_policy.yaml")
|
|
64
|
-
|
|
65
|
-
# Initialize Executive Agent
|
|
66
|
-
agent = ExecutiveAgent(
|
|
67
|
-
persona="Technology Director",
|
|
68
|
-
policy=policy,
|
|
69
|
-
model_client=YourModelClient()
|
|
70
|
-
)
|
|
71
|
-
|
|
72
|
-
# Execute Governed Task
|
|
73
|
-
# High-risk tools (e.g., payments) will pause and alert Slack.
|
|
74
|
-
report = await agent.execute("Analyze Q4 market shifts and authorize $5k payment.")
|
|
75
|
-
print(f"Status: {report.status} | ROI: ${report.estimated_cost_usd}")
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
**"Governance is not a constraint; it is the catalyst for enterprise AI adoption."**
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
### Author Stamp
|
|
85
|
-
* **Framework:** GovAgent v0.2.0 (Stable)
|
|
86
|
-
* **Status:** Active / Open-Source Standard
|
|
87
|
-
* **Compliance:** Designed for Enterprise-Grade Accountability
|
govagent-0.2.1/pyproject.toml
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
[build-system]
|
|
2
|
-
requires = ["hatchling"]
|
|
3
|
-
build-backend = "hatchling.build"
|
|
4
|
-
|
|
5
|
-
[project]
|
|
6
|
-
name = "govagent"
|
|
7
|
-
version = "0.2.1"
|
|
8
|
-
description = "The Governance-First Framework for Agentic AI"
|
|
9
|
-
readme = "README.md"
|
|
10
|
-
requires-python = ">=3.10"
|
|
11
|
-
license = {text = "MIT"}
|
|
12
|
-
authors = [
|
|
13
|
-
{name = "Niraj Kakodkar"},
|
|
14
|
-
{email = "niraj.kakodkar@gmail.com"}
|
|
15
|
-
]
|
|
16
|
-
keywords = ["ai", "agents", "governance", "roi", "enterprise"]
|
|
17
|
-
dependencies = [
|
|
18
|
-
"pydantic>=2.0.0",
|
|
19
|
-
"pyyaml>=6.0.0",
|
|
20
|
-
"httpx>=0.25.0", # Async-ready for modern LLM APIs
|
|
21
|
-
"slack-sdk",
|
|
22
|
-
"openai" # or your specific model client
|
|
23
|
-
]
|
|
24
|
-
|
|
25
|
-
[project.urls]
|
|
26
|
-
"Homepage" = "https://github.com/thekakodkar/govagent"
|
govagent-0.2.1/tests/__init__.py
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|