Skip to content

Releases: Archerkattri/CERT-FLOW

v1.1.0 — the 2026 opt-in layer: multi-agent certificate, tighter shift models, observable coverage

Choose a tag to compare

@Archerkattri Archerkattri released this 02 Jul 01:54

A multi-agent certificate plus a 2026 conformal upgrade layer. All new behavior is opt-in behind config flags / new classes; the default single-agent certificate and its guarantees are unchanged.

Added

  • Additive multi-agent certificate (certflow.team): additive_certificate + TeamCertificate (sum LB <= sum OPT <= sum UB, union-bound confidence) — the one TEAM-CERT survivor, ported over a shared conformal store.
  • LP-shift staleness (ConformalScorer(shift_model="lp", eps_lp, rho_lp), arXiv 2502.14105): worst-case quantile Quant(1-alpha+rho)+eps. TV stays the default.
  • CIA path-sum calibration (CIACalibrator, CertPlanner.cia_path_certificate, arXiv 2408.10939): group-sum path calibration with symmetric-calibration overlap handling and an age-weighted drift retrofit. Bonferroni stays the default.
  • SF-OGD ACI (ACITracker(mode="sf-ogd"), arXiv 2302.07869): scale-free, anytime step size. Fixed-gamma stays the default.
  • PASC joint per-edge calibration (PASCCalibrator, arXiv 2605.18812): one max-score quantile prices all edges jointly at >= 1-alpha, replacing the alpha/L per-edge Bonferroni correction.
  • Testability layer — making the pinned-at-1.0 coverage observable: conformal_p_value (WATCH Eq. 9), ConformalTestMartingale (WATCH, arXiv 2505.04608; Ville alarm + tightness stress test), and conformal_e_value / score_ratio_e_value / merge_e_values (arXiv 2503.13050).
  • Drift diagnostics (from DASC, arXiv 2606.15953, as observables only — DASC's coverage bound is not distribution-free): residual_drift_score (1-D Wasserstein D_t) and effective_sample_size (Kish n_eff).
  • Live round-2 wiring — the round-2 calibrators, previously standalone, are now wired into the live round() loop behind PlannerConfig flags. All default OFF; on/off produce a byte-identical (lb, ub, confidence) stream. watch_monitor=True (+ sr_threshold) feeds every new weighted conformal p-value to planner.watch and planner.sr, exposed purely as observables via planner.diagnostics() (no certificate, no pricing change). path_calibration="pasc" prices edges with the PASC joint radius live, falling back to Bonferroni during warm-up / while alpha-annealing pins the level at 1.

Real METR-LA verdict

  • Real METR-LA benchmark of the wiring (20 seeds x 288 rounds = one replay day each; oracle = exact Dijkstra on the recording): 0.0000 coverage violations in every mode; watch_monitor quiet 20/20 on both detectors — the pinned-at-1.0 coverage is now a live, alarming quantity at zero cost (WATCH HOLDS on real data).
  • PASC is an honest negative: +25.1% wider median width than Bonferroni on real traffic (8797 -> 11007 s), the opposite of its 4.5% synthetic-grid win — long optimistic paths (L ~ 14-18) starve the length-L block quantile, while Bonferroni's full-pooled per-edge quantile stays better-resolved. Bonferroni stays default; PASC keeps its experimental flag.
  • Full suite 250 passed.

Docs

  • docs/results/live-wiring-2026.md, docs/results/multiagent.md, and docs/related-work-2026.md (positioning vs arXiv 2601.03629 + the adopted machinery).

v1.0.2 - packaging + serialization fixes

Choose a tag to compare

@Archerkattri Archerkattri released this 10 Jun 20:13

Packaging and serialization fixes for the freshly published library.

Fixed

  • pytest now discovers the src/-layout package on a fresh checkout. The pytest pythonpath was ["."] (repo root, no package there), so python -m pytest failed with ModuleNotFoundError: certflow unless PYTHONPATH=src was set or the package was installed. Now set to ["src"].
  • EpisodeResult.oracle_cost is now serialized by save_results and restored by load_results. It was dropped on save, so reloaded Tier-2 results came back with oracle_cost = nan and any regret analysis silently reported NaN. Legacy result files without the field still load.

Added

  • realworld optional extra (pip install 'certflow[realworld]') declaring the pandas and tables dependencies the METR-LA / PEMS-BAY traffic adapter needs. The core install stays numpy/scipy only; _load_traffic now raises a clear ImportError pointing at the extra when pandas is absent.

PyPI: https://pypi.org/project/certflow/1.0.2/

CERT-FLOW v1.0.1

Choose a tag to compare

@Archerkattri Archerkattri released this 10 Jun 18:22

CERT-FLOW is now on PyPI: pip install certflow (add [fast] for the numba kernels behind the speed numbers).

Changed since v1.0.0

  • Top-level package API: from certflow import CertPlanner, PlannerConfig, Certificate, ConformalScorer, ACITracker, EdgeBelief, World, plus certflow.__version__. The old submodule imports keep working.
  • PyPI packaging: full metadata (readme, keywords, classifiers, project URLs), lean sdist (src + tests + docs of record), version aligned with the release tag.
  • CITATION.cff (validated; concept DOI 10.5281/zenodo.20631475) and a CHANGELOG.
  • README: 30-second pip quickstart (verified end to end), static DOI badge, link to the limitations ledger, Python badge corrected to 3.10+.
  • Lint sweep over src/: unused imports and dead local assignments removed. No behavior change.

Verification

  • Full test gate: 223 passed before and after the sweep.
  • Quickstart certificate on the README's 6x6 drifting grid after 150 rounds: [1.62, 15.80] @ confidence 0.80 (LB <= OPT <= UB held, as in every condition ever run; see docs/results/ for the 16 reproduction pipelines).

Wheel and sdist are attached; both pass twine check.

Zenodo archive of this release: 10.5281/zenodo.20631947 (concept DOI for all versions: 10.5281/zenodo.20631475).

CERT-FLOW v1.0.0

Choose a tag to compare

@Archerkattri Archerkattri released this 10 Jun 17:36

First public release, accompanying the preprint CERT: Certified Route Planning under Drifting Costs (Extended Version).

  • Conformal route certificates (LB <= OPT <= UB) under drifting edge costs: age-weighted non-exchangeable quantiles, staleness correction, honest annealing
  • Certificate-directed sensing (route-critical, churn-aware), dual incremental search on a flat-array engine (numba kernels)
  • Certificate-gated preprocessing: all-pairs snapshot oracle and certified Contraction Hierarchies (ns-to-microsecond queries that expire under drift)
  • 223 tests; 16 reproduction pipelines covering 17 synthetic regimes, METR-LA / PEMS-BAY traffic replay, MovingAI maps, DIMACS road networks
  • Theory T1-T7 documented in docs/ (coverage, certifiability threshold, sum-aware certificate, impossibility of a tighter lower bound, decision-uniform validity, churn floor)