With LangGraph, the Playbook Is the Product, Not the Model
A LangGraph playbook is the graph itself: typed state, deterministic nodes, conditional edges, and the routing between them. The model proposes inside that structure; the structure decides. The policy lives in the graph, not in the model, so a model swap changes one node's inputs and outputs, not the rules.
LangGraph in operations, a 10-part series. ← Part 7 · Part 9 →
The Most Valuable Artifact Executes Nothing
In shadow, the enforcement ladder records: this account would have crossed a tier, that one would have raised a critical flag, a third would have been held for approval. A policy can be judged before it happens to anyone.
Liu et al. (2025) built Graphectory to encode temporal and semantic relations inside agent runs; applied to 4,000 trajectories from SWE-agent and OpenHands produced by four backbone LLMs on SWE-bench Verified, the analysis completed in under four minutes Liu et al. (2025). Agents using richer prompts or stronger LLMs produced more complex trajectories. The inference is ours, not the paper's: when behaviour changes with the model, the written policy is what stays comparable.
A Rule You Cannot Re-Derive Is Not a Rule
The tier rule is one anyone can re-derive from two inputs, and the rebuilt service applies exactly the same rule as the one it replaces.
ReliabilityBench ran 1,280 episodes across four domains; semantically equivalent task perturbations alone dropped success from 96.9% at ε=0 to 88.1% at ε=0.2, an 8.8-point slide with no code change Gupta (2026). Rate limiting was the most damaging injected fault; ReAct proved more robust than Reflexion under combined stress. Agent behaviour moves under rewording alone, which is why the rule that decides has to be code you can hold fixed.
LangGraph: Models Propose, Code Decides
Hand-coded deterministic logic and LLM-driven decision-making live in the same graph, and the framework does not abstract your prompts or architecture LangGraph overview.
Nodes take state, do work, and return updates specifying both the change and the next destination, which is why you can tell from the current node what the agent will do next LangChain, thinking in LangGraph. Letting the model choose the route has a failure mode no prompt fixes: a route chosen by a model is a route you cannot diff. Rexera's account describes a tree with cycles and branching that directs a rush order down its own branch, a custom-designed decision path LangChain, Rexera case study.
A Tier Label Is a Cache Key, Not a Decision
The tiers become events: every change the policy cares about is emitted as a named event. If the model recomputes the tier at read time, two runs over the same account can disagree: you have a sampling process, not a policy.
The Portability Proof Is a Hash, Not a Promise
The split comes from a fixed, unsalted hash. Fixed means the same input lands in the same branch across builds; unsalted means the assignment does not change when the deployment does—the right trade for a population split you intend to compare.
LangGraph's low-level posture is deliberately descriptive, with no hidden prompts or obfuscated cognitive architecture, and the team's account of production deployments is that the ones that work are vertical, narrowly scoped and highly controllable LangChain, production LangGraph agents. The same account concedes a steeper learning curve, arguing users do not scale off it because lower-level flexibility handles varied production queries LangChain, is LangGraph used in production.
A single-call task does not need a graph. Model-agnostic is not model-independent: swap in a model with different output conventions and the parsing and prompt coupling inside your nodes will need work.
Shadow Mode Is a Deployment Target, Not a Test Phase
The enforcement policy was written as a complete specification, branch by branch, and recorded rather than executed while the graph ran in shadow.
Tradestack shipped an MVP in six weeks, and giving internal stakeholders access to LangGraph Studio saved two weeks of internal testing LangChain, Tradestack case study. AppFolio's text-to-data functionality climbed from roughly 40% to roughly 80% through dynamic few-shot prompting, and the team iterated on prompts and models in a playground without modifying the underlying code LangChain, AppFolio case study. New Computer reports 50% higher recall and 40% higher precision than a previous baseline of dynamic memory retrieval, from experiments on its retrieval methods LangChain, New Computer case study.
Five Questions That Decide Whether You're Buying a Playbook or a Model
Can the policy be written down, naming every branch and who approves it? If any branch is only "the model handles it," you are buying a model.
Do the thresholds survive the rebuild unchanged? If they move, you are restarting, not comparing. Is every state transition an emitted, named event? If a tier is recomputed at read time, it is a guess that happens to agree with yesterday. Does the split come from a computation or a list? A list needs an owner; a fixed unsalted hash needs a test. Can it run in shadow before it runs in anger? If not, you do not have a rollout plan. You have a launch.
The Rebuild Question Is Answered by a Document Review
The rebuild meeting ends with someone asking to see the policy, and the answer being a document a reviewer can read—plus a shadow log showing what it would have done, to whom, under which rule.
The model will change before the rebuild ships. The ladder is the part that does not have to.
