Metadata-Version: 2.5
Name: elbi-agent
Version: 0.1.0
Summary: The verifying analysis runtime for elbi: an LLM loop that cannot report an effect it has not verified.
Project-URL: Homepage, https://github.com/Intelligible/elbi
Project-URL: Documentation, https://intelligible.github.io/elbi/
Project-URL: Source, https://github.com/Intelligible/elbi
Project-URL: Issues, https://github.com/Intelligible/elbi/issues
Project-URL: Changelog, https://github.com/Intelligible/elbi/blob/main/CHANGELOG.md
Author-email: "Intelligible, Inc." <open-source@intelligible.ai>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: agents,data-science,elbi,llm,verification
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: elbi-core>=0.1.0
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.121.0; extra == 'anthropic'
Provides-Extra: litellm
Requires-Dist: litellm!=1.98.0,>=1.75; extra == 'litellm'
Description-Content-Type: text/markdown

# elbi-agent

The verifying analysis runtime for [elbi](https://github.com/Intelligible/elbi).

An LLM drives a tool loop over a dataset (describe it, map its structure, run
code, and report an effect), but the only way to *report a directional effect is
through a verification gate*. An effect that does not survive the soundness
checks (confounding, collider control, fragility, outliers, latent confounding)
is never returned as the answer; the model is handed the pivotal issue and keeps
working until the effect verifies sound or it concludes the data cannot support
one.

This is the enforced counterpart to the advisory MCP server: where a connected
agent *may* call `verify_analysis`, this runtime *cannot* answer with an
unverified effect, because verification is the answer channel itself. The same
runtime backs an interactive chat surface and unattended, scheduled runs.

The LLM is injected (`LLMClient`), so the loop runs against any provider; an
Anthropic client ships under the `anthropic` extra.
