Read the constitution once with a model. Enforce it forever without one.
Each group uploads its own written constitution. A model reads it a single time and extracts the rules (contribution amounts, due dates, penalty schedules, payout order) into structured data. From then on enforcement is ordinary TypeScript running against those rules, with no model in the loop. The cost per transaction goes to effectively zero and, more importantly, enforcement becomes deterministic: the same input produces the same penalty every time, which is the only version a group will trust.