Framework Overview

Core Question

updatesupport is downstream of estimation. A causal estimator, survey estimator, model, or business metric supplies retained fine-cell target values; the framework audits the public representation used to report that target.

For the full interpretation of “hidden”, retained refinements, and conditional ambiguity bounds, see Representation Adequacy Guide and Mathematical and Statistical Soundness.

Finite Problem

A compiled audit has:

D

finite retained fine cells.

pi: D -> O

the public projection from retained cells to public report buckets.

h(d)

supplied retained-cell target values.

Q

an admissible class of retained-cell distributions or composition shifts.

For a linear target, the interval solves:

\[\inf/\sup \sum_{d \in D} h(d) q(d)\]

subject to the selected admissible constraints and the fixed observed public law. The interval width is the transport ambiguity.

Target Contracts

The default tabular target is linear: sum_d h(d) q(d). Core also includes target contracts for supported ratio targets, moment-transform targets, and procedure-aware workflows. Unsupported nonlinear targets should be reformulated explicitly before solving.

Transport Presets

The package includes several admissible hidden-shift presets:

  • saturated public fibers,

  • bounded per-cell shifts,

  • total-variation budgets,

  • chi-square and KL budgets,

  • L2 and Mahalanobis budgets,

  • Wasserstein budgets,

  • covariate-balance constraints,

  • support-floor and mixed-integer design helpers.

Convex presets use CVXPY when the cvxpy extra is installed. Simple finite linear presets can run without CVXPY.

Reports

The primary user-facing artifact is updatesupport.ClaimAudit, produced by declaring a updatesupport.ClaimSpec with updatesupport.claim() and calling claim.audit(rows_or_frame). It wraps interval evidence, counterexample witnesses, repairs or certificates, refinement recommendations, and limitations into one verdict.

updatesupport.ClaimTreeAudit is the corresponding nested artifact for hierarchical reviews. It audits each node with the same single-claim machinery and then summarizes root status, child status counts, highest-risk branches, and flat node/edge export tables.

updatesupport.PublicDescentReport remains the lower-level evidence object for the primary partial-ID interval. Use it directly when you do not want a pass/fail/inconclusive claim verdict.

Estimator Handoffs

Adapter helpers connect estimator outputs to support audits:

  • updatesupport.adapt_econml_effects()

  • updatesupport.adapt_dowhy_effects()

  • updatesupport.adapt_doubleml_effects()

  • updatesupport.adapt_dataframe_effects()

These helpers do not estimate causal effects themselves. They attach supplied effect values, such as tau_hat = estimator.effect(X), to rows and then run the representation-stability audit.