Sweep thousands of leases for compliance using Amazon Quick and the Adjudicated Query pattern

AWS has published a design pattern called Adjudicated Query for checking large lease portfolios against changing state landlord-tenant laws, described in a post on the AWS Machine Learning Blog. The pattern places a bounded conversational layer over a deterministic, non-AI rules engine. According to the post, the model performs only two tasks: translating a natural-language question into a call on a fixed set of typed operations, and narrating the result returned. It does not write queries, fix the population, or make determinations.
The described scenario involves a portfolio operator holding 50,000 leases across multiple states, where statutes such as late-fee caps, notice periods, and security-deposit limits change on the legislature's schedule. The post states that two properties matter at that scale: provable completeness, where a record never assessed must be reported as unevaluated rather than silently omitted, and defensibility, where a finding can be traced to the rule version, clause text, method, date, and actor. It argues RAG cannot satisfy either property and that text-to-SQL carries a risk of a hallucinated predicate silently narrowing the population.
In the pattern, rules are versioned data rather than code, and the engine contains no jurisdiction-specific branch. Every sweep produces a completeness receipt asserting that compliant, in-breach, ambiguous, and unreadable counts equal the scanned population, computed before anything persists. Amazon Aurora Serverless v2 (Postgres with pgvector) stores the rulebook, lease records, extraction status, determinations, and runs in one relational store; the post says this makes the receipt a SQL count.
The reference architecture has a compliance officer using two Amazon Quick surfaces: a chat agent and an Amazon Quick Sight dashboard. The chat agent fetches an OAuth token from Amazon Cognito, sends Model Context Protocol requests over an Amazon API Gateway HTTP API with a JWT authorizer, and forwards to AWS Lambda hosting the MCP server and rules engine. The dashboard reads the same Aurora store through a VPC connection. Bedrock is called from Lambda only for the exploratory clause-search path, using Amazon Titan Text Embeddings V2 and Anthropic Claude Sonnet 5 via a cross-region inference profile; the post notes model availability varies by Region.
The MCP server exposes six tools: sweep_compliance, simulate_rule_change, explore_clauses, get_finding, list_rules, and check_connection. The post also describes treating the summarizing model as an untrusted renderer, citing observed cases where a caveat prefix was stripped, an ILLUSTRATIVE citation tag was removed and an invented citation presented as statute, and a model extrapolated a population-wide range from 20 preview rows. Mitigations include bracketed caveat suffixes, real aggregates over every record, and repeated mode labels.
The post states that a complete reference implementation is available on GitHub with synthetic data, deterministic corpus generation, and acceptance tests. It lists prerequisites including Python 3.12 and Node.js 24, and notes Aurora provisioning typically takes around 11 minutes, though timing varies by account and Region.
Based on reporting from the original publisher. Visit the source for full context and later updates.
Publisher excerpt
The Adjudicated Query pattern pairs the Amazon Quick chat agent with a bounded MCP server over a deterministic rules engine to deliver provably complete, defensible compliance answers. This post walks through the reference architecture and a deployable AWS CDK sample, using lease compliance as the running example.