DataGrout.ai Logo
Tool Suite ยท Batteries

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.

fsm25 predicates

General-purpose finite state machine โ€” reachability, shortest paths, cycle detection, structural analysis, and runtime status queries.

batteries.install("fsm", namespace)

Install via MCP

Any MCP client ยท Conduit SDK
client.perform("data-grout@1/batteries.install_many@1", {
  "ids": ["fsm"],
  "namespace": "my-namespace"
})
View fsm module on GitHub โ†’

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.

questsinventoryloot-tablesnpc-statecombat

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.

fsmtemporal

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.

lead-scoringapproval-chainspricing-rulesinvoice-rules

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.

taxonomy

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.

economyprob-economyworld

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.

temporalcompliance

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.

MCP / Conduit SDK
// 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

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.

We use cookies to improve your experience, analyze site traffic, and serve personalized content. You can accept all, decline non-essential cookies, or manage your preferences. See our Privacy Policy for details.

Ask the Advisor