Flow Engine — Product Requirements Document

Integral Commons Layer: Layer 2 — Resource Flow Version: 0.9 — early PRD, concept stage Date: 2026-05-03 Status: Concept stage. This document establishes the design direction and constraints for the Flow Engine. It is not yet a build-ready specification. Phase 2 build follows Local Commons reaching operational scale.


What This Layer Is For

Every community produces more of some things than it needs and less of other things. Neighborhood A has three industrial sewing machines sitting idle. Neighborhood B has people who need warm coats and people who know how to sew. Neighborhood C has someone with a truck, free Saturdays, and nowhere to be. Local Commons surfaces what each neighborhood has. The Flow Engine handles what happens next — when the resource needs to cross a neighborhood boundary, when matching requires more than a notice board, when the lifecycle of a shared thing needs coordination beyond a single exchange.

The Flow Engine is not a market. It does not discover prices. It does not optimize for throughput or efficiency. It routes things — materials, skills, tools, care credits — according to what communities have declared they need, within ecological limits that EIL has established, using coordination mechanisms that leave control with the communities.

The three components of the Flow Engine address three different aspects of resource flow:

These are components of one layer, not three separate products. They share data structures, authentication, and the constitutional constraints of the Integral Commons ecosystem. A neighborhood using Equip for tool sharing may also use Kindred to track skill exchanges. Synapse draws on both to understand what a region actually has and what it actually needs.


What This Layer Is Not

Not a marketplace. Resources are not listed for sale. Prices are not set by the platform. Supply and demand signals are not used to allocate things. The Flow Engine is an allocation layer for things communities have decided to share — it does not create incentives to commodify what was not previously for sale.

Not an optimization engine. Synapse finds matches; it does not define what a good match means. “Optimal” in the Flow Engine vocabulary means: need is met, ecological constraints are honored, the community has consented to the match. It does not mean maximum throughput, minimum waste, or highest utilization rate.

Not a replacement for Local Commons. Local Commons’s Resource Registry and Needs & Offers handle hyper-local, neighborhood-scale exchange. The Flow Engine handles what Local Commons cannot: cross-neighborhood routing, asset lifecycle management for things too large or expensive to exist per-neighborhood, and aggregate pattern visibility across multiple communities. The two layers are complementary and should not duplicate each other.

Not a reputation layer. Kindred records that gifts happened. It does not score givers. It does not produce portable trust credentials. It does not gate access to resources, governance, or status. The Kindred design principles (see docs/kindred-design-principles.md) are architecturally binding on all Flow Engine development.


The Local Commons / Flow Engine Boundary

This boundary requires architectural precision because both layers deal with resource sharing:

ScenarioWhich layerWhy
Neighbor offers their ladder for the weekendLocal Commons Registry + Needs & OffersHyper-local, informal, single exchange
Neighborhood collectively owns a cargo bike and manages check-outLocal Commons Registry + Lightweight GovernanceCollectively-owned, one neighborhood, governance-managed
Three neighborhoods share an industrial kitchen; need check-out, maintenance tracking, repair fundEquipCross-neighborhood asset, lifecycle management, repair fund governance
I have surplus tomatoes; who nearby needs them?Local Commons Needs & OffersInformal, perishable, neighborhood-scale
A housing cooperative needs to match bulk grain buying across ten households in different neighborhoodsSynapseParticipatory planning, cross-neighborhood aggregation
A neighbor helped me with childcare three times; we want to record thisKindredMutual attestation, care ledger, opt-in credit tracking
A neighbor is going through cancer treatment; three people are informally supporting themCIP (Care Integration Platform)Relational care, not transactional, should not be on a ledger

The Kindred/CIP boundary is especially important: Kindred records credited care by consent; CIP holds uncredited relational care that cannot and should not be tracked. The same person may appear in both. The same situation may involve both layers. They must never merge.


Component 1: Synapse — Participatory Planning

What Synapse does

Synapse aggregates declared needs from households and communities and matches them to production, sourcing, and distribution capacity — bounded by ecological constraints from EIL. It is a coordination layer for participatory economic planning, not a price discovery mechanism.

The core loop:

  1. Households and collectives declare what they expect to need over a planning horizon (a season, a quarter).
  2. Production collectives and resource holders declare what they can make available.
  3. Synapse matches capacity to need, subject to EIL ecological constraints for the relevant bioregion.
  4. Matched plans are proposed to participating communities for consent through their governance process.
  5. Communities accept, modify, or reject plans; the result is a coordinated production and distribution commitment.

Privacy requirements

