A proposal, open to discussion and revision, for the module that would enable the Program Stack Patronage Plan inside the Common Information System as built. It describes how Programs organize the Opportunities surfaced in the commons, how participants would explore both through a Programs view in the intranet, how a Contribution would become a record, and how the year would close. The specification stands adopted as the module's shape by the merge of 2026-07-22; its policy content, the rates, the counting rules, the Program designations, remains the board's to adopt, and none of it is the board's word yet.
This is a proposal, and it should read like one. The Program Stack Patronage Plan is itself a draft before the board, traveling with reviewer checkpoints for counsel, the CPA, and the directors; nothing it proposes is settled.1 This document sits one layer down and inherits that posture entirely: it sketches the module that would enable the program stack if and when the Plan adopts, in the terms of the Ground, the CIS as actually built. Where it uses the language of specification, kinds, payloads, verbs, that precision is in service of discussion, not in place of it. Every should below is offered; any of them can be argued down.
Three instruments meet here and none replaces another. The Plan is board policy in the making: the six Primitives, the archetypes, the Labor Schedule, the Default Policy, the year-end sequence. CIS PRD v0.4 is the system specification: it names See your share as Capability 04, read-only at first, blocked by the counting rules, and holds the ten principles that bind every module.2 This proposal is the joint between them, and, in v0.2, it also reaches sideways: Programs, internal to the LCA, are organizing bodies for the Opportunities surfaced in the commons, so the module touches the Find capability as much as the Share capability, and §4 and §8 describe that bridge.
One boundary is proposed before anything else. PRD v0.4 places treasury execution, distributions and multi-signature authorization, outside the launch capabilities, sequenced later under a name not yet settled.2 This module would therefore record value and allocation as events and never move money; where the Plan's year-end sequence reaches cash, the module writes the commitment record and stops. And like everything in the series, the document observes Law X: the instrument drafts, surfaces, and proposes; deciding, signing, and governing sit with people. Nou holds no role and no grant in the deployed policy set, and nothing below would change that.5
The Plan's Section 9 claims that nothing in it requires modification to the underlying event log model. Read against the applied migrations, the claim holds.3 The events table already carries every field Section 9 asks for, most as named columns rather than payload conventions:
| the Plan asks for | the Ground holds | ground |
|---|---|---|
| the member (Agent) | events.agent_id | whom the event concerns |
| who recorded it | events.actor_agent_id | human actor where bylaws assign the act to a person |
| the Program tag | payload · agents.kind = 'program' | Programs are agents already; contract in §5 |
| the Primitive type | payload | contract in §5 |
| the computed valuation | book_delta · tax_delta | both deltas even when equal, Law VII |
| valuation basis | valuation_method | FMV at contribution; revaluation only by explicit event |
| the verifying Coordinator | valuation_approver_agent_id | approval is a column, not a convention |
| documentation reference | payload | contract in §5 |
| timestamp | occurred_at · recorded_at | two instants, contemporaneity checkable |
| book and tax projections | capital_accounts view | a tally, not a table; runs as the asker since 0005 |
Four further findings shape the proposal. The agreements table is built for versioned instruments whose computations bind to the version in force, and its own comment anticipates a code named POLICY-PATRONAGE, so policy configuration has a first-class home.3 The write policy on events admits members only to signature, registration, opportunity, and gathering kinds; every capital write is, by standing authority, a definer function or an overseer act, which is the write discipline this proposal adopts rather than invents.4 The appointment enum in role_grants is closed at director, secretary, treasurer, steward; there is no Coordinator office, and §6 argues none should be added. And the opportunities table carries an author, a kind, a lifecycle, and no Program reference at all, which §4 treats not as a gap but as the shape Law II expects: an affiliation is a relationship, and every relationship is an event.3
What the Ground does not yet hold, this proposal declares rather than migrates: the affiliation and payload contracts (§4, §5), the configuration convention (§7), and the write verbs (§10). The schema is untouched.
The Plan's defined terms carry into this proposal unchanged and capitalized as there: Program, Contribution, Primitive, Capital Account Credit, Coordinator, Patron Class.1 The six Primitives are HOURS, REVENUE, CASH, OUTPUT, PRESENCE, PROPERTY, a closed set under board authority. To these, v0.2 adds the relationship Todd named as the module's internal ground: a Program is an organizing body for Opportunities surfaced in the commons. An Affiliation is the recorded relationship between one Opportunity and one Program; it is optional, since not every Opportunity has a Program behind it. A Posting Path is a verb sequence that ends in a capital event; a Valued Event is a row in events whose kind begins capital. and whose deltas are set; the Tally is the capital_accounts view; an Allocation Run is the recorded execution of the Plan's year-end sequence.
Vocabulary discipline holds throughout: this is Subchapter K machinery, so balances are 704(b) capital accounts, year-end results are distributive shares, and the retired Subchapter T terms do not appear. Patronage survives as it survives in the Plan's own name, a correctly scoped internal term for the contribution-counting layer, never a tax characterization.
The opportunity board is where engagement begins: play, practice, and work, posted by members, responded to between responder and author, resolved as events. Programs give some of that activity an organizing body: a purpose, a Coordinator, an adopted way of recognizing what the work is worth. The proposal treats the relationship exactly as Todd framed it. Not every Opportunity has a related Program, and nothing forces one; an unaffiliated Opportunity is pure Find, and it stays that way. But an Opportunity can be affiliated with a Program, and once it is, engagement through it becomes eligible for patronage and other recognition under that Program's policy in force.
Because the opportunities table carries no Program column, and because Law II says every relationship is an event, the Affiliation is proposed as a recorded event rather than a schema change: kind opportunity.affiliated, concerning the Program agent, carrying the opportunity in its payload, written by the Coordinator or the author through the Program's own path. The board's view of an Opportunity's Program is then a read-time tally, exactly as every other derived fact in the system is. If read-time tallying ever proves heavy in practice, the alternative is a nullable program reference on the opportunities table, which is a schema change and therefore a stop card; that road is named here so choosing it later is a decision, not a drift.
Eligibility flows from the Affiliation, not from the board itself. When an affiliated work or practice Opportunity resolves, its resolution can seed a patronage claim, HOURS or OUTPUT most naturally, referencing both the resolution and the policy version in force, and the claim walks the same verification path as any other (§10). Other recognition is deliberately left open: the Plan's PRESENCE Primitive covers recorded participation, and any non-capital acknowledgment the cooperative wants beyond that is a future policy question this proposal names without inventing.
The module would write these kinds and no others, each named noun-first in the house grammar, each allocation-sequence kind tied to the Plan step it records:
| kind | records | actor | plan step |
|---|---|---|---|
| opportunity.affiliated | an Opportunity joined to a Program, per §4; optional, revocable by a compensating event | Coordinator or author, by verb | · |
| capital.contribution | a valued Contribution under one Program and one Primitive | overseer verb; member claim path per §10 | feeds 01 |
| capital.revaluation | explicit revaluation of a prior contribution; never a mutation | overseer | · |
| patronage.claim | a member's self-reported contribution awaiting verification; carries no deltas; states its election, counted or given | the member, by verb | · |
| patronage.recognition | a contribution the member elected to give: attributed, described, quantified in its natural unit, attested by a distinct hand; no value, no rate basis, both deltas zero, no allocation weight (COUNTING-RULES v2 §3) | the confirming hand, by verb, on the member's given claim | · |
| agreement.adopted | a policy instrument taking force, parameters in payload | secretary or steward, on board act | · |
| allocation.run_opened | the tally's cut instant for the fiscal year | treasurer or steward | 01 |
| allocation.pnl_finalized | net profit or loss for the year, reconciled | treasurer | 02 |
| capital.allocation | one member's distributive share, by capital ratio; both deltas | treasurer or steward, by verb | 03 |
| allocation.patron_check | the 51% Patron Class benefit floor, attested | a director, for the board | 04 |
| allocation.qio_applied | a loss redirection under the qualified income offset, when triggered | treasurer | 05 |
| capital.distribution | the tax-covering distribution commitment, linked to its allocation per Law VIII | treasurer | 06 · record only |
| allocation.k1_issued | K-1 issuance for the run, member manifest in payload | treasurer | 07 · record only |
For capital.contribution the columns do their standing work: agent_id is the member, actor_agent_id the human recorder, valuation_approver_agent_id the Coordinator of record, occurred_at the contribution instant and recorded_at the posting instant, so the Plan's fourteen-day contemporaneity rule for HOURS is checkable from the row itself. Deltas follow Law VII, book and tax both, equal by default. The payload carries what the columns do not:
-- proposed payload contract · capital.contribution { "program_agent_id": uuid, -- agents.kind = 'program'; Default Policy posts to the cooperative agent "primitive": "HOURS" | "REVENUE" | "CASH" | "OUTPUT" | "PRESENCE" | "PROPERTY", "election": "counted", -- COUNTING-RULES v2 §3; required, no default; a contribution is counted by election, never by silence "standing_charge_id": uuid?, -- present where HOURS posts against a charge rather than an Opportunity (§7) "quantity": numeric, -- hours, revenue usd, units, occurrences, fmv usd "rate_basis": text, -- labor_schedule tier code, revenue_pct, output unit code, presence_credit, documented_fmv "policy_agreement_id": uuid, -- the version in force that valued it "documentation_ref": uri, "claim_event_id": uuid?, -- present when promoted from a member claim "opportunity_id": uuid? -- present when the contribution flows from an affiliated Opportunity's resolution }
The given election terminates elsewhere, and it needs its own contract because it asserts less. A Recognition names the member, describes the work, and quantifies it in whatever unit the work naturally has, hours or units or occurrences, without converting that quantity into money. It carries no rate basis and no policy version that valued it, because nothing valued it. Its deltas are zero, and they are zero for a reason the §9 tally depends on: a Recognition is not a Contribution priced at nothing, it is a contribution the member declined to price.
-- proposed payload contract · patronage.recognition { "program_agent_id": uuid?, -- where the work sat under a Program; absent where it did not "election": "given", -- the only admissible value on this kind "description": text, -- what was done, in words, since no code prices it "quantity": numeric?, -- the natural unit only "quantity_unit": text?, -- hours, units, occurrences; never a currency "claim_event_id": uuid, -- the given claim this attests "documentation_ref": uri?, "opportunity_id": uuid? }
On the row itself, agent_id is the member recognized and valuation_approver_agent_id holds the attesting hand, exactly as on a Contribution, so a Recognition is no easier to enter than a Contribution and no member enters their own. What differs is valuation_method, which is none, and book_delta and tax_delta, which are zero. No rate_basis and no policy_agreement_id appear, because a field that would have to be null is better absent than false.
Two pins would complete the contract. Every capital event posts on the entity book: a member's capital account is a relation to the cooperative, not to a hosted program arc, so Law IX's host book carries the program's operational happenings, and the Contribution credit those happenings earn lands entity-side referencing them. And the three status axes behave as everywhere else: provenance real unless a surface is explicitly simulated, settlement settled for posted contributions and anticipated for commitments awaiting the treasury module, temporal state never stored.
The entity-book pin is a proposal, not something the Plan or the IM states outright. The alternative, capital events split across books with the tally filtering to entity, adds a filter the current view does not have. If the pin is wrong, say so and §5 revises before any verb lands.
The Plan makes the Coordinator load-bearing: a member designated by the board to administer a Program's policy and verify its Contributions, who never approves their own.1 The tempting implementation is a fifth value in the appointment enum. This proposal argues against it, and the argument is open: offices in role_grants are bylaws offices, per the Authority Map's own comment, and the Coordinator is not one. A Coordinator is a creature of a Program policy, board-designated when that policy adopts, scoped to that Program, ending when it sunsets.
So the designation would live where the Plan puts it: in the Program's policy instrument. Each Program policy is an agreements row, code POLICY-PATRONAGE-<program>, versioned and effective-dated, and its agreement.adopted event carries the machine-readable parameters, the coordinator among them (§7). The posting verbs enforce the segregation the Plan requires: the approver on a capital.contribution must equal the coordinator named by the version in force for that Program, and must differ from the member being credited. Cross-verification for a Coordinator's own contributions falls to the Financial Systems Committee's officers, which the deployed policy set already recognizes. Members read their own records at any time; that right is already the events read policy, capital included, under Bylaws §18.1 and §6.2.1.4
The distinct hand extends in two directions that v0.3 did not contemplate. A Recognition has no value to approve, and it is still approved: the confirming hand attests attribution and occurrence, that the work described happened and that it is the member's, which is the whole of what a Recognition asserts. The verb therefore applies the same segregation test to a given claim as to a counted one, and refuses a member attesting their own, even though nothing is being priced. And where HOURS posts against a standing charge rather than an Opportunity, the confirmer is not the Program's Coordinator by inference but the hand the board's resolution names, and that hand is never the charge's holder. Where the holder is an officer, the confirmer sits outside that office, so the secretary does not confirm the secretary's charge and the treasurer does not confirm the treasurer's. The cooperative presently has one steward carrying most of the continuous work, which makes this a protection for that steward before it is a protection for anyone else.
One visibility cell is genuinely missing, and §8 adds a second like it: the Coordinator's monthly view of their Program's activity, which the current read policy does not grant. Two honest routes exist, an additive read policy scoped by the program reference, which is Authority Map territory and belongs in an AM v0.2 addendum with its anchors stated, or definer functions that return the summaries without widening row access. This proposal suggests the second for launch, because it ships without touching the policy set, and names the first as the durable form. Both routes are gathered in §15 for one decision.
No rate, weight, or unit value would appear in any view, verb, or check. Every number the Plan proposes, the Labor Schedule tiers, the REVENUE percentage, the OUTPUT unit values, the PRESENCE credit, enters the system as an adopted instrument and is read from the record at valuation time, so a rate change is an amendment event and history stays computable under the version that governed it. Cite as you enforce, Law IV, applied to money.
| instrument | agreements code | carries in its adoption payload | standing |
|---|---|---|---|
| Labor Schedule | LABOR-SCHEDULE | the four labor tiers and their rates | understood to have been settled in June 2026, not in the record; row and event to be entered at §12 R1. Recoded from SCHEDULE-A by decision record 2026-07-24: that code stands in the record with the Bylaws schedule of stock prices and membership dues, entered the same day |
| Counting Rules | COUNTING-RULES | admissible event kinds, the election between given and counted, standing charge form, FMV confirmations, REVENUE percentage, OUTPUT and PRESENCE values, first accounting year | drafted; v2 staged at counting-rules; Q3 remains before the board and resolves on adoption |
| Default Policy | POLICY-PATRONAGE-DEFAULT | HOURS only at Labor Schedule rates; scope of unattributed activity, as narrowed below | adopts with the Plan |
| each standing charge | CHARGE-<charge> | the charge, the holder, the tier, the confirmer, the term | drafted in COUNTING-RULES v2 §4; each charge is its own board resolution, and none is resolved |
| each Program policy | POLICY-PATRONAGE-<program> | purpose, coordinator_agent_id, active Primitives, weights summing to 100, output units and values, funding bounds, lifecycle, review | per Program, by board resolution |
A standing charge is configuration in exactly the sense this section means. It is a board act with a version and an effective date, it names numbers and hands the mechanism must not invent, and the posting verb reads it from the record at valuation time rather than holding any part of it in code. The verb asks whether a charge was in force at the hour's occurrence, which tier that charge set, and which hand it named to confirm; a charge that lapses stops admitting hours from its lapse forward, and hours already posted under it stay computable under the version that governed them. The only structural difference from a rate is what the charge substitutes for: it satisfies the affiliation requirement that a resolved Opportunity otherwise supplies, so an hour under a charge still cites something adopted and still cites something that is not the contributor's own assertion.
This narrows an open question v0.3 left whole. The Default Policy's scope of unattributed activity was doing two jobs at once: it stood for continuous cross-program work that belongs to no Program, and it stood for episodic work that simply has no Program behind it. Standing charges answer the first, and answer it better than the Default Policy could, because they name a confirmer and a tier by resolution rather than leaving the mechanism to guess. What remains open is the second, the ordinary unaffiliated hour, and one thing more: whether a Program-less contribution posts to the cooperative agent under the Default Policy, or is inadmissible until some Program or charge claims it. That question is unchanged by COUNTING-RULES v2 and stays where it was.
The agreements table carries no payload column, deliberately; parameters travel in the adopting event's payload, the instrument row holds identity, version, and effective date, and the prior column preserves what a governed record changed from. Amendments are prospective only, as the Plan requires: a new version, a new adoption event, and the tally untouched behind it.
This is the surface v0.1 was missing, and it is key to the PRD. Programs are internal to the LCA, so their view belongs inside the commons portal at techne.coop/intranet, behind the auth gate, in two forms: a principal page of its own at /intranet/programs/, and a primary window on the intranet Overview beside the member's other principal windows, so exploring Programs is a first thing a signed-in participant sees, not a thing they hunt for. The page and the window read the same record; the window is the door, the page is the room.
What a participant finds there is the cooperative's organized life, arranged for engagement:
| element | shows | reads from |
|---|---|---|
| the roster | every Program as a card: name, purpose, Coordinator, archetype, and its policy standing, in force, in formation under the Default Policy, or sunset | agents.kind = 'program'; the POLICY-PATRONAGE instruments and their adoption parameters |
| open Opportunities, by Program | each Program's affiliated open Opportunities from the board, with the standing respond path beside each | opportunities; the §4 affiliation tally |
| the unaffiliated shelf | open Opportunities with no Program behind them, so pure Find stays visible and nothing implies a Program is required to engage | opportunities without affiliation |
| how recognition works here | the Program's active Primitives and weights, and, once Q3 records, what engagement is worth under the version in force | the adoption payload; plain rendering, no stored copy |
| the engage paths | respond to an Opportunity; register for the Program's gatherings where it hosts any; reach the Coordinator | the standing Find and Gather surfaces, linked, not duplicated |
| the Overview window | a primary card: Programs by count and standing, a spotlight, open affiliated Opportunities, one door to the page | the same reads, summarized |
The visibility ground is mostly already laid: members read the full agent roster under Bylaws §2.9, every Opportunity under the Find policies, and every instrument row under Art. XVI and §1.2.9.4 Two cells are missing, and they are the same shape as §6's: affiliation events and adoption parameters live in the events table, which members read only where an event concerns them. Principle 07 is the anchor that closes both, democratic by default, any member sees what governs them, board policies accessible without friction.2 The durable form is an AM v0.2 addendum granting member read on the opportunity and agreement namespaces; the launch form is the same definer-function route as §6. One decision covers all three cells, gathered in §15.
The sibling surfaces to date, join, agreements, directory, gatherings, opportunities, live under /commons/ with the intranet as the auth shell. This view is placed inside /intranet/ deliberately, on the direction that Programs are internal organizing bodies. If the cooperative later prefers one address family for all member surfaces, moving the page is mechanical; the placement records a frame, not a constraint.
The capital_accounts view stays exactly what it is: one row per member, a book tally and a tax tally over capital events, running as the asker so it shows only what the events policy already shows.3 This proposal adds no stored balance anywhere and no second truth. The member surface at /intranet/share/ would render three things from the same record: the balance pair, the itemized history, which is the member's own capital events in order, and, on every line, the citation trail: the event id, the Program, the Primitive, the quantity and basis, and the policy instrument and version that valued it, with a line that flowed from an affiliated Opportunity linking back to it. The capability sentence in PRD v0.4 is the acceptance test written as prose: follow any figure to the events and the policy that produced it, and never hit an unexplained boundary.2
The tally does not read Recognitions, and that is the correct behavior rather than a gap in it. capital_accounts sums deltas over capital events; a Recognition is not a capital event and carries no deltas, so it contributes nothing to a balance and could not be made to without contradicting what the member elected. The member surface would show Recognitions all the same, in the itemized history, marked as given and carrying their description and their natural quantity, with no money column and no line into the balance pair above. That is the honest rendering: the history is what the member did, and the tally is what the cooperative owes against it, and those were never the same list. Anyone reading the surface should be able to see at a glance that a given line is deliberately not summed, which is the interface's whole obligation here.
The three doors hold without addition. Browse is the Programs view of §8, /intranet/share/, and the Coordinator desk when the claim pen opens. Ask is the natural-language door over the identical record. Verify is the event log and the fourteen export views already deployed, which carry every kind this module would write without amendment; the rehearsed walkaway has already proven the fold reconstructs byte-identically, so the module inherits X-03 and X-09 and adds nothing to them. The map names the capability See your share and its door Your share, standing parked at /intranet/share/ since U-07; the Programs view takes its place in the intranet rather than the public nav, and whether it ever earns a nav position is a later, smaller question. amended 2026-07-27 · the address follows the built door
All capital writes would ride security definer verbs, the pattern the signature flow set when B-04 escalated and 0003 landed: one atomic function per act, the human actor validated against role_grants, refusal messages that cite the rule refused. The member insert policy on events is not widened for capital kinds; the verbs are the only doors.4 The affiliation verb is the one exception in spirit, since opportunity.* kinds are already member-actionable; it still lands as a verb so the Coordinator-or-author rule is enforced somewhere the interface cannot forget it.
Capability 04 is read-only at first, and the proposal phases the pen to match. In the first phase the overseer posts: post_contribution takes the member, the Program, the Primitive, the quantity, and the documentation reference, reads the version in force, computes the deltas, sets the approver, and writes one capital.contribution. In the second phase, opening per Program as its policy adopts, the member's own pen is a claim: submit_claim writes a patronage.claim, deltaless, optionally citing the affiliated Opportunity it flows from, and the Coordinator's promote_claim verifies it into a capital.contribution that references the claim, so self-report and verification are two events by two people and the fold counts only the second. Corrections are compensating events through the standing corrects reference; nothing is ever edited.
The given election takes the same two-hand shape, and it should, because the reason for two hands does not go away when the money does. submit_claim carries the election, counted or given, and writes the deltaless patronage.claim either way; the verb refuses a claim that states neither, since silence is not an election and the mechanism must not choose on the contributor's behalf. From there the paths part. A counted claim goes to promote_claim, which values it and writes the capital.contribution. A given claim goes to attest_recognition, which confirms attribution and occurrence, sets valuation_method to none, and writes one patronage.recognition referencing the claim, with both deltas zero. The same segregation test guards both verbs: the attesting hand must differ from the member, and under a standing charge it must be the hand the charge names. Because the election is irrevocable for that contribution, neither verb accepts a claim the other has already consumed, and a member who wishes they had elected differently has the same remedy anyone has here, which is to say so and let the board decide, not to have the verb quietly reverse it. HOURS under a standing charge reaches either verb: post_contribution and submit_claim take the charge in place of the Opportunity, and the version-in-force read at §7 supplies the tier and the confirmer.
The allocation run is a verb sequence in the order the Plan fixes: open_run cuts the tally; record_pnl enters the reconciled figure; post_allocations computes each member's share by capital ratio at the cut and writes the capital.allocation rows, both deltas; record_patron_check attests the 51% floor under a director's hand; apply_qio redirects any deficit-creating loss; record_distribution and record_k1_issuance close the record. Determinism is a requirement, not a hope: given the cut instant and the P&L figure, the allocation rows are a pure function of the log, which is what makes the gate's hand-check possible.
Everything in this section is money, and money is a stop-and-ask category under the Build Protocol. The verbs would land as one migration, 000N_patronage_verbs.sql, only after this proposal is discussed and adopted, and only on Todd's word, with the migration number taken from the chain as it stands that day. attest_recognition rides in that same migration and under that same card. It writes no deltas, but it decides whether an hour of a member's life is money or a gift, and a verb that decides that is not a smaller thing than a verb that prices one.
The Plan's seven steps map one-to-one onto the §5 kinds and the §10 verbs, each a recorded event tied to the provision that authorizes it, none authored as a date. Steps 01 through 05 complete entirely inside this module. Steps 06 and 07 are where a missing sentence belongs, and here is the proposed wording: steps 06 and 07 record in this module as linked commitment events per Law VIII, and the movement of cash they describe executes only through the treasury module that PRD v0.4 sequences after the launch capabilities, so no allocation run in this module moves money, and no distribution timing can precede the qualified income offset check that step 05 records. Until the treasury module exists, capital.distribution rows carry settlement anticipated, the honest mark for a commitment the engine holds and the bank has not yet seen. The sentence is offered to the Plan's own Section 9 as the light amendment already flagged; it changes no step, only names the seam between recording and execution.
The Plan's implementation section phased by calendar, Default Policy in the first quarter and Program policies in the second. The almanac grammar retired calendar phasing in favor of readiness conditions, and this proposal restates the same intent in that grammar. Notably, the Programs view does not wait for Q3: exploring Programs and their Opportunities is a Find capability, and it can open with Programs shown honestly as in formation before a single rate exists.
| condition | opens | waits on |
|---|---|---|
| R0 | the Programs view, page and Overview window, with affiliation live | this proposal adopted; the Find bed verified; the §15 visibility decision taken |
| R1 | Default Policy posting, overseer pen; the tally and /intranet/share/ go live | Q3 counting rules recorded; the Labor Schedule entered as instrument and event (LABOR-SCHEDULE, recoded 2026-07-24); the §10 verbs applied |
| R2 | a Program's Primitives and its member claim pen | that Program's policy adopted with its Coordinator named; per Program, not global |
| R3 | the PROPERTY posting path | the 704(c) methodology election recorded on CPA confirmation; until then PROPERTY refuses |
| R4 | the first Allocation Run | fiscal close with P&L finalized; Q4 class semantics recorded, since the patron-majority check computes against Patron Class membership |
R2 repeats per Program indefinitely; that is the polymorphism the Plan promises, a closed Primitive set under an open Program set, and nothing in this module needs to change when the next Program adopts.
Each acceptance below is a sentence a person demonstrates or a probe the suites assert, in the Verification Spec's grammar:
The almanac ledger and the build dashboard currently describe different pieces under S-01 and S-02: the ledger holds a capital account view and an allocation event, the dashboard holds contribution posting paths and a tally surface. Read against this proposal, the divergence resolves as an under-decomposition rather than a contradiction; the union is the bed. And the Programs view, being a Find capability unblocked by Q3, is offered as a Find piece rather than a Share one, with the placement itself open: if it reads better inside the Share bed as its opening piece, the entries renumber and nothing else changes.
# proposed graft · one Find piece, three Share pieces, the proof unchanged # adoption is the merge, and the merge is Todd's - address: F-04 title: The Programs view intent: Programs as organizing bodies for Opportunities; the principal page at /intranet/programs/ and the Overview primary window, per PP §8. status: open · PP adoption cites: [PP, PRD, AM, IM] ready_when: PP adopted. F-01 through F-03 verified. The §15 visibility decision recorded. deliverable: /intranet/programs/; the Overview window; the affiliation verb. acceptance: Explore every Program and its open Opportunities; trace one Affiliation to its event. - address: S-01 title: Contribution posting paths intent: The §10 verbs land; a valued Contribution posts with both deltas per Law VII. status: open · Q3 cites: [PP, IM, AM, PRD] ready_when: G0 attested. Q3 counting rules recorded. PP adopted. deliverable: 000N_patronage_verbs.sql; the Labor Schedule and Counting Rules entered as instruments. acceptance: A contribution posted by verb appears in the poster's tally, citing its policy version. - address: S-02 title: The tally surface intent: /intranet/share/ shows the balance and the itemized history with traceable inputs per Law IV. status: open · Q3 cites: [PP, IM, AM, PRD] ready_when: S-01 verified. deliverable: /intranet/share/ over capital_accounts and the member's own capital events. acceptance: Follow any figure to the events and the policy that produced it. - address: S-03 title: The allocation run intent: The Plan §7 sequence executes as recorded events, steps 01 through 05, with 06 and 07 as commitment records per PP §11. status: anticipated cites: [PP, IM, AM, PRD] ready_when: S-02 verified. Fiscal close. Q4 class semantics recorded. deliverable: The run's event trail; the patron-majority attestation under a director's hand. acceptance: Hand-computed allocation equals posted allocation, both projections. - address: G-S # unchanged in sentence; ready_when follows the graft ready_when: S-03 verified.
The first accounting year can reach G-S before a full year elapses by demonstrating S-03 on an illustrative run, provenance marked, if the proof ceremony prefers not to wait for a fiscal close; that choice belongs to the Proof Book, not to this proposal.
The Plan travels to the board with three reviewer sets, entity counsel, tax counsel or the partnership CPA, and the board itself, and those checkpoints carry forward here by reference and unaltered.1 This proposal adds the mechanism-side items that surfaced in drafting, each routed to its person:
| item | bears on | routed to |
|---|---|---|
| the visibility decision: one AM v0.2 addendum granting member read on the opportunity and agreement event namespaces plus the Coordinator's program summary, anchored in Principle 07, Art. XVI, and §18.2 sensibility; or definer functions at launch with the addendum later | §6 and §8; gates R0 | Todd, then the AM's next version |
| Programs view placement, /intranet/ per direction, with the /commons/ address family seam named | §8 | adopted unless revisited |
| F-04 versus an S-bed opening piece for the Programs view | §14 | Todd, at the graft |
| QIO structure without a DRO, per Bylaws §5.3.4 and §5.6 | the wording step 05 attests | CPA, pending confirmation |
| 704(c) methodology for PROPERTY; book-up trigger policy; parallel book and tax maintenance | when tax_delta may diverge from book_delta; R3 | tax counsel and CPA |
| Q4 class structure, patron and investor design | who holds accounts; the step 04 floor computation | board and counsel |
| the Board delegation resolution seating the steward, marked Anticipated in the deployed policy comments | every steward act §5 assigns | the board; confirm adopted or schedule |
| whether the §3 election of COUNTING-RULES v2 is admitted at all: whether the cooperative wants a way to record a contribution without valuing it, and so make the Commonplace's giving layer operable rather than aspirational | §5, §9, §10; the patronage.recognition kind exists only if it is | the board, with tax counsel |
| whether standing charges are admitted, and whether officer and director service is eligible for one | §7; whether HOURS ever posts without an Opportunity | the board |
| who confirms the steward's charge, the live instance, which cannot be sized or confirmed by its holder | §6 segregation; the first charge to be resolved | the board, naming a hand outside the office |
| the entity-book pin, the affiliation-as-event route, and the claim-then-promote pen | specification shape, §4 §5 §10 | Todd, accept or revise |
Nothing here is legal or tax advice; it is research shaped for the people who give that advice, in the standing division of labor.
This document proposes a shape and nothing more. It does not set a rate, a weight, or a unit value; those are the Plan's proposed defaults awaiting their reviewers. It does not write the Q3 resolution or presume its content beyond the fields §7 reserves for it. It does not designate a Program, name a Coordinator, or seat a steward. Version 0.4 adds mechanism for the given election and for standing charges and admits neither: no member has elected anything, no charge is in force, no confirmer has been named, and if the board declines COUNTING-RULES v2 the patronage.recognition kind is simply never written. It does not build the treasury module or move any money. It does not merge its own graft, and it does not adopt itself. It is not board-mandated and it is not closed: it is a proposal drawn concretely enough that the board, counsel, the Financial Systems Committee, and the members have something specific to question, amend, or refuse, which is the only way a shape like this should ever harden into a system.
PATRONAGE v0.4 · Program Patronage · Module PRD and Specification · specification adopted by merge 2026-07-22; policy content awaits its board acts · cites the series · yields, anticipated, 000N_patronage_verbs.sql and the §14 graft as taken · Nou drafts; Todd decides; the board adopts · RegenHub, LCA · Boulder, Colorado · 2026-07-22, amended 2026-07-27, re-cut August 2026, v0.4 against COUNTING-RULES v2 on issue #212, 2026-08-21; 2026-09-03 (X-36) §3 read "a ratified way" and now reads "an adopted way", since a Program policy is board-adopted and ratified is the members' word