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.