Our mission is to help people and organizations make claims, evidence and corrections inspectable, so decisions can be revisited when new facts emerge.

Comuvia helps developers preserve **what was said, which evidence supported it, and how a later evaluation was calculated**. Use the offline `comuvia` library to build portable records. Add `foreglass` when you want to read supported public ForeGlass artifacts.

**Start with the purpose:** [How evidence, dependencies and data quality work](/sdk/docs/data-quality) uses an article and a statistical table to explain the value for readers, media and organizations.

<div class="card-grid">
<a class="card" href="/sdk/docs/quickstart"><span class="badge">START HERE</span><h2>Run an offline example</h2><p>Save a synthetic forecast, score its outcome and reproduce the result. Requires <code>pip install comuvia</code>; no API key and no network access for the offline example.</p></a>
<a class="card" href="/sdk/docs/evidence"><span class="badge">SOURCE EVIDENCE</span><h2>Preserve a claim</h2><p>Separate a source statement from your interpretation and keep corrections visible.</p></a>
<a class="card" href="https://foreglass.ai/developers/reader/"><span class="badge">PROVIDER DATA</span><h2>Read ForeGlass</h2><p>Retain exact source bytes, inspect available lanes and identify what cannot be evaluated.</p></a>
</div>

## What you can build

| Your workflow | How the SDK helps | What you still provide |
|---|---|---|
| Research or media evidence trail | Link statements to retained source material; append interpretations and corrections | Source rights, extraction, editorial judgment |
| Forecast evaluation | Pin questions, declared probabilities, outcomes and a reproducible binary scoring rule | Properly defined questions, information cutoffs and outcome evidence |
| Agent or investment research integration | Read supported ForeGlass data, retain caveats and report missing metadata | Your application, decision policy and independent validation |
| Simulation publication | Record model artifacts and conditional estimates without passing them off as observed facts | Model, data provenance and assumptions you are permitted to disclose |

For a reader, this means a clearer route from a number to its evidence. For an organization, it makes handoffs and corrections easier to audit. The SDK provides a common record layer; the value depends on the quality of the evidence and the workflow using it.

## Two packages, one record layer

<div class="diagram" role="img" aria-label="Your application uses comuvia for offline records. The optional foreglass reader fetches explicitly requested public artifacts and normalizes them into comuvia records.">
<div class="flow-node"><strong>Your application</strong><span>Research · media · agents · simulation</span></div>
<div class="flow-arrow">↓ record / inspect / evaluate</div>
<div class="card-grid"><div class="flow-node"><strong>comuvia</strong><span>Validate → identify → store → evaluate → reproduce</span><small>Offline core · zero runtime dependencies</small></div><div class="flow-node"><strong>foreglass</strong><span>Explicit public read → retained snapshot → catalog → normalization</span><small>Optional adapter · depends on comuvia</small></div></div>
<div class="flow-arrow">↓ portable records and named exclusions</div><div class="flow-node"><strong>Your retained evidence</strong><span>Source bytes · exact revisions · questions · outcomes · evaluations</span></div></div>

## Available in 0.1.0

Both packages are published on PyPI as version 0.1.0 (released 2026-10-01). The implemented core includes nine record types, strict JSON validation, canonical content identity, a single-writer append-only store, the `binary-brier-v1` rule and evaluation reproduction. The optional client reads an allowlisted set of public artifacts.

**Published 2026-10-01.** `comuvia` 0.1.0 and `foreglass` 0.1.0 are on PyPI, built and uploaded by the public repository's release workflow with published attestations. These guides describe that release. 0.1.x is an alpha, so pin the version. [See release status, verification and installation](/sdk/docs/project).

## Boundaries that matter

- A matching digest establishes content identity against an expected digest. It does not establish truth, authorship or independent publication time.
- Extraction confidence and event probability are different fields. An LLM's confidence in reading an article is never substituted for a forecast probability.
- A conditional simulation is an experiment under assumptions. It is not automatically an eligible forecast.
- Named exclusions are useful results: they tell you which metadata or evidence is missing.
- The libraries do not host a registry, produce economic forecasts, run an MCP server or provide a universal credibility score.

Continue with the [quickstart](/sdk/docs/quickstart) or compare [record concepts](/sdk/docs/concepts).

