FIRN

The lexicon

Stratigraphy

Reading a column layer by layer and saying which layer came from where. Applied to a share price it means separating fee income from price movement in the underlying — which are not the same thing and are usually quoted as one number.

The words

nine words, and why each one is the right one

Every product noun here is a real term from firn and ice-core science, used for the thing it actually names rather than chosen for sound. That claim is checkable, so it is printed.

WordWhat it is hereWhy that word
Corea vaultA core is the column you extract in order to read a record out of it. A Core holds one asset and the record it keeps is the share price.
Laminathe liquid ERC-20 receiptA lamina is a single depositional layer — the thinnest thing in a core that is still a unit. Deposit into a Core and you hold Laminae, ticker fn-, transferable like any other ERC-20.
Accumulationharvesting fees into the CoreAccumulation is the glaciological term for net mass added at the surface per year. It is what makes the column deeper, and it is the only thing that raises a share price honestly.
AblationredemptionAblation is mass leaving. It is the other half of the mass balance and the reason a column has a steady state at all.
Diffusionprivate executionAbove close-off the pore space is connected, so gas from many different years mixes before any of it is trapped. An order that mixes before it seals is one an observer cannot pick back out — which is a claim about a count, and /diffusion states the count.
Stratigraphyyield decompositionReading a column layer by layer and saying which layer came from where. Applied to a share price it means separating fee income from price movement in the underlying, which are not the same thing and are usually quoted as one number.
Stagnationthe emergency stopA stagnant glacier is one that has stopped flowing but has not gone anywhere. Stagnation halts Accumulation and Diffusion; it cannot halt Ablation, which is the point.
Sondereading a Core straight off the chainA sonde is the probe you lower down a borehole to log density against depth. The app reads every Core the same way — total assets, total supply and share price, from the chain, before you connect anything.
Close-offthe point a deposit stops being editableThe depth at which the pore space stops connecting to the surface and the record can no longer be changed. Everything above it is firn. It is the boundary the hero draws and the reason the site is named after a layer rather than a rock.

What is real

Part by part

A blanket disclaimer at the bottom of a page tells a reader nothing about which part to trust. Every part of this site is in one of four states and each row says which.

measured

Read off a public chain by a tool in this repository. Re-runnable by anyone, and re-run in your browser on the pages that say so.

computed

Produced by a model in this repository whose output is checked against numbers published by somebody else.

executed

Solidity in this repository, compiled and run on a real EVM by the build, with deliberately broken copies that must fail.

planned

Not built. Described so the site can be read as a whole, and labelled so it cannot be mistaken for the rest.

PartStateNote
The Core contractexecutedcontracts/Core.sol, compiled and its properties run on a real EVM by every build, then broken five ways to confirm the suite notices.
The appexecutedDeploy, approve, deposit and redeem, executed on Robinhood Chain by the build using the exact calldata the page sends.
The asset listmeasuredSymbol, name, decimals and total supply read from each token contract on Robinhood Chain, not trusted from a list.
The firn modelcomputedHerron & Langway (1980), checked against every number in the paper it can be checked against. It draws the hero and the mark.
A Core deployed by usplannedThere is no official Core, no token and no market. You deploy your own and you own it.
DiffusionplannedDescribed only. Nothing batches anything today.
BorrowplannedThere is no lending market on this chain that takes a Lamina. Described so the shape is clear.
StratigraphyplannedThe decomposition is specified; there is no live position to decompose.

The build

What the build refuses to ship

A validator only checks what somebody thought of, and several of these exist because something got through. The table is generated from tools/validate.mjs, so this page cannot name a check that does not exist.

The build fails unless…Why it exists
1every document listed in pages.mjs exists on disk
2no unfilled fact or figure placeholder survived into the HTMLA slot that renders as a dot looks like punctuation.
3every internal link resolves to a document that existscleanUrls means a typo is a 404 nobody sees until it is live.
4the palette in js/brand.js is exactly what the solver producesA hex edited in place would otherwise be blessed by the site that reads it.
5the palette in css/base.css is exactly what the solver produces
6every one of the palette's own checks passesContrast, the exact hue rotations, and separation from all eleven sibling sites.
7the firn model reproduces every number taken from the paperThe Arrhenius constants are the only quantities in the model from outside the paper; this makes them predict rather than be trusted.
8no literal colour appears outside the generated palette blocksBoth the mark and the figures paint with custom properties, so a hex is drift.
9the shipped mark is what mark.mjs computes from the modelThe logo is a rendering of the densification curve; if the model moves and the mark does not, it has become a drawing of one.
10no canonical, og:image or twitter:card while brand.hostRegistered is falseA canonical pointing at a name that does not resolve kills the link card for every unfurler while the browser looks fine.
11no twitter:site tag without a handle in brand.jsA sibling shipped a plausible handle nobody owned and credited its cards to a stranger.
12every contract property held and every sabotage behaved as declaredA sabotage that passes is a hole in the suite, not a working contract.
15reveal-on-scroll is scoped to .js and the class is set before any stylesheetUnscoped, the rule hides the entire document from anyone without JavaScript.
18every word in the lexicon appears on /stratigraphy with its justificationThe site claims each product noun is a real term used for the thing it names. That claim is checkable, so it is checked.
19no page asserts a deploymentNothing is deployed. A sibling had a hero saying "v1 live" two screens from a page saying nothing was.
24the site names exactly one chainThe hero said "Built on Robinhood Chain" while eleven of thirteen pages talked about Base — a whole half of the site left pointing at the chain it used to be built for. Nothing static caught it because every individual page was internally consistent.
23the app's own calldata executed on chainThe contract suite proves Core.sol; it says nothing about whether the page encodes the right bytes. A wrong constructor argument or a wrong approve spender reverts nothing and breaks everything.
22the modelled site is defined exactly onceIt was defined twice — in the hero and in the mark — which is a constant with two values waiting to happen. The logo would have gone on drawing a column the figures no longer drew, silently.
21no page states a count that the build computes differentlyA page said one count of the numbers checked against the paper and the model carried another. The prose is wrong before the code is, and only a machine notices.
20every check in this catalogue actually ranThe failure mode that hides: a check that silently stops executing looks exactly like a check that passes.
20 checks, imported from tools/validate.mjs so this table cannot name one that does not exist.