Novolis.Economy.Core 2026.1.0.57

dotnet add package Novolis.Economy.Core --version 2026.1.0.57
                    
NuGet\Install-Package Novolis.Economy.Core -Version 2026.1.0.57
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Novolis.Economy.Core" Version="2026.1.0.57" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Novolis.Economy.Core" Version="2026.1.0.57" />
                    
Directory.Packages.props
<PackageReference Include="Novolis.Economy.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Novolis.Economy.Core --version 2026.1.0.57
                    
#r "nuget: Novolis.Economy.Core, 2026.1.0.57"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Novolis.Economy.Core@2026.1.0.57
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Novolis.Economy.Core&version=2026.1.0.57
                    
Install as a Cake Addin
#tool nuget:?package=Novolis.Economy.Core&version=2026.1.0.57
                    
Install as a Cake Tool

Novolis

Novolis · Docs · Source

Novolis.Economy.Core

Bounded-minimum (BM) economic authority: immutable EconomyState, positions, claims, transactions, ledgers, and invariant-preserving atomic transitions. PackageId: Novolis.Economy.Core (2026.1.* on GitHub Packages). Normative types and rules: SPEC.md.

This package is the economic authority. Domain packages and Simulation depend on it. Simulation owns clocks, phases, model composition, and period sequencing; Core applies authoritative position, monetary, claim, and transaction transitions. Core contains no scheduler or model-specific phase ordering.

The authority graph is intentionally narrow:

Primitives → Core positions / claims / transactions
                    ↑
       Production · Markets · Finance · Simulation

EconomyState.PositionState and EconomyState.ClaimState are the stocks of record. Holdings and Loans remain named compatibility projections while older algorithms migrate; they must reconcile to those Core books. Deposits are intentionally still a separately named Core liability book in this release, not an operational package cash mirror.


1. Economic boundary

Core models who owns what, where, and who owes whom, plus period flows that update those stocks.

In boundary Out of boundary (see § Non-goals)
Legal entities (Household, Firm, Lender, Bank, Insurer, State) Order books, continuous double auctions
Regions with living / production / logistics capacity Individual workers, vehicles, pathfinding
Household cohorts + labor capacity Participation-rate microfoundations
Activities (recipes, installed capacity) R&D / tech trees
Resource holdings & transfers Visual/map presentation
Shares, loans, credit facilities, deposits, insurance Full Basel-style bank regulation
Payment obligations & settlement priority Arrow–Debreu complete markets
State policy (tax / transfer) Diplomacy, combat

Relationships (grammar):

HouseholdCohort ──lives in──► Region
Firm ──operates──► Activity ──in──► Region
Activity ──consumes/produces──► ResourceHolding (Owner × Region × Resource)
LegalEntity ──owes──► PaymentObligation ──to──► LegalEntity
Bank ──liability──► Deposit ──asset of──► Depositor
Loan ──asset of Lender / liability of Borrower──► (claim symmetry)
ShareHolding ──units of──► ShareClass(Issuer)
ResourceTransfer ──carriage──► (ownership preserved unless a sale)

Ops weave: Core RegionId ≈ hub / GeographicAreaId; deliveries apply Core position transactions via the Simulation composition layer. PackageId Novolis.Economy is retired; shared vocabulary lives in Novolis.Economy.Primitives.


Kind Ownable Issues shares Notes
Household No No Unownable beneficiary; labor & consumption
Firm Yes Yes Operates activities
Lender Yes Yes Lends owned/borrowed funds (cash transfer)
Bank Yes Yes Accepts deposits; loan creates deposit
Insurer Yes Yes Premiums / claims
State No* No Fiscal & policy authority

*State is not a share issuer in BM. Validation: EntityRules.


3. Regions

Three capacities (SPEC §3):

  • Living — household count ceiling (RegionCapacity.OccupiedLiving / RemainingLiving)
  • Production — space for installed activity runs (InstalledProductionSpace)
  • Logistics — quantity that may leave via transfers this period

Enforced in install/migrate/transfer paths and InvariantChecker.


4. Household cohorts

Cohorts are aggregates. CashPerHousehold is retained as a compatibility spending constraint for unlinked cohorts; authoritative monetary wealth lives in linked household economic positions.

Profiles: consumption weight, savings preference, labor quality, migration preference.

Core extension: optional HouseholdEntityId links the cohort to a Household legal entity so wages, dividends, and trades have a cash account. Documented as extension (SPEC cohort record has no entity id).


5. Labor capacity

Effective labor-hours (region) =

[ \sum_c \mathrm{HouseholdCount}_c \times \mathrm{Hours}(\mathrm{LaborKind}_c) \times \mathrm{LaborQuality}_c ]

Hours bands: Common 12 / Mean 18 / Extreme 24 per household-day.

Capacity ≠ productivity. Quality scales available hours; recipe labor hours encode technology intensity. Participation rate is omitted (SPEC allows). See LaborSupply.


6. Activities

ProductionCalculator.ActualRuns = floor of min(installed, space, labor, inputs).
ApplyRuns debits inputs and credits outputs on the operator’s holdings in the activity region.


7–8. Resources & positions

Catalog: EconomyState.Resources (Core extension for named kinds).
Authoritative positions are keyed Owner×Region×EconomicAsset via PositionLedger. HoldingLedger and EconomyState.Holdings provide the resource-shaped compatibility view used by older production algorithms; their aggregate must equal the Core position.


9. Transport

Carriage moves location; trade changes owner (and usually pays). A transfer preserves Owner unless a sale step reassigns it.

TransferEngine.StartTransfer debits origin (logistics + lane capacity).
TickAndComplete decrements RemainingPeriods and credits destination.


10. Shares

