solomon
solomon, specimen 001

repair

what counts as a burn

A transfer to the incinerator or a burn instruction counts as a burn. Its value adds to burn credit after balances update. Mint transfers with no sender only update balances.

The reader runs the decoder when enough credit is available. It fixes the lowest-index damaged symbol from the corrected word. The same ordered transactions always choose the same symbol.

Each cost unit equals total supply divided by 1,000. Credit may fund several repairs during one burn event. Credit below one cost unit remains for later.

repair reading: —

how credit works

Each repair changes one damaged symbol. A burn event can repeat that step while credit remains and the decoder finds damage. The repair log records each completed step.

Credit waits while the word is clean because the decoder reports no damaged positions. It carries into later events. The replay spends it only on completed repairs.

A full 16-symbol repair costs sixteen times the per-symbol cost. That equals 1.6 percent of total supply under the stated rule. The bar figure compares available credit with current clearing cost.

repair reading: —

which symbol is fixed

Burn credit comes only from transfers to the incinerator or a burn instruction. No reserve or sweep exists. The flow figure separates ordinary damage from the burn path.

When credit is too small, it remains available but no symbol changes. A later burn can raise it above the cost. Repair then resumes if the word is damaged and unsealed.

After every event the reader checks decoding and the fixed message hash. A failed decode or different message seals the replay permanently. Later burns cannot change the word.

repair reading: —

when it stops

Credit remains when it cannot buy another symbol repair. It also waits while the word is clean. A later damaged symbol can consume that carried credit.

Each repair chooses the lowest damaged symbol reported by the decoder. This produces a single replay order. The log records its slot, symbol, burner, and burn amount.

Nothing repairs a sealed word. Further burns still appear in balances and credit. The message remains unrecoverable under the reader rules.

repair reading: —

damage and repair pathstransferflipwordburncreditfix
fig. 12 Ordinary transfers flip bits while burns add credit and fix symbols.
symbols fixed per burn0123401234fills from the token log once the address is set
fig. 13 Each bar counts repairs completed during one burn event.
credit and current clearing cost0123401234fills from the token log once the address is set
fig. 14 Available burn credit is compared with the cost of current errors.
repair log
slotsymbolburneramount
————
1for (const tx of transactions) { // sorted by (slot, order)
2 let net = 0n;
3 for (const d of tx.deltas) { balances[d.owner] += d.amount; net += d.amount; }
4 const burned = (net < 0n ? -net : 0n) + sentTo(tx, INCINERATOR);
5 if (burned > 0n) {
6 st.credit += burned;
7 while (!st.sealed && st.credit >= COST_PER_SYMBOL) {
8 const d = decode(st.cw);
9 if (!d.ok || d.positions.length === 0) break;
10 const p = Math.min(...d.positions);
11 st.cw[p] = d.corrected[p];
12 st.credit -= COST_PER_SYMBOL;
13 st.repairs += 1;
14 st.repairLog.push({ slot: tx.slot, symbol: p, burner: sender(tx), amount: burned });
15 }
16 } else if (net === 0n) {
17 const bit = await bitFor(tx.signature);
18 st.cw[bit >> 3] ^= 1 << (bit & 7);
19 st.flips += 1;
20 st.hits[bit >> 3] += 1;
21 st.recent.push(bit);
22 }
23 const d = decode(st.cw);
24 if (!d.ok || sha256(d.message) !== GENESIS_HASH) st.sealed = true;
25 st.errors = d.ok ? d.positions.length : 17;
26 st.worst = Math.max(st.worst, st.errors);
27}
from the site source
terms
creditunspent burned token value
costtotal supply divided by 1,000
burnerthe sending address
symbolthe repaired byte position
carrycredit retained for later
sealedunable to receive repairs