Household-level need declarations are never surfaced individually or aggregated in ways that create individual consumption histories. This is not just a privacy policy; it is an architectural requirement.

EIL integration (hard constraint)

EIL provides ecological capacity constraints — carbon budget, water availability, biodiversity thresholds — for the bioregion in which Synapse is operating. These are hard constraints, not soft inputs. A production plan that exceeds an EIL bioregional threshold is not surfaced to communities as a viable option. Synapse routes within the envelope EIL defines; it does not optimize against it.

When EIL constraints make a desired match impossible, Synapse surfaces this explicitly: “The production plan you requested is not feasible within the current bioregional water budget. Here are the alternatives within the feasible envelope.” Constraints are visible, not hidden in an opaque algorithm output.

What Synapse does not do

Concrete use case: decentralized farms, regional surplus/shortage visibility

The target Phase 2 pilot use case for Synapse is a network of decentralized farms and the localities and municipalities they supply. This use case is more tractable than full participatory planning and validates the core Synapse architecture.

The problem: Farms produce surplus and shortage in patterns that are invisible to each other and to the municipalities that could redistribute or procure from them. Surplus rots. Shortages go unmet. Price signals are the current allocation mechanism — but price signals exclude communities with low purchasing power and don’t optimize for ecological health or food sovereignty.

What Synapse provides:

Surplus/shortage visibility map. Farms and food producers declare availability in near-real-time or by planning horizon: crop type, quantity, location, availability window, any conditions (collection required, organic certification, storage capacity available). This is a regional supply map — not a marketplace, not a price-discovery mechanism. The map shows what exists and where; it does not set the terms of exchange.

Allocation routing. Localities, food cooperatives, and municipalities declare what they need. Synapse matches capacity to need, subject to EIL constraints (water budget, soil stress, biodiversity indicators for the bioregion). The output is a proposed allocation: farm A’s surplus squash goes to locality B and food co-op C. Communities and institutions consent to or modify the proposal; Synapse does not execute it.

Municipal procurement bridge. When a municipality’s allocation requires a formal procurement decision — a civic commitment of public funds toward local farm purchasing — that decision moves through MCS (participatory budgeting or community priority-setting module). Synapse makes the opportunity visible; MCS governs the institutional response.

What Synapse does not do in this use case:

Actor types this introduces:

The farm surplus/shortage use case requires a producer actor type that doesn’t exist in the current Local Commons household/community model:

ActorTypeVisibility of declarations
HouseholdPrivate — ZKP requiredAggregate only; never individual
Farm / food producerProducer — opt-in publicSurplus/shortage declared publicly by default; opt-out available
Food cooperativeCollectiveNeeds declared on behalf of members; member-level privacy preserved
MunicipalityInstitutionalProcurement needs public; deliberated through MCS

The producer actor type needs to be designed before Phase 2 Synapse development begins. It has different privacy characteristics from household declarations and different governance relationships (a farm is often a business, not a commons participant in the same sense as a household).

EIL integration is especially direct here. Farms are major generators of EIL data — water use, soil health, biodiversity indicators, carbon sequestration. A farm participating in Synapse is also a data source for EIL. The data relationship is bidirectional: EIL constrains what Synapse can route (bioregional water budget); farms annotate EIL with ground-truth production data.

Phase 2 scope

Synapse is the most complex component of the Flow Engine and has the most demanding data infrastructure prerequisites. Phase 2 scope: regional surplus/shortage visibility and allocation matching for food producers and municipalities. This is the pilot use case. Full participatory planning (production scheduling from aggregate household need declarations) is Phase 3.


Component 2: Equip — Shared Asset Lifecycle

What Equip does

Equip manages the lifecycle of physical assets that communities own collectively and share across neighborhoods. Where Local Commons tracks what a single neighborhood has, Equip manages things that multiple neighborhoods share — their check-out, maintenance, repair, and retirement.

The canonical use cases:

Item lifecycle

Every Equip item has a lifecycle record:

StateDescription
AvailableReady for check-out
Checked outWith a borrowing member or neighborhood; due date set
In maintenanceScheduled maintenance in progress
Needs repairFlagged by a user; awaiting repair coordination
In repairRepair in progress
RetiredNo longer in service; record retained

Condition notes and use-hours are tracked on the item, not on the user. A drill’s history of who has used it is not surfaced as a per-user reliability score. If access to a specific item needs to be conditioned on demonstrated competence, that is a governance decision (a policy attached to the item through the item’s governing body) — not an automatic system score.

IoT integration (Phase 2+)

