Buddhi

Claim and bound

This page sorts the work into three honest buckets: what is proven and runnable today, what is asserted but not yet demonstrated, and what is deliberately out of scope. It is about evidence and scope only. Where a claim is backed by a test, the test is named verbatim (file::name) so you can run it yourself with python -m pytest tests/ -q from the repository root.

Proven and runnable today

These are demonstrated by code you can run now, not by argument.

The closure. supervise_stream_of_streams() does not reimplement the controller for the parent level. It views each child stream as an item via Stream.as_item() and runs it through the identical evaluate_item(): the same function that runs on a single item. When the parent grants budget (MODEL_HANDLED), it recurses into that child’s items. The reuse is literal, not by resemblance.

See the closure for the centerpiece walkthrough.

The invariants. Each property below is enforced by named tests:

The naive pack and the demo. The reference pack fills all five seams with the simplest correct behavior, enough to run end-to-end. python -m buddhi runs six demonstrations on it (Stage 0 conditioning, the seven decisions over one stream, the closure operator over a stream-of-streams, the two-tier exclusion lattice, the adapter contract, and the hierarchical budget shared-pool-vs-partitioned), prints SMOKE PATH OK, and exits 0.

The reduction theorem. The hierarchical cognitive budget collapses to a single shared global pool with one monotone admission bar under the degenerate conditions (empty scope_allocations, uniform weights, every ceiling equal to the root budget). This is backed by a differential test that checks the generalized allocation against an oracle step for step.

In total, 300 example-based and parametrized tests back these claims (no property-based fuzzing).

Asserted but not yet demonstrated

Scale-invariance beyond one substrate. The closure operator is scale-invariant by construction: the same controller runs on an item and on a stream-viewed-as-an-item, and the tests above show the reuse is literal. That structural scale-invariance is demonstrated and runnable today.

What is not yet demonstrated is generality across genuinely different substrates. What this repository exercises is the kernel itself: the reference (naive) pack fills every seam with the simplest correct behavior, and the property tests above pin the operator, the budget, and the invariants on that pack. The repo ships and demonstrates the kernel, not a concrete application built on it. The design deliberately invites a different substrate (different item shapes, convergence semantics, and escalation channels) to be slotted in behind the same seams; that is the intended architecture. But whether the kernel composes as cleanly over such a substrate is an open empirical question, not a settled result here. The structure invites it; the evidence in this repo does not yet establish it.

Deliberately out of scope

Coordination of coupled items. The closure is allocation-recursion only: a parent grants budget to a child and recurses into it. There is no inter-stream coordination, conflict-avoidance, work-partitioning, or locking in the kernel. When acting on one item changes whether another is worth acting on, the kernel does not — and is not meant to — reconcile them. That belongs to a separate coordination layer above the kernel.

This is a boundary, not a gap to be patched. See limits (L1, coupling) for the full statement, and positioning for why drawing this line keeps the kernel a control mechanism rather than a scheduler.


See also: the closure · the cognitive budget · limits · positioning · back to the README.