Patrick Mockridge

Engineering records on Rholo

R-Gen

R-Gen records engineering work as a claim, the reviewer’s validation, and the approved K-Asset on chain.

CoEngineers is Dan Robles’ initiative around the Ingenesist Project: a published body of work on how engineering value should be measured, validated, and turned into an asset. I invested in 2017 and have stayed involved because there is no other published suite or coherent body of thought on this problem. R-Gen is the continuation: the on-chain primitives an engineering business needs to record its work and its sign-off.

What
An engineering business runs on work orders, sign-offs, credentials, and disputes. R-Gen puts that sequence on chain. A claim records the work: what was done, the standard it is judged against, the quantity, and the deadline. A validation records a credentialed reviewer’s judgement that the work meets the claim, with the evidence. A K-Asset is the approved pair: the work, its reviewer, the credential, the dispute history, and the provenance kept together.
Why
Those records usually sit in project files, emails, and individual reviewers’ files. The work cannot prove who checked it, against which version, or what happened when it was disputed. A blockchain can hold the record as shared state, so the work carries its own certified history. R-Gen provides the primitives for that integration. It does not price the work, pay it, or score it.
The combination
Three primitives — claim, validation, and K-Asset — plus the credentials, adjudication, and provenance around them. Seven contracts. Pricing, payments, risk, panels, governance, and the client are extensions.

What R-Gen does

An engineering firm does work, a qualified reviewer checks it, and the approval becomes part of the record. R-Gen models that sequence on chain.

A claim is the work. It records what was done, the definition and standard it is judged against, the quantity, the deadline, and any comments or value-proposition reference.

A validation is the reviewer’s judgement. It records quality, the evidence, and the credential that made the reviewer qualified to sign.

A K-Asset is the approved pair. It keeps the claim, the validation, the credential, the adjudication, and the provenance together as one asset.

That is the point: the engineering business can put its work, sign-off, and dispute record on chain, and the asset carries that history. The core does not price the work, pay it, or score it; those are extensions.

Why CoEngineers

The model comes from Dan Robles’ CoEngineers and Ingenesist Project. The papers start with a problem: the value of engineering is invisible because almost nothing records the judgement about the work.

The papers are the only published suite that sets out this model end to end. There is no other coherent body of thought on how engineering work should be accounted for on a shared ledger. That is why I invested in CoEngineers in 2017 and why I have stayed with it.

A load calculation shows the problem. The calculation is the claim; a second engineer checks the assumptions and signs it; their credential makes the signature count. Today the calculation, the check, and the fee sit in different systems, so the record cannot say who checked it, against which version, or what happened in a dispute.

Each primitive is traceable to a paper quote and page, a Rholang implementation, a Lean theorem, and a suite or corpus row. The matrix is docs/src/reference/paper-to-code.md. The papers are third-party copyrighted reference material; the contracts, model, and book are original work.

The core

Seven contracts cover the flow: root, identity, credentials, claim, value proposition, oracle, provenance. The claim holds the work, criteria, quantity and definition, comments, and value-proposition reference; validation creates the K-Asset; the oracle holds one credentialed adjudicator and executes through the subject’s private applyDecision capability.

Pareto here is a removal test: take a primitive out; if the rest can still express a claim, a validation, and a K-Asset, it was an extension, not core. That leaves seven contracts, with no cycles. The core mints and transfers nothing and has no R-Cash dependency. Pricing, payments, risk scoring, panels, governance, handles, metrics, and the client consume the core’s facts; the core does not call them.

Concurrency and proof

A linear cell is state that a contract consumes, checks, and puts back exactly once. A second operation sees the new state and refuses, so two operations cannot both read the same state and both commit. Independent entities do not share a mutable cell. Identity creation and credential issuance are the only serialization points. Oracle cases receive the subject’s private applyDecision capability, so a decision cannot be applied to another K-Asset.

The Lean model proves the general result: no two events on one cell in any run expect the same version, and every arm’s decision comes from the cell it consumed. The proof is over the model, not the deployed Rholang.

A 32-pair matrix records the outcome for every pair of arms. Nineteen pairs are exclusive: whichever runs first, the second refuses. Twelve are ordered: one direction refuses, the other is the legal serialized order. One is independent. Every pair names the theorem that covers it, and a check script verifies the mapping.

Table 1. The 32 arm pairs, by race class.Nineteen pairs exclude each other, twelve have one legal order, and one does not interact.
Table 1. The 32 arm pairs, by race class.
Race classMeaningPairs
ExclusiveWhichever arm runs first, the second refuses on the post-state.19
OrderedOne direction refuses; the other is the serialized, non-retroactive order.12
IndependentThe arms touch different cells and do not interact.1

Every pair names a Lean theorem in spec/flows/races.yaml; tools/check_race_matrix.py checks the class vocabulary and declaration existence.

Evidence

On 4 November 2026, against Rholo node e2d073d, the seven-contract core installed on a fresh isolated devnet. Ten behavioural suites passed, from identity and credentials through claim, K-Asset, value, oracle, provenance, integration, a core vertical slice, and the race regression, with 291 passing assertions.

The Lean project builds 36 files without Mathlib. The audit covers 131 public theorems and reports only propext and Quot.sound; there is no sorry, admit, native_decide, or declared axiom. The flow manifest maps 66 arms: 35 proved-model, 0 proved-conformance, 31 owed. Proved-model means the theorem is about the model. Proved-conformance would tie a deployed arm to an emitted row and a passing suite; none is claimed. The model emits 21 corpus rows. The adversarial review records four P0 defects in the legacy 12-term prototype and their removal.

R-Gen evidence
MeasureValueSource
Core7 contracts; 16 components; 10 state cells; acyclicVerification record
Behavioural suites10/10; 291 ok assertions; Rholo e2d073d; 4 November 2026Verification record
Lean 4 build36 files; no Mathlib; no sorry, admit, native_decide, or declared axiomFormal model
Theorem audit131 public theorems; propext and Quot.sound onlyFormal model
Race matrix32 pairs: 19 exclusive, 12 ordered, 1 independentRace-freedom proof
Arm map66 arms: 35 proved-model, 0 proved-conformance, 31 owedFormal model
Conformance corpus21 emitted rows; 35 mutating arms tied to a consumed cellVerification record
Adversarial review4 P0 defects removed from the legacy 12-term prototypeAdversarial review

Sources: verification record, formal model, race matrix, and adversarial review, as of 4 November 2026. Counts drift; the linked artifact is authoritative. The suites are behavioural evidence; the race results are model theorems.

Limits

  • Maturity. Devnet-only, unaudited; no real value. There is no token sale, pricing, transfer, or token minting in the core.
  • Extensions. Receipts, pricing, R-Cash payments, risk scoring, panels, governance, handles, metrics, and the web client are not implemented in this tree, and their suites are not implemented.
  • Proof boundary. Lean proves the model, not a mechanized Rholang refinement. The arm map is hand-transcribed; proved-conformance is zero and 31 arms are owed.
  • Concurrency. The claim is one writer per entity and no shared mutable cell across independent entities. Identity creation and credential issuance serialize deliberately.
  • Oracle. Selection is deterministic and named by the parties; it is not a random beacon.
  • Attribution. The seven bundled papers are third-party copyrighted works, not AGPL. The repository is AGPL-3.0-only.
  • Scope. The core records approval and decision facts. It does not price, pay, score risk, run panels, or administer governance.