Skip to content

Fiscal Mechanics

Module: hours_eoh/core/fiscal.py

Levies, allocations, sufficiency guarantee, trust management, and the care stipend. All fiscal flows are circulatory — they redirect TEH but do not create or destroy it (except D2, D3, D6 destruction mechanisms).


Levy Collection

levy_collection(labor_income, levy_rates) → dict

Collects levies from labour income, each rate a fraction of gross. Circulatory: worker_net + total_levied == labor_income. Returns the total rate, total levied, worker net and the per-levy breakdown.


Trust Allocations

Ecological and stewardship requirements are co-equal — neither is residual. Since 2026-09-15 (minted TEH is the wage) both are paid at the mint, not by the Trust; the Trust owes only the guarantee.

stewardship_allocation(capital_stock_teh, capital_age_ratio, epsilon, available_teh, …) → dict

The TEH the infrastructure obligation of the capital stock calls for. It grows with the capital stock; since 2026-09-15 it is paid at the mint (as registered stewardship labour), so trust_management reports it as paid_by_mint and it is not a Trust expenditure.

ecological_allocation(ecosystem_health, epsilon, available_teh, …) → dict

TEH directed toward ecological EOH fulfillment and natural system stewardship.

effective_personal_eoh(epsilon, personal_eoh_base, automation_response) → float

Personal obligation hours per person that still need human labour at ε: the age-weighted obligation × its human-carried share. The obligation itself does not fall with automation; this does. Labour embodied in machine-delivered goods mints in infrastructure and is not in this share.

sufficiency_guarantee(population, epsilon, …) → dict

The floor — minimum TEH guaranteed to every collective member. The EOH reimbursement pays effective_personal_eoh(ε) at M_FLOOR, 1 TEH per human obligation hour, so it buys the same human-carried obligation at every ε; any rise in purchasing power comes from the meaningful-activity term. See Design Principle 5.


Trust Management

trust_management(trust_balance, levy_revenue, stewardship_cost, guarantee_cost, …) → dict

Full Trust solvency calculation — revenues in, the guarantee out, surplus/deficit. stewardship_cost is returned as paid_by_mint and is not expenditure. Balance: trust_end = start − guarantee + levy + GUF; only what the Trust owes leaves it, and unspent dividend is retained (2026-09-15), so ann_depreciation, dividend and renewal are reporting only. What the balance and this period's inflows could not cover is guarantee_unfunded.

fiscal_snapshot(epsilon, …) → dict

Comprehensive fiscal state at ε — all revenue streams, all allocations, solvency status.

from hours_eoh.core.fiscal import fiscal_snapshot

from hours_eoh.core.simulation import make_economy_state

snap = fiscal_snapshot(state=make_economy_state(epsilon=0.40))
print(snap["solvent"], snap["trust"]["surplus_deficit"])

trust_solvency_trajectory(initial_trust_balance, …) → dict

Simulates the Trust balance across n_periods at one ε and assesses long-run solvency.

min_levy_for_solvency(trust_balance, epsilon, …) → dict

Minimum levy revenue that keeps the Trust solvent and stable at ε.


Care Stipend

care_stipend(dependents, epsilon, …) → dict

TEH disbursed to recognized care providers. Follows a diminishing-returns structure (fewer TEH per additional dependent). Backed by verified personal EOH of the dependents.

aggregate_care_stipend_from_demographics(population, epsilon, …) → float

Total care stipend obligation from population demographics.


Additional Functions

Function Description
steward_eoh_obligation(structure_value_teh, land_area_units, epsilon, …) Private EOH a land steward bears for the structures they use
collective_land_registration(epsilon, …) Fraction of housing/land EOH registered to the collective ledger
accumulation_ceiling_commitment(teh_in_circulation, population, …) D6 — TEH above the accumulation ceiling, routed into capital formation

Key Design Invariant

The fiscal system must remain solvent across the whole arc, including both ends: at ε = 0, where almost none of the obligation is registered and creation is at its lowest, and at ε = 0.99, where human labour is a small share of the obligation and creation has fallen back from its late-arc peak while staying far above its ε = 0 level.

Under the wage doctrine (2026-09-15) the Trust owes one thing, the sufficiency guarantee. Registered labour — stewardship, ecological and care work included — is paid when it mints, not by the Trust. What flows in is the levy (a share of the mint) and the Ground Use Fee; what a collective brought with it is its opening balance. Solvency is therefore levy + GUF against the guarantee, with the balance as the buffer.

Where that holds is computed, not asserted. scenarios.stationarity.stationary_bands() reports the range of ε over which a collective founded with no prior work stands still in TEH; it covers nearly the whole arc and stops short of the top, where the mint falls and the guarantee does not. With the default prior work the balance carries that last stretch. Call the function for the edge rather than quoting it — it moves with the levy rate and the guarantee design.