Pre-Built Reasoning Modules
for Your Logic Cells
The npm of living software. Search the catalog, install with one call, and query ready-made reasoning predicates immediately alongside your own facts โ no rules to write, no schemas to define.
3 module categories
reasoning ยท probabilistic ยท games ยท business
30+ batteries
fsm ยท temporal ยท inventory ยท combat ยท lead-scoringโฆ
One-call install
predicates queryable immediately
Open source ยท Elastic License 2.0 ยท Free to use
30+ Batteries Across Four Categories
Each battery is a self-contained Prolog library. Install into your Logic namespace and its predicates reason over the facts you assert โ no separate data store, no integration code.
General-purpose finite state machine โ reachability, shortest paths, cycle detection, structural analysis, and runtime status queries.
Install via MCP
client.perform("data-grout@1/batteries.install_many@1", {
"ids": ["fsm"],
"namespace": "my-namespace"
})What Agents Build with Batteries
Compose multiple batteries in a single namespace. The rules share your facts through Prolog unification โ no wiring, no event bus, just predicates that reason together.
Full Game Rules Engine in One Namespace
Install quests + inventory + loot-tables + npc-state into a single namespace. Quest completion triggers dialogue unlocks, loot items land in inventory, NPC disposition gates quest availability โ all through Prolog unification over shared facts. No event bus. No integration code.
Related Solutions
Agent Plan Tracking with FSM
Model a multi-step agent plan as a finite state machine. Assert states and transitions once, then query fsm_complete to know when the plan is done, fsm_stuck to detect stalled agents, and fsm_shortest_path to find the optimal recovery route โ all at zero token cost.
Related Solutions
Deterministic Business Rules Without LLM Calls
Install lead-scoring + approval-chains + pricing-rules to give your agent structured, auditable business logic. Score a lead, determine approval requirements, and derive the correct price โ all via Prolog queries against your asserted facts, no AI inference needed.
Related Solutions
Hierarchical Classification & Inheritance
Install taxonomy to build knowledge hierarchies โ product categories, capability trees, monster types, RBAC trees. Assert is_a relations once; query transitive membership, inherited properties, and common ancestors across arbitrarily deep hierarchies in one predicate call.
Related Solutions
Probabilistic Market Simulation
Combine economy + prob-economy to give agents real price uncertainty modeling. Query 'what is the probable price range for iron ingots given an incoming storm?' in a single Prolog call โ returns base price, likely range, and expected buy price. Zero LLM calls per tick.
Related Solutions
Temporal Deadline Enforcement
Install temporal to track deadlines, event ordering, and sequence validity across any domain โ invoices, agent tasks, sessions, SLAs. Assert timestamps once; query deadline_passed, deadline_imminent, and events_in_order at millisecond speed with zero hallucination risk.
Related Solutions
Designed to Compose
Batteries extend the DataGrout tool suite at every level โ Logic facts, Flow pipelines, Prism analysis, and the open-source ecosystem.
Composes with Logic
All installed predicates participate in logic.constrain rules and logic.query goals. Batteries don't replace your data โ they reason over the same facts you've already asserted. Install once, use forever in the same namespace.
Composes with Flow
Chain battery queries into multi-step pipelines with Flow. Query an FSM state, pass the result into an inventory check, route based on outcome โ all as a governed, auditable Flow sequence.
Composes with Prism
Pipe battery query results directly into Prism for analysis or charting. Ask 'what's the expected drop rate distribution across my loot tables?' and Prism renders the answer โ driven entirely by your battery-computed facts.
Sandbox-Safe by Design
Every battery must pass a predicate whitelist enforced by CI. No process execution, no file I/O, no networking, no global mutable state. Safe to load in any DataGrout environment, managed or self-hosted.
Open Source & Composable
The full battery catalog lives in DataGrout/logic-batteries on GitHub (Elastic License 2.0). Browse source, contribute new batteries, or fork domain-specific modules into your own registry. The npm of living software โ in the open.
What It Looks Like in Practice
Search the catalog, install in one call, and query immediately via logic.query โ no setup, no schemas, no boilerplate.
// Find available batteries by keyword
client.perform("data-grout@1/batteries.search@1", {
"query": "inventory weight slots items"
})
// Install into a namespace
client.perform("data-grout@1/batteries.install_many@1", {
"ids": ["inventory", "loot-tables"],
"namespace": "my-game"
})Frequently Asked Questions
Batteries Extend the Whole Tool Suite
Logic
All installed predicates are queryable via logic.query and participate in logic.constrain rules.
View Logic โFlow
Chain battery queries into governed multi-step pipelines with full audit trail.
View Flow โPrism
Pipe battery results into Prism for analysis, transformation, or charting.
View Prism โInstall Reasoning. Ship Faster.
Stop writing Prolog from scratch. Search the catalog, install the batteries you need, and query production-ready reasoning predicates in your first session.
