Docs / Integrations / LangGraph
Gate LangGraph side-effect nodes through Gvner.
Keep graph design unchanged. Add intent checks at side-effect nodes (DB write, external API calls, file writes).
Where to hook intent checks
Insert the check in node handlers that perform writes or external calls.
Always call before side effects, not after.
Pass correlation IDs for traceability.
Payload mapping to /adapters/http/intent
{
"tenant_id": "acme",
"runtime_id": "langgraph-01",
"agent_id": "agent-01",
"intent": "update_customer",
"requested_scopes": ["update_customers"],
"tool": "crm",
"context": {"source": "langgraph", "workflow": "demo"},
"requested_budget": 1.0,
"work_type": "execution",
"correlation_id": "req-123"
}
Fail-closed behavior
Required: if Gvner is unreachable, returns DENIED, or response is invalid, do not execute. Treat as blocked and log audit context.
Sample wrapper pattern
# in side-effect node
decision = guvna_evaluate(intent)
if decision["decision"] != "ALLOWED":
return {"status": "blocked", "reason": decision["reason"]}
# proceed with write/API call
Relevant console pages
Evidence and exports
Export evidence packets from Exports.
Use Receipts for integrity checks.
Use Regulator Packets for external review.