ShareClass + ShareHolding(Units). Consistency: Σ held units + treasury = issued (ShareMath.IsConsistent). Households cannot be issuers.


11–13. Loans, credit, obligations

  • Claims: ClaimLedger owns outstanding principal and claim status. Finance retains loan terms, accrual, repayment policy, and credit decisions; its Loan object is a behavior adapter whose balance is hydrated from Core.
  • Credit facilities: Available = Limit − Drawn; only committed undrawn counts in liquidity; draw creates/augments a loan.
  • Obligations: kinds + statuses; settle Wage → Tax → Interest → Principal → … (ObligationEngine).

14. Liquidity vs solvency (Minsky)

LiquidityPosition: cash + accessible deposits + undrawn committed credit − due-now obligations.
Liquidity.SimpleSolvency: stock claim on net worth (cash + deposits + undrawn − loans). Illiquid ≠ insolvent; insolvent ≠ immediately illiquid — BM tracks both simply.


15. Banks & endogenous money

Non-bank lend: cash transfer (portfolio shift).
Bank lend: +loan asset +deposit liability (post-Keynesian / endogenous money). Settlement from deposits can reassign deposit claims without vault cash (DepositLedger.TryPayFromDeposits).


16–17. Insurance & state policy

Premiums → obligations; pending LossEvents → claim obligations.
StatePolicy tax/transfer flows are money-conserving (State cash ↔ household/firm).


18. Stocks vs flows (Godley & Lavoie)

Stocks live on EconomyState. Flows accumulate on PeriodFlowLedger during the period (money created, cash moved, taxes, wages, production counters). Reconcile step asserts ownership/finance invariants — SFC spirit: every flow has counterparties; period opens/closes consistently.

Contrast: Arrow–Debreu GE clears all markets simultaneously; BM is a sequential period machine with rationing.


19. Invariants

InvariantChecker.Check / AssertAll: cash/holdings non-negative, share unit consistency, facility draw ≤ limit, living/production capacity, deposit banks are banks, household unownable as share issuer.


20. Period pipeline

The bounded period pipeline is owned by Novolis.Economy.Simulation.Bounded. It applies sixteen mechanisms in SPEC order through BoundedPeriodEngine; each mechanism calls Core's atomic transitions. Demand uses posted unit prices + quantity rationing (no order book). Other Simulation models may select a different composition without changing Core.


21. Aggregate state

EconomyState matches SPEC §21 fields, plus Core extensions: Resources, Lanes, PostedPrices, PendingLosses, Flows, and dictionary-keyed holdings/share classes for O(1) upsert. Period scratch and model specifications are Simulation-owned.


Non-goals (SPEC §22)

Excluded Why
Order books Matching is posted-price rationing
Individual workers / vehicles Aggregation is the BM point
Complete markets / GE clearing Sequential stock–flow, not AD
NearSol / Logistics weave Separate pass

Economic grammar (summary)

Ownership, location, and claims are stocks. Production, trade, carriage, lending, tax, and settlement are flows. Core ShareHolding is the ownership stock; Accounting ownership DTOs are input/report adapters. Banks create deposits when they lend; lenders reshuffle cash. Liquidity is due-now coverage; solvency is net claims. Capacity binds living, production space, and logistics. Households are unownable; firms issue unit shares.

Citations

  • Godley, W. & Lavoie, M. — Monetary Economics (stock–flow consistent accounting).
  • Minsky, H. — financial instability; liquidity vs solvency.
  • Tobin, J. — portfolio balance; financial claims as assets.
  • Post-Keynesian / endogenous money literature — bank loan creates deposit.
  • Arrow–Debreu — contrast only; BM is not GE clearing of everything.

Usage

using Novolis.Economy.Core.Extensions;
using Novolis.Economy.Simulation;
using Novolis.Economy.Simulation.Models;

var simulation = EconomySimulation.FromModel(
    seed: 42,
    new DeterministicBoundedModel());
await simulation.AdvanceAsync(SimulationDuration.FromHours(24));
var next = simulation.State.World.CoreState;
var snap = next.Snapshot();                 // macro stocks / counts
var firm = next.InsightFor(firmId);         // liquidity vs solvency
var regions = next.RegionInsights();        // capacity utilization

Tests: tests/Novolis.Economy.Unit (EconomyCore*).

Validation scenarios (EconomyCoreValidationScenariosTests): Godley–Lavoie-style cash conservation without bank money; Graziani monetary circuit (create → wage → spend → repay/destroy); Minsky illiquid-but-solvent; posted-price quantity rationing; living/logistics capacity binds.

Over-time behaviours (EconomyCoreOverTimeTests): multi-period cash conservation; carriage lag; delinquency→default aging; production accumulation; bank interest deposit drain; fiscal transfer exhaustion; Minsky stress across periods.

Install

dotnet add package Novolis.Economy.Core

Prerequisites: .NET 10 SDK (net10.0).

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (10)

Showing the top 5 NuGet packages that depend on Novolis.Economy.Core:

Package Downloads
Novolis.Economy.Production

Product definitions, batches, facility IDs, Quantity/time ops vocabulary, and commands/events for Novolis economic simulation.

Novolis.Economy.Accounting

Read-only financial projections and diagnostics over Core economic state, with compatibility ledger adapters.

Novolis.Economy.Population

Consumer cohort and preference stubs for Novolis economic simulation.

Novolis.Economy.Logistics

Hub/corridor transport network, itinerary planning, and multi-leg shipments scheduled against Core transfers.

Novolis.Economy.Finance

Inter-firm term loans, interest accrual, and default hooks for Novolis economic simulation.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2026.1.0.57 171 10/18/2026
2026.1.0.55 168 10/18/2026
2026.1.0.54 190 10/4/2026
2026.1.0.53 203 10/1/2026
2026.1.0.52 194 9/30/2026