Elyan Labs · Engine

The measurement layer
behind RepoAppraisal

This is the technical surface. It turns a public GitHub account into a deterministic, cryptographically committed set of facts — then scores, values and proves them. The commercial marketplace lives at repoappraisal.com.

See a portfolio the engine has already measured

107 repositories drawn as a neighbourhood — stars set each house's footprint and storeys, forks become the outbuildings other people built from the blueprint, and the transferability band becomes the fence at the front of the lot. Every element in the drawing names the committed fact it was derived from.

Walk through Scottcjn's portfolio →

Rendered from a single committed snapshot, entirely offline: no API calls, no fonts, no images. The same repository draws the identical house every time.

What the engine does

Every figure it publishes is traceable to a source API call and provable by Merkle inclusion. Nothing is asserted that cannot be checked.

Deterministic snapshots

A public account becomes a typed fact set. Each fact carries a stable identifier, its source URL and its fetch time. The same account produces the same identifiers every run.

Committed facts

Facts fold into an RFC 6962 Merkle tree over Blake2b-256, domain-separated, with a size-bound commitment. Any single fact can be verified by inclusion proof without trusting the issuer.

Scope as a contract

A snapshot declares what it will examine and either fulfils it or fails. It never publishes a root over a degraded fact set — an under-scoped root is indistinguishable from a real change in the account.

Transferability scoring

Whether an asset can actually change hands: licensing, ownership clarity, documentation, distribution, founder dependency, buildability. Reported as bands with named blockers, not a single number.

Multi-basis valuation

Reproduction, open-market, strategic, income and liquidation are answered separately. A repository can cost far more to rebuild than it would ever sell for. One blended number hides that.

Disclosed adjustments

Incentivized acquisition, related-party activity and archetype-dependent ratios are classified and reported separately — never silently blended into a headline figure.

Measured in the unit the value occurs in

Converting everything to currency destroys information. Downloads are downloads; hardware enabled is hardware enabled. Currency appears only where a transaction requires it, and is always labelled as a translation.

QuestionNative unit
What did it deliver?Downloads, unique cloners, platforms enabled
What did it consume?Engineer-hours, kWh, GPU-hours, tokens
What would it fetch?Currency — and only here
Measured and attested are kept apart. A download count is measured. An energy figure from a utility bill is attested by its holder. The two are never blended, and every fact records which it is.

The method is published

Including the defects found in it. The repository records four corrections made after publication — among them two Merkle construction flaws that would have voided the commitment entirely.

RFC 6962 · blake2b-256 · domain-separated 0x00 / 0x01
commitment = blake2b256(0x01 ‖ u64_be(leaf_count) ‖ merkle_root)

Read the method on GitHub →