Smart locks and smart lockers for check-out without a human intermediary are a Phase 2 feature requiring hardware partnerships. Phase 1 Equip operates with manual check-out confirmation (a two-party confirmation: borrower marks item as taken, a designated keeper marks it as released). IoT hardware for automated lock/unlock is a Phase 2 enhancement, not a Phase 1 requirement.

Repair and maintenance

Repair is handled through two mechanisms:

  1. Maintenance schedule. Items have maintenance schedules (configurable per item type). When an item reaches a maintenance threshold (use-hours, date, or condition flag), a maintenance request is created and routed to the item’s designated repair collective or volunteer maintainers. This is a coordination artifact, not a governance decision.

  2. Repair fund. Items in Equip can be associated with a repair fund — a commons pool contributed to by the communities that use the item. Contribution model, payout rules, and access decisions are governed by the communities through their governance layer (Local Commons governance or CommonGround, depending on the organizational structure of the owning collective). Equip does not define how the repair fund works; it provides the accounting infrastructure for the fund that communities govern.

Key constraint: A member’s repair fund contribution history is not a credential. Contributing to the repair fund does not grant access to assets or authority in governance. It is a financial record, not a social credit.

What Equip does not do


Component 3: Kindred — Attestation-Based Gift Ledger

What Kindred does

Kindred records the circulation of gifts, care, and contribution through mutual attestation. It makes visible what gift economies tend to make invisible — who is giving what to whom, what is needed, what is in motion — without turning givers into scores.

The design principles governing Kindred are documented in docs/kindred-design-principles.md. That document is architecturally binding. The summary:

The gift-first default

Kindred inherits the gift-first orientation from Local Commons’s time credit design. All care and contribution is a gift by default. Kindred tracking is opt-in — if neither party requests credit recording, the gift is simply a gift and nothing enters the ledger. The ledger serves parties who want a coordination mechanism; it does not serve the platform’s desire to see everything.

Time credits as coordination tokens

When both parties opt into credit recording:

The Kindred/CIP boundary

Use caseLayer
I helped my neighbor move; we both want to record itKindred
Three neighbors have been informally supporting someone through grief for monthsCIP
A skill-share coordinator wants to track who has given teaching time this quarterKindred (aggregate, not per-person score)
A support circle is coordinating ongoing care for a member in crisisCIP
A repair café coordinator wants to see how much repair labor has circulated this yearKindred (collective pattern visibility)
Someone is providing ongoing emotional labor that the receiver doesn’t want made visibleCIP or neither — not Kindred

The rule: if the care is ongoing, relational, and could be damaged by being put on a ledger, it belongs in CIP or nowhere. Kindred is for the kind of care that both parties want to make legible.

Collective pattern visibility

While personal totals are private, collective patterns are visible:

These are aggregate signals. They tell communities where there is abundance and where there is gap. They do not tell communities who is giving and who is taking.


Cross-Component Data Model

The Flow Engine shares a data layer across its three components. Key objects:

FlowResource {
  id
  type: "material" | "skill" | "tool" | "space" | "time"
  source_neighborhood_id       // null if cross-neighborhood or federated
  equip_item_id (nullable)     // link to Equip if a physical asset
  ecological_footprint (nullable) // EIL data attached if available
}

SynapseDeclaration {
  id
  community_id
  resource_type_id
  quantity_aggregate             // never individual household
  planning_horizon
  status: "draft" | "proposed" | "consented" | "committed"
  eil_constraint_check (bool)
}

EquipItem {
  id
  name
  owner_community_ids[]
  current_state                  // see lifecycle table
  condition_notes[]              // on the item, not the user
  maintenance_schedule
  repair_fund_id (nullable)
  governing_body_id              // Local Commons or CommonGround instance
}

KindredAttestation {
  id
  giver_id
  receiver_id (nullable — may be anonymous)
  witness_id (nullable)
  care_type_tags[]
  time_value_hours (nullable)
  credit_issued (bool)           // opt-in; false if gift-only
  created_at
  expires_at (nullable)          // for credit-bearing attestations
}

No Flow Engine object holds a per-person aggregate score, rank, or balance in a form visible to anyone other than the person themselves.


Integration with Integral Commons Layers

Flow Engine ↔ Local Commons

Local Commons Registry and Equip are adjacent, not the same:

Flow Engine ↔ EIL

EIL provides hard ecological capacity constraints for Synapse routing. This is not a soft integration:

Flow Engine ↔ CIP

Kindred and CIP do not share data. They communicate through coordination signals only:

Flow Engine ↔ CommonGround

Governance decisions affecting Flow Engine resources (Equip repair fund rules, Synapse participation policies, Kindred opt-in configurations for a community) are made through CommonGround’s deliberation process. The Flow Engine does not have its own governance layer; it uses the governance infrastructure of the communities that operate it.


Non-Goals

Not building a gift economy from scratch. The Flow Engine serves communities that already have gift-economy practices and want coordination infrastructure for them. It does not create the social conditions for gifts to circulate.

Not replacing cash or conventional exchange. Participating communities may use Integral Commons alongside conventional economic activity. Kindred credits and Synapse coordination do not need to replace money; they supplement it where communities choose.

Not tracking everything. Most exchanges — most gifts, most informal sharing, most skill loans — will never enter the Flow Engine. That is correct. The ledger is for the minority of exchanges where coordination infrastructure adds value.

Not solving distribution inequality through design. The Flow Engine can make resource circulation more efficient within communities that have resources to share. It cannot address communities that lack resources. Structural inequality is a political problem, not a coordination problem.


Risks and Hard Problems

RiskSeverityNotes
Kindred slowly accretes social credit system properties through incremental feature additionsHighMitigation: architectural data constraints make aggregate scores structurally impossible; design principles document is binding
Synapse planning data leaks household consumption patternsHighMitigation: ZKP architecture; aggregate-only surfacing; no per-household history retention
Equip becomes a “who broke things” ledger for users rather than itemsMediumMitigation: data model expresses condition on items; governance process for access decisions, not automatic scoring
Cross-neighborhood coordination requires trust between neighborhoods that have no existing relationshipMediumMitigation: Synapse and Equip require explicit community consent at each stage; no automatic routing
Ecological constraints from EIL are contested or wrongMediumMitigation: EIL’s uncertainty quantification and community annotation layer surfaces this; Synapse shows the constraints and their uncertainty, communities deliberate
The Synapse planning cycle (seasonal or quarterly) is too slow for real-time needsMediumMitigation: Synapse handles planned needs; unplanned needs remain in Local Commons Needs & Offers
Flow Engine Phase 2 build depends on Local Commons being operational, which delays itLow-MediumArchitectural decision: this dependency is intentional and correct

Build Sequence

The Flow Engine is Phase 2 — it depends on Local Commons reaching operational scale. Within Phase 2:

  1. Kindred first. Simplest data model; least infrastructure dependency; most immediately useful. Kindred can operate without Synapse or Equip.

  2. Equip second. Requires Local Commons Registry to be stable (Equip extends it); requires a governance layer to be operational (CommonGround or Local Commons governance). IoT integration is Phase 2+; Phase 2 baseline is manual check-out confirmation.

  3. Synapse last. Requires real usage data from Local Commons, Equip, and Kindred to be useful. ZKP implementation is technically complex and needs dedicated cryptographic expertise. Phase 2 scope: regional matching for pre-declared needs in specific domains. Full participatory planning is Phase 3.


Open Questions

  1. Synapse governance. Who governs the parameters of the matching algorithm — the weighting between need urgency, ecological constraint severity, and distribution fairness? This cannot be a technical default; it must be a community decision. How is this represented in the governance layer?

  2. Cross-neighborhood trust. Equip and Synapse require communities to trust each other across neighborhood boundaries. What is the minimum trust infrastructure required? Is this vouching between Stewards? A formal inter-community agreement? CommonGround’s consent process?

  3. EIL constraint contestation. When communities believe an EIL constraint is wrong (the bioregional water budget underestimates actual availability), the annotation layer lets them flag this. What happens when the constraint is contested? Does Synapse hold until EIL is updated? Does the community governance process allow them to override a constraint they believe is wrong?

  4. Kindred across spaces. Kindred operates within a community’s domain. When two people from different neighborhoods want to record a gift, which Kindred instance holds the record? This is a federation-scope question; Phase 2 Kindred operates within single Local Commons instances; cross-neighborhood Kindred is Phase 3.

  5. Synapse/EIL integration timing. EIL constraint data is available now (Phase 1). Synapse planning is Phase 2. What EIL integration points need to be built into Phase 1 data schemas to avoid rebuilding later?


PRD v0.9. Flow Engine is Layer 2 of the Integral Commons ecosystem. All three components (Synapse, Equip, Kindred) are concept stage; this document establishes design direction and constraints. The Kindred design principles document (docs/kindred-design-principles.md) is binding on all Kindred development. Phase 2 build begins after Local Commons reaches operational scale in pilot neighborhoods. The most important thing to get right before Phase 2 begins: the Kindred data model must structurally prevent per-person aggregate scoring — this is an architectural constraint, not a policy constraint.