Skip to main content

AI governance toolkit for delegated AI pipelines centered on the Minimum Sufficient Oversight Principle.

Project description

minimal-oversight

PyPI Release CI Docs Python 3.10+ License: MIT

A governed-delegation analytics toolkit for delegated AI pipelines, centered on the Minimum Sufficient Oversight Principle (MSO).

Companion package to "Minimal Oversight: Uncertainty-Aware Governance for Delegated AI Systems" (Azevedo, 2026).

Documentation | Interactive widgets | Notebooks | Changelog

Current release tag: v0.1.3 / PyPI package: minimal-oversight==0.1.3

What it does

Delegated AI systems route uncertain work through pipelines: one model proposes, another reviews, a tool checks, and a gate decides what ships. The design problem is no longer just accuracy; it is trust calibration under uncertainty: how much autonomy to grant, where to place oversight, what quality ceiling the system can sustain, and when intervention becomes necessary.

This package turns those questions into computable quantities:

Question What you get
Can this pipeline meet my quality target? Feasibility check: $C_\text{op}$ vs $p_\text{min}$
Where should I place review effort? Water-filling allocation via the Minimum Sufficient Oversight Principle
Which nodes are most dangerous? Delegation centrality, masking index, SOTA score
How much autonomy can I safely grant? Effective autonomy buffer $B_\text{eff}$
When should humans intervene? Autonomy time $T^*_\text{auto}$ and intervention schedule
What should stop being delegated? Scope recommendations with coverage constraints

In practical terms, MSO treats oversight as a constrained allocation problem: meet a target quality level with the least sufficient review effort, then place that effort where the model and pipeline state make review most informative.

Interactive companion

A dependency-free, embeddable widget suite under web/ computes the paper's quantities live in the browser — the same equations as this package. Build or load a delegated workflow in the governance cockpit (connector library, editable graph, merge gates, review loops, didactic lessons) and read feasibility, masking, motifs, and risk off it; press Run to animate task tokens through the graph. Focused explainers cover the masking pathology (M*=1.83), water-filling allocation, the Return Operator run on time, a stochastic-Petri-net token simulation, and a water-filling-vs-baseline benchmark.

cd web && python -m http.server 8000   # then open http://localhost:8000

Grounding is mechanically enforced: web/mso-core.js is a faithful port of minimal_oversight._formulae pinned to the package to within 1e-6 (tests/test_parity.py), and the token simulator's empirical end-to-end success is asserted to match the analytic C_op (tests/test_sim_grounding.py). See the Interactive Companion guide.

Install

pip install minimal-oversight

For a reproducible install of the current release:

pip install minimal-oversight==0.1.3

With framework connectors and visualization:

pip install minimal-oversight[frameworks,viz]

Quick start

From scratch

from minimal_oversight import analyze_pipeline
from minimal_oversight.models import Node, PipelineGraph, AggregationType

gen = Node("generator", sigma_skill=0.55, catch_rate=0.65)
rev = Node("reviewer",  sigma_skill=0.60, catch_rate=0.70)
merge = Node("merge",   sigma_skill=0.55, aggregation=AggregationType.PRODUCT)

pipeline = PipelineGraph([gen, rev, merge])
pipeline.add_edge("generator", "reviewer")
pipeline.add_edge("reviewer", "merge")

report = analyze_pipeline(pipeline, p_min=0.80)
print(report)

From LangGraph

from langgraph.graph import StateGraph, END

graph = StateGraph(MyState)
graph.add_node("researcher", research_fn)
graph.add_node("writer", write_fn)
graph.add_edge("researcher", "writer")
graph.add_edge("writer", END)
graph.set_entry_point("researcher")

report = analyze_pipeline(graph.compile(), p_min=0.80)

From Google ADK

from google.adk import Agent

root = Agent(name="support", model="gemini-2.0-flash", sub_agents=[
    Agent(name="billing", model="gemini-2.0-flash"),
    Agent(name="tech",    model="gemini-2.0-flash"),
])

report = analyze_pipeline(root, p_min=0.80)

From production logs

from minimal_oversight.connectors.traces import from_generic_events, to_workflow_traces

events = [
    {"task_id": "t1", "node_id": "gen", "outcome": 1, "corrected": 1, "timestamp": 0},
    {"task_id": "t1", "node_id": "rev", "outcome": 0, "corrected": 1, "timestamp": 1},
]
traces = to_workflow_traces(from_generic_events(events, corrected_field="corrected"))
report = analyze_pipeline(pipeline, p_min=0.80, traces=traces)

Architecture

                     analyze_pipeline()              Practitioner interface
              ┌──────────────────────────────┐
              │  estimation  capacity        │
              │  topology    allocation      │       Decision modules
              │  intervention  viz           │
              ├──────────────────────────────┤
              │  _formulae.py                │       Paper equations (private)
              ├──────────────────────────────┤
              │  schema   connectors/        │
              │  langgraph  adk  traces      │       Framework integration
              └──────────────────────────────┘

Modules

Module Purpose
models Node, PipelineGraph, GovernancePolicy, WorkflowTrace
estimation Infer $\sigma_\text{raw}$, $\sigma_\text{corr}$, $M^*$, catch rate, drift from logs
capacity $C_\text{op}$, $B_\text{eff}$, feasibility checks, $H_\text{crit}$
topology Motif detection, delegation centrality, conditional fragility
allocation MSO solver, scope selection, governance recommendations
intervention $T^*_\text{auto}$, intervention schedule, alerts, failure diagnosis
viz Masking dashboard, autonomy buffer, risk ranking, scope frontier
connectors LangGraph, Google ADK, LangSmith, generic trace parsers

Notebooks

# Topic Shows
01 SDLC pipeline Fan-out/merge, SOTA placement, masking
02 Customer support Chain depth, drift, diagnostic differential
03 Topology stress test All 4 motifs compared
04 LangGraph import Real StateGraph + conditional edges
05 ADK import Real Agent objects + session logs
06 Paper validation All 8 experiments from Section 3

What it is not

  • Not an agent framework — it analyzes pipelines, not builds them
  • Not a workflow orchestrator — it sits above LangGraph / ADK / CrewAI
  • Not just the paper's reproduction code — that's one notebook

It is a governed-delegation analytics and decision-support library, backed by uncertainty-aware and information-theoretic foundations but presented through practitioner questions and one-call analysis.

Citation

@article{azevedo2026minimal,
  title={Minimal Oversight: Uncertainty-Aware Governance for Delegated AI Systems},
  author={Azevedo, Carlos R. B.},
  year={2026}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minimal_oversight-0.1.3.tar.gz (136.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

minimal_oversight-0.1.3-py3-none-any.whl (48.9 kB view details)

Uploaded Python 3

File details

Details for the file minimal_oversight-0.1.3.tar.gz.

File metadata

  • Download URL: minimal_oversight-0.1.3.tar.gz
  • Upload date:
  • Size: 136.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for minimal_oversight-0.1.3.tar.gz
Algorithm Hash digest
SHA256 83d77ada5a870147a1d7abb5e16b12cff621830da09d077198c766447332905b
MD5 ad371f7fa6294573649337d6543e54c9
BLAKE2b-256 5d65b0dba9b02f73de8ca77a4b349e381244599a7979bf4448cd6d65b33c8d2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for minimal_oversight-0.1.3.tar.gz:

Publisher: publish.yml on crbazevedo/delegation-lab

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file minimal_oversight-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for minimal_oversight-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5916a84147745c9cfa1d561126b1b1d92ba883a3b5533d5466c4709c9c480193
MD5 2e072af287919eb1f25530435b84e2b7
BLAKE2b-256 ef4f035c71cb3cf517759fa5d73d056b60ca52724cdd4c2f1824b0663ee52edf

See more details on using hashes here.

Provenance

The following attestation bundles were made for minimal_oversight-0.1.3-py3-none-any.whl:

Publisher: publish.yml on crbazevedo/delegation-lab

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page