Jochanni Labs · Decision Governance
Two illustrative payment scenarios. One enforcement pattern: no DAL-X authority, no execution.
About These Examples
These are illustrative scenarios, not customer deployments. The people and companies in the conversations are hypothetical. The code shows where the DAL-X gate call is placed and how verification reaches the final execution system. Today DAL-X binds payment actions: action, target, amount, currency, recipient, recipient account reference, and payment type. A reviewer authorizes those values, the gate refuses a request that declares different ones, and receipt verification compares them again at the downstream boundary. Both scenarios on this page are payment actions. DAL-X does not bind other kinds of action today.
A production integration maps these calls to the actual data model, key scoping, execution infrastructure, and retry mechanisms of the target system. These scenarios exist so you can evaluate whether the enforcement pattern fits your architecture before any integration work begins. DAL-X is not a drop-in library. It is an authority layer that must be wired to the specific execution boundary you are protecting.
Before You Write Code
Set these up in the DAL-X web application first. Three are required. The fourth is optional.
Required to submitRegister the agent. DAL-X accepts runtime output only from an agent it knows by its agent key.
RequiredCreate three keys. A submit key for the agent, an enforcement key for the gate service, and a separate enforcement key for the downstream system. No key holds both scopes.
Required for the gateRegister and activate the enforcement contract. One contract per execution target. The gate rejects every attempt against a target with no active contract. Activation is a separate step, taken by a second administrator where the workspace has one.
OptionalRegister a webhook destination. A webhook delivers a notice that a decision was made. It establishes no execution authority and the gate does not depend on it. Without one, a scheduled check resumes the saved work.
Illustrative Conversation
Integration Code
// app/api/payments/wire/initiate/route.tsexport async function POST(req: Request) {const wire = await req.json()// No authority check - agent output goes directly to executionconst result = await paymentsClient.initiateWire(wire)return Response.json(result)}
Execution Authority Chain
Agent Output
ingest-agent-output
Execution Blocked
default state
Review Queue
human reviewer
Authority Granted
decision record
Gate Cleared
authorization consumed
Receipt Verified
downstream boundary
Executed
outcome confirmed
Illustrative Conversation
Integration Code
// claims/adjudicate.tsasync function adjudicateClaim(claim: Claim): Promise<void> {const decision = await claimsAI.evaluate(claim)if (decision.approved) {// AI approval goes directly to payout processor// No authority record. Compliance gap.await payoutProcessor.initiate({claimId: claim.id,amount: decision.approvedAmount,currency: 'USD',payee: claim.claimant,})}}
Execution Authority Chain
Agent Output
ingest-agent-output
Execution Blocked
default state
Review Queue
human reviewer
Authority Granted
decision record
Gate Cleared
authorization consumed
Receipt Verified
downstream boundary
Executed
outcome confirmed
One Enforcement Pattern
Submit to DAL-X. Execution is blocked. A reviewer grants authority. The downstream system presents the authorization at the gate. The receipt is verified. Execution happens and is confirmed. The timeline proves the chain.