Skip to content

capacity

Operational feasibility and autonomy-limit tools. Answers: "Can this pipeline hit the quality target at all?"

Paper reference: Section 1 (Delegation capacity, Theorem 1); Experiment 6

check_feasibility

minimal_oversight.capacity.check_feasibility(pipeline, p_min=0.8, governance_gap=0.02, process_entropy=0.0, eta=10.0, delta=2.0, sigma_0=0.0)

Full feasibility check with human-readable explanation.

This is the core decision function: "Can this pipeline work?"

The core decision function. Returns a FeasibilityReport with a human-readable verdict.

from minimal_oversight.capacity import check_feasibility

report = check_feasibility(pipeline, p_min=0.80)
print(report.explanation)
# INFEASIBLE: Quality target p_min=0.800 exceeds pipeline
# capacity C_op=0.725. Within the fixed model, topology, and
# budget, no local governance policy can rescue this design.

FeasibilityReport

Field Type Description
feasible bool \(p_\text{min} \leq C_\text{op}\)
c_op float Pipeline quality ceiling
p_min float Quality target
b_eff float \| None Effective autonomy buffer (Eq. 16)
h_crit float \| None Critical process entropy
bottleneck_node str \| None The node limiting capacity
explanation str Human-readable verdict

Other functions

Function Returns Description Paper ref
compute_node_capacity(node, η, δ, σ₀) float Single-node \(C_\text{op}\) at fixed point Eq. 10
compute_pipeline_capacity(pipeline, η, δ, σ₀) dict[str, float] Per-node capacity in topological order Eq. 11
compute_c_op(pipeline) float Pipeline ceiling (min over sinks) Eq. 10
compute_buffer(c_op, p_min, λ, H) float \(B_\text{eff} = C_\text{op} - p_\text{min} - \lambda H(W)\) Eq. 16

compute_pipeline_capacity

Each node's effective skill depends on its parents' corrected quality (Eq. 7). The function walks the DAG in topological order, applying the prior-aware recursive formula (Eq. 11) at each node. The default sigma_0=0.0 preserves the conservative examples from the paper.

from minimal_oversight.capacity import compute_pipeline_capacity, compute_c_op

caps = compute_pipeline_capacity(pipeline)
for name, c_op in caps.items():
    print(f"{name}: C_op = {c_op:.3f}")

print(f"Pipeline ceiling: {compute_c_op(pipeline):.3f}")