Worth is derived — anchors, not prices
The content tree — the contract for the
data/ tree.
No number in this tree is a market price. Runtime worth is MARKET STATE — venue prices move with supply, demand, and distance; the arbitrage of it exists because they do. What the data actually carries:
- THE ANCHOR IS DERIVED, and no file states it. One formula for every good the data can make, raw or crafted:
worth = Σ(input worths × qty) ÷
yield+labour_rate(tier)÷rate
rate is units per WORKED HOUR, so 1/rate is the hours one unit
takes — at the face and at the bench alike. A recipe with no inputs
(a raw extraction) reduces to the labour alone. A Class
input resolves to its cheapest member; yield divides the
MATERIALS only (1 for a single-unit craft, 20 for an ammo
batch); a good with two recipes costs the CHEAPER; and a good the data
wins only as another row’s STRIKE (mithral ore) costs the
host row’s labour ÷ its odds. hours prices nothing — it is
‘s batch commit window.
- The labour rate is the numeraire —
data::labor_rate_cp,1 + prof_bonus/2→ Apprentice 1, Journeyman 2, Master 3 cp/hour (tied to the SRD proficiency bonus). Those three scalars are now the ONLY free numbers in the price system. The closure it buys is locked over the corpus: an hour on any recipe row pays exactly its tier’s rate. (Material and quality factors still multiply at CRAFT time, on the constructed identity; the anchor is the mundane-iron, Normal-quality base.) - NO FILE STATES A PRICE, and every good must be MAKEABLE
( §5). There is no
declared_value_cpand no SRDcost_cpany more: a good — and an arm — is worth what its recipe costs to run, and a second stored number describing the same quantity would be a quieter authority over it. So a good the data cannot make would be worth NOTHING, and the loader REFUSES it rather than pricing it at zero: give it a recipe, or a bench that wins it as a strike. That refusal binds mods too. (acquisition:survives as narration — a mod may still say where a thing comes from — but it no longer buys an exemption from the maker rule, and the shipped corpus carries none.) wage_hoursis the same doctrine for people — a seed the engine modulates through tier wages, council pay decisions, and poaching. Nothing pays the file’s number forever. It states HOURS, not coin ( §6): a post’s pay is a share of the day, priced at the journeyman labour rate when it is read, so it follows the rate instead of standing where an old price level left it.