From 475623e9f259bd34041c2a6d9cd6242d7f2b9eda Mon Sep 17 00:00:00 2001 From: grabowski Date: Fri, 16 Oct 2026 11:17:06 +0700 Subject: [PATCH] Archive the father as well as the mother; how many represses a mother carries Decided (October 2026): the plant keeps the father and the mother of every side. production-timeline.md (repress section) records the decision and the rule of thumb with sources: about 10 stamper sets per mother before it degrades (Third Man Pressing FAQ, a Nashville plater via WPLN), fewer in quality-minded sources (5 VinyLab, 6 to 8 Stereo Review 1962); a father grows about 5 to 10 mothers. So a mother covers roughly ten represses (10,000 to 20,000 records a side) and a worn one is replaced from the archived father without a new cut. galvanics.md: 4 archived parts per title, ~1,200 to 2,400 a year; new open question to all galvanics candidates (sets per mother, mothers per father, storage). artist-platform.md repress paragraph. Demos: make-a-record and artist-order say father and mother are archived; factory console archives the father on represses too, counts stamper sets per mother (shown in the genealogy and the customer's metal card), and the metal archive counts fathers and mothers. --- docs/artist-order.html | 2 +- docs/artist-platform.md | 4 +++- docs/equipment/galvanics.md | 15 +++++++++++++++ docs/factory-console.html | 18 ++++++++++-------- docs/make-a-record.html | 10 +++++----- docs/production-timeline.md | 30 +++++++++++++++++++++++------- 6 files changed, 57 insertions(+), 22 deletions(-) diff --git a/docs/artist-order.html b/docs/artist-order.html index c59db33..9b9614e 100644 --- a/docs/artist-order.html +++ b/docs/artist-order.html @@ -399,7 +399,7 @@ const UPD={ mast:"Mastered for vinyl; the artist is listening to the master.", g2:"The artist approved the vinyl master.", cut:"Cut to lacquer in the cutting room.", - plate:"Plated in-house: father, mother and stampers. The mother is archived for represses.", + plate:"Plated in-house: father, mother and stampers. Father and mother are archived for represses.", prep:"Stampers punched, back-finished and checked.", tp:"First test pressings made and sent to the artist.", g3:"The artist approved the test pressing.", diff --git a/docs/artist-platform.md b/docs/artist-platform.md index dd11b35..49abd00 100644 --- a/docs/artist-platform.md +++ b/docs/artist-platform.md @@ -367,7 +367,9 @@ vault for a second attempt. ### After the first run: repress on demand -Once a title exists, its mother sits in the archive and a repress takes +Once a title exists, its father and mother sit in the archive (a mother +gives about ten stamper sets, and a worn one is replaced from the father +without a new cut) and a repress takes **1.5 to 2.5 weeks** of plant time ([production timeline](production-timeline.md)). The campaign page can reopen as "pre-order the repress, pressed when 100 more are in", which diff --git a/docs/equipment/galvanics.md b/docs/equipment/galvanics.md index c7326b9..83b5c8d 100644 --- a/docs/equipment/galvanics.md +++ b/docs/equipment/galvanics.md @@ -306,6 +306,16 @@ The count, from this repo's own demand figures: (at 1,000 to 2,000 pressings per stamper): 8 to 10 electroformed parts per title, **~2,400 to 6,000 parts a year**, 8 to 20 per working day at 300 days, before remakes. +- The father and the mother of every side go into the archive (decided + October 2026): 4 parts per title, **~1,200 to 2,400 parts a year** at 300 + to 600 titles. A mother carries about 10 stamper sets and a father about + 5 to 10 mothers by the industry rule of thumb (sources and the repress + arithmetic in the + [production timeline](../production-timeline.md#repress-the-shortest-path-in-the-plant)), + so a repress normally grows stampers from the archived mother, and a + worn mother is replaced from the father without a new cut. The room + that holds them is planned in + [facility security](../facility-security.md#protecting-the-irreplaceable). - With ~15 minutes of loading, rinsing and unloading on top of 45 to 75 minutes of deposition, a cell turns a part in ~1 to 1.5 hours: 10 to 16 parts per cell per two-shift day, **20 to 32 per PDPU**. @@ -482,6 +492,11 @@ goes ahead. equipment on offer; installations and service in Asia; stamper service prices and turnaround; which water-treatment partner his customers use; and whether OMS builds the electroplating equipment Newbilt announces. +- **All galvanics candidates** (Pheenix, Digital Matrix, OMS): how many + stamper sets a mother gives and how many mothers a father gives with + their process before quality drops, how they check it (mother playback, + metrology), and how they recommend storing archived fathers and mothers + (passivation, sleeves, humidity) for years. - **Press vendors** (Newbilt, Pheenix, M-Tech): the stamper centre hole and edge form each mould expects, so the punch size and coiner tooling can be ordered to match ([pressing line](pressing-line.md)). diff --git a/docs/factory-console.html b/docs/factory-console.html index ef3a375..ac5e291 100644 --- a/docs/factory-console.html +++ b/docs/factory-console.html @@ -529,10 +529,12 @@ const H={ intake(o){const lim=LIM[o.size][o.rpm];o.files={lim,len:SIDES.map(()=>lim*U(0.62,0.96)),sr:pick([44.1,48,96]),bits:24,peak:-U(0.3,1.4),fmt:pick(["WAV","FLAC","AIFF"])};}, cut(o,t){o.lac=SIDES.map(s=>({id:"L-"+code(++S.seq.p),side:s,w:U(48,62),dep:U(26,31),scribe:o.catno+" "+s,stylus:"Stylus "+RI(11,19)}));log(t,"metal",`${o.id}: lacquers ${o.lac.map(l=>l.id).join(", ")} on Lathe 1`,"Cutting room",o.id);}, plate(o,t){ - if(o.repress){o.fa=null;o.mo=SIDES.map(s=>({id:"M-"+code(o.n*31+s.charCodeAt(0)),side:s,thick:U(246,256),listen:"pass",made:t-U(90,400)*DAY,arch:true}));} + if(o.repress){o.fa=SIDES.map(s=>({id:"F-"+code(o.n*29+s.charCodeAt(0)),side:s,arch:true}));o.mo=SIDES.map(s=>({id:"M-"+code(o.n*31+s.charCodeAt(0)),side:s,thick:U(246,256),listen:"pass",made:t-U(90,400)*DAY,arch:true}));} else{o.fa=SIDES.map(s=>({id:"F-"+code(++S.seq.p),side:s,thick:U(246,256)}));o.mo=SIDES.map(s=>({id:"M-"+code(++S.seq.p),side:s,thick:U(246,256),listen:"pass",made:t+1.2*DAY}));} o.cell="PDPU 1, cell "+RI(1,2); o.sets=[];const n=Math.max(1,Math.ceil(o.qty*1.08/1000));for(let k=1;k<=n;k++)o.sets.push(mkSet(o,k)); + /* stamper sets grown from this mother so far: about 10 is the industry rule of thumb before a new mother is grown from the archived father */ + o.moUse=(o.repress?RI(1,6):0)+n; }, prep(o,t){for(const s of o.sets)measure(s);log(t,"metal",`${o.id}: ${o.sets.length*2} stampers punched, back-finished, measured`,"Stamper prep",o.id);}, tp(o){o.tp={n:10,you:5,sides:SIDES.map(s=>({side:s,score:U(97.8,99.5),clicks:RI(0,1),noise:-U(61,66)}))};}, @@ -640,7 +642,7 @@ function cycle(p,now){ if(o.good>=o.qty){finishRun(p,now);return;} if(set.plays>=set.life){ set.state="retired";set.retired=now;o.setIdx++; - if(!o.sets[o.setIdx]){const ns=mkSet(o,o.sets.length+1);measure(ns);o.sets.push(ns);log(now,"metal",`${o.id}: extra stamper set ${ns.n} grown from the archived mothers`,"Galvanics",o.id);} + if(!o.sets[o.setIdx]){const ns=mkSet(o,o.sets.length+1);measure(ns);o.sets.push(ns);o.moUse=(o.moUse||0)+1;log(now,"metal",`${o.id}: extra stamper set ${ns.n} grown from the archived mothers`,"Galvanics",o.id);} mount(p,o,now);p.st="change";p.why="Stamper change to set "+(o.setIdx+1);p.until=now+20*MIN;p.next=p.until;p.since=0; log(now,"press",`${p.id}: stamper set ${set.n} retired after ${fI(set.plays)} plays`,p.op||"Operator",o.id);return; } @@ -915,7 +917,7 @@ function orderBlocks(o){ const spec=`
Format
${esc(fmtL(o))}
Copies
${fI(o.qty)}
Run-out
${esc(o.catno)} A / ${esc(o.catno)} B
Labels
Printed${o.labelLot?", lot "+o.labelLot+", print-inspected, oven pre-dried":""}
Packing
Inner sleeve, printed jacket${o.shrink?", shrink wrap":""}
Ordered
${fDT(o.created)}
${o.repress?"
Repress
From the archived mothers, no new cut
":""}
`; const gates=[1,2,3].filter(g=>!o.repress&&(g!==2||o.mastering)).map(g=>{const a=o.gates[g];const waiting=st.gate===g;return `
Gate ${g}
${a?`✓ ${GATE_T[g]}, ${fDT(a.t)}, ${esc(a.by)}`:waiting?`waiting ${dur(S.t-o.ss)} for the ${GATE_T[g]}`:`${GATE_T[g]}`}
`;}).join(""); let metal=""; - if(o.lac||o.mo){metal=`
${o.lac?`${o.lac[0].id}→`:""}${o.fa?`${o.fa[0].id}→`:""}${o.mo?`${o.mo[0].id}${o.mo[0].arch?" (archive)":""}→`:""}${o.sets.length} stamper set${o.sets.length>1?"s":""}

Side A shown; side B has its own chain. ${o.lac?`Lacquers under the microscope: groove ${Math.round(o.lac[0].w)} µm wide, ${Math.round(o.lac[0].dep)} µm deep; scribed ${esc(o.lac[0].scribe)}, fiducial applied.`:"Repress: grown from the archived mothers."} ${o.mo?"Mothers listened to: pass.":""}

${stamperTable(o)}`;} + if(o.lac||o.mo){metal=`
${o.lac?`${o.lac[0].id}→`:""}${o.fa?`${o.fa[0].id} (archive)→`:""}${o.mo?`${o.mo[0].id} (archive, ${o.moUse||1} of about 10 sets)→`:""}${o.sets.length} stamper set${o.sets.length>1?"s":""}

Side A shown; side B has its own chain. ${o.lac?`Lacquers under the microscope: groove ${Math.round(o.lac[0].w)} µm wide, ${Math.round(o.lac[0].dep)} µm deep; scribed ${esc(o.lac[0].scribe)}, fiducial applied.`:"Repress: grown from the archived mothers."} ${o.mo?"Mothers listened to: pass.":""}

${stamperTable(o)}`;} const lots=o.lots.map(id=>S.lots.find(L=>L.id===id)).filter(Boolean); const comp=lots.length?lots.map(L=>`

${L.id} ${esc(MAT[L.mat])}, ${esc(SUP[L.sup])}${L.mat==="black"?". Mixed 80 % virgin / 20 % in-house regrind at the extruder":""}.

${lotRow(L).map(([k,v,l,ok])=>``).join("")}
${k}${v}${l}${lim(ok)}
`).join(""):'

Assigned when the press run starts.

'; const A=o.ta; @@ -986,12 +988,12 @@ PAGES.metal={ blocks(){ const plating=S.orders.filter(o=>o.si===SI.plate||o.si===SI.prep||o.si===SI.cut).sort((a,b)=>a.si-b.si||a.ss-b.ss); const rec=S.orders.filter(o=>o.si>SI.prep&&o.sets.length&&o.sets[0].st[0].res).sort((a,b)=>(b.hist.find(h=>h.id==="prep")||{a:0}).a-(a.hist.find(h=>h.id==="prep")||{a:0}).a).slice(0,3); - const mothers=S.orders.reduce((a,o)=>a+(o.mo&&!o.repress?o.mo.length:0),0); + const mothers=S.orders.reduce((a,o)=>a+(o.mo&&!o.repress?o.mo.length+(o.fa?o.fa.length:0):0),0); return { mB:plating.length?plating.map(o=>`
${o.id} ${esc(o.title)}${chip(o)}
${esc(subStep(o))}${o.cell&&o.si===SI.plate?" · "+o.cell:""}${bar(prog(o),"metal")}
`).join(""):'

Nothing in progress.

', mM:S.presses.map(p=>`
${p.id} ${p.set?p.set.st.map(s=>s.id).join(" / "):""}${p.set?fI(p.set.plays)+" / "+fI(p.set.life):PST[p.st]}
${bar(p.set?p.set.plays/p.set.life:0,p.set&&p.set.plays/p.set.life>0.9?"warn":"metal")}
`).join(""), mR:rec.length?rec.map(o=>`

${o.id} ${esc(o.title)} ${o.repress?"repress from the archive":""}

${stamperTable(o)}`).join(""):'

No stampers measured yet.

', - mA:`
${fI(mothers)}mothers archived, orders on file
${fI(cnt(o=>o.repress))}represses in the pipeline
${fI(S.orders.reduce((a,o)=>a+o.sets.filter(s=>s.state==="rack").length,0))}stamper sets in the rack

A repress skips cutting and the father: new stampers grow from the archived mother, which is the cost and lead-time advantage of plating in-house.

` + mA:`
${fI(mothers)}fathers and mothers archived, orders on file
${fI(cnt(o=>o.repress))}represses in the pipeline
${fI(S.orders.reduce((a,o)=>a+o.sets.filter(s=>s.state==="rack").length,0))}stamper sets in the rack

A repress skips cutting and the father: new stampers grow from the archived mother, about 10 sets per mother by the industry rule of thumb. A worn mother is replaced by growing a new one from the archived father, still without a new cut. That is the cost and lead-time advantage of plating in-house.

` }; } }; @@ -1145,7 +1147,7 @@ function cStatus(o){ return `
${head}
${fI(o.good)} of ${fI(o.qty)} pressed
${bar(o.good/o.qty,"acc")}

${esc(sub)}

Estimated delivery ${fDW(e.t)}

`; } if(STAGES[o.si].gate)return `
Waiting for you
Approve the ${GATE_T[STAGES[o.si].gate]}

Nothing goes ahead without your approval. Waiting since ${fDW(o.ss)}.

`; - if(st==="done")return `
Delivered
${fDW(o.ss)}

${fI(o.good)} copies, every one inspected. Your mothers stay in our archive, so a repress skips cutting and plating the father.

`; + if(st==="done")return `
Delivered
${fDW(o.ss)}

${fI(o.good)} copies, every one inspected. Your fathers and mothers stay in our archive: a repress grows new stampers from the mother (about ten sets per mother), and a worn mother is replaced from the father, so there is no new cut.

`; if(st==="queue")return `
Pressing slot booked
Starts about ${fDT(e.start)}

Planned on press ${e.press}${pById(e.press).kind==="duplex"?", a Newbilt Duplex":", the Newbilt Classic"}.

Your stampers are measured and in the rack. Estimated delivery ${fDW(e.t)}.

`; if(st==="ship"||st==="fin")return `
${st==="ship"?"On the way":"Packing"}
Arrives about ${fDW(e.t)}

${st==="ship"?`${o.ship.carrier}, ${o.ship.boxes} cartons, tracking ${o.ship.trk} (simulated).`:`Every copy is scanned into its jacket: the run-out code against the jacket barcode.`}

`; const f=prog(o)||0; @@ -1164,8 +1166,8 @@ function cQual(o){ if(o.files&&(done("intake")||o.si>0))out.push(card("Your files","checked",`${o.files.fmt}, ${o.files.bits}-bit / ${o.files.sr} kHz, checksums verified at both ends.`,`${o.files.len.map((m,i)=>``).join("")}
Side ${SIDES[i]}${Math.floor(Math.round(m*60)/60)}:${pad(Math.round(m*60)%60)}at most ${o.files.lim} min${lim(true)}
True peak${f1(o.files.peak)} dBTP${lim(true)}
`)); if(o.lac&&done("cut"))out.push(card("Your lacquers","inspected",`Cut on Lathe 1 and checked under the microscope. Your run-out text is scribed by hand next to the run-out groove.`,`${o.lac.map(l=>``).join("")}
LacquerGroove widthDepthRun-out
${l.id}${Math.round(l.w)} µm${Math.round(l.dep)} µm${esc(l.scribe)}
`)); if(o.mo&&(done("plate")||o.si===SI.plate)){const inb=o.si===SI.plate; - out.push(card("Your metal parts",done("prep")?"measured":"",inb?`In the bath now: ${esc(subStep(o).toLowerCase())}. `+(o.repress?"":"From your lacquer we grow a father, from the father a mother, and from the mother the stampers."):`From your lacquer${o.repress?" (first pressing)":""} we grew a father, a mother and ${o.sets.length*2} stampers. The mother stays in our archive for represses.`, - `
${o.lac?`${o.lac[0].id}→`:""}${o.fa?`${o.fa[0].id}→`:""}${o.mo[0].id}→${o.sets[0].st[0].id}${o.sets.length>1?" +"+(o.sets.length-1):""}
${inb?bar(prog(o),"metal"):""}${done("prep")?stamperTable(o):""}`,done("prep")));} + out.push(card("Your metal parts",done("prep")?"measured":"",inb?`In the bath now: ${esc(subStep(o).toLowerCase())}. `+(o.repress?"":"From your lacquer we grow a father, from the father a mother, and from the mother the stampers."):`From your lacquer${o.repress?" (first pressing)":""} we grew a father, a mother and ${o.sets.length*2} stampers. The father and mother stay in our archive for represses.`, + `
${o.lac?`${o.lac[0].id}→`:""}${o.fa?`${o.fa[0].id}→`:""}${o.mo[0].id}→${o.sets[0].st[0].id}${o.sets.length>1?" +"+(o.sets.length-1):""}

Your mother has given ${o.moUse||1} of about 10 stamper sets; after that a fresh mother is grown from your archived father.

${inb?bar(prog(o),"metal"):""}${done("prep")?stamperTable(o):""}`,done("prep")));} if(o.tp&&done("tp"))out.push(card("Test pressings","checked",`${o.tp.n} pressed, ${o.tp.you} sent to you. Optical inspection passed on both sides; audio compared with your master:`,`${o.tp.sides.map(s=>``).join("")}
Side ${s.side}${f1(s.score)} % match${s.clicks} clicks${Math.round(s.noise)} dB
${o.gates[3]?`

You approved it ${fDW(o.gates[3].t)}.

`:""}`)); const lots=o.lots.map(id=>S.lots.find(L=>L.id===id)).filter(Boolean); for(const L of lots)out.push(card("Your vinyl compound","lab released",`Lot ${L.id}, ${esc(MAT[L.mat].toLowerCase())}. Tested in our lab before release, then released by a test pressing.`,`${lotRow(L).map(([k,v,l,ok])=>``).join("")}
${k}${v}${l}${lim(ok)}
`)); diff --git a/docs/make-a-record.html b/docs/make-a-record.html index e4d2182..e774074 100644 --- a/docs/make-a-record.html +++ b/docs/make-a-record.html @@ -515,7 +515,7 @@ document.documentElement.setAttribute("data-theme",t);})();
Test pressings for you
5
-

You hear and approve a real pressing before the run. The mother plate is archived, so a repress later skips cutting and plating.

+

You hear and approve a real pressing before the run. The father and mother are archived, so a repress later skips cutting.

@@ -691,7 +691,7 @@ const UPD={ mast:"Mastered for vinyl. The artist is listening to the master.", g2:"The artist approved the vinyl master.", cut:"Cut to lacquer in the cutting room.", - plate:"Plated in-house: father, mother and stampers. The mother is archived for represses.", + plate:"Plated in-house: father, mother and stampers. Father and mother are archived for represses.", prep:"Stampers punched, back-finished and measured.", tp:"First test pressings made and sent to the artist.", g3:"The artist approved the test pressing.", @@ -1014,7 +1014,7 @@ function syncControls(){ $$("#fClean button").forEach(x=>{x.disabled=blk;x.title=blk?"Black vinyl needs no cleaning":"";});$("#fClean").classList.toggle("off",blk); $("#cleanHint").textContent=blk?"Only for colour vinyl.":S.cleaning?"The press is purged before your run, so no trace of the previous colour gets in. Light colours can still show the odd speck.":"Saves the purge, but some records can carry streaks of the previous colour."; const lq=S.source==="lacquer";$$(".choice[data-k=mastering]").forEach(x=>{x.disabled=lq;x.title=lq?"Your lacquer is already cut and mastered":"";if(lq){x.classList.remove("on");x.setAttribute("aria-pressed","false");}}); - $("#srcHint").textContent=lq?"Your lacquer goes straight to plating. You still hear and approve a test pressing, and the mother is archived for represses.":S.source==="tape"?"Your tape is transferred in-house, then cut. You hear and approve a real pressing before the run.":"You hear and approve a real pressing before the run. The mother plate is archived, so a repress later skips cutting and plating."; + $("#srcHint").textContent=lq?"Your lacquer goes straight to plating. You still hear and approve a test pressing, and the father and mother are archived for represses.":S.source==="tape"?"Your tape is transferred in-house, then cut. You hear and approve a real pressing before the run.":"You hear and approve a real pressing before the run. The father and mother are archived, so a repress later skips cutting."; const dl=$("#dropLabel"),offL=S.labels!=="printed";dl.classList.toggle("off",offL);$("#fileLabel").disabled=offL;dl.title=offL?"Plain labels have no print":""; const dj=$("#dropJacket"),offJ=!jacketArt();dj.classList.toggle("off",offJ);$("#fileJacket").disabled=offJ;dj.title=offJ?(S.jacket==="none"?"You supply your own jacket":"A plain jacket has no print"):""; $$(".qchips .chip").forEach(c=>c.classList.toggle("on",+c.dataset.q===S.qty)); @@ -1218,7 +1218,7 @@ function passportHTML(){ if(by("g2"))it.push(["Mastered for vinyl","Master approved by the artist",by("g2").date]); if(by("cut"))it.push(["Cut to lacquer","Lacquer "+lac+(S.catno?", \u201C"+S.catno+" A\u201D":", serial")+" scribed in the run-out",by("cut").date]); else it.push(["Lacquer received","Cut by the artist's studio, inspected under the microscope on arrival",P.start]); - it.push(["Plated in-house","Father "+fa+" → mother "+mo+" (archived for represses) → stamper "+st,by("plate").date]); + it.push(["Plated in-house","Father "+fa+" → mother "+mo+" (both archived for represses) → stamper "+st,by("plate").date]); it.push(["Test pressing approved","Heard and approved by the artist",by("g3").date]); it.push(["Pressed","Press D1-B (Newbilt Duplex) at "+ts.slice(11)+", compound lot "+lot+", press data logged for this cycle",run.date]); it.push(["Inspected","Optical inspection passed: every record is checked. The stamper's first records and about 1 in 50 after are compared with the master by audio analysis",run.date]); @@ -1228,7 +1228,7 @@ function passportHTML(){
Record key: stamper · press · cycle time · side${st}-A1 · D1-B · ${ts} · side A
    ${it.map(([t,d,dt])=>`
  1. ✓
    ${t}${esc(d)}
    ${fmtD(dt)}
  2. `).join("")}

What a fan sees after scanning the code printed on the sleeve: the plant's traceability record for this one copy. IDs and times here are simulated.

-

Sold out? Open a repress. The mother is archived, so a repress skips cutting and plating: about 1.5 to 2.5 weeks of plant time, pressed when 100 more fans are in.

`; +

Sold out? Open a repress. Father and mother are archived, so a repress skips cutting and goes straight to new stampers: about 1.5 to 2.5 weeks of plant time, pressed when 100 more fans are in.

`; } function preview(id){ const t=S.tracks.find(x=>x.id===id); diff --git a/docs/production-timeline.md b/docs/production-timeline.md index d4343a3..7f92125 100644 --- a/docs/production-timeline.md +++ b/docs/production-timeline.md @@ -189,17 +189,33 @@ archived, a fresh stamper is pulled and the order runs: Two commercial consequences worth acting on: -- **Choose the 3-step process and archive mothers.** Stamper Discs - offers both 1-step and 3-step. A 1-step stamper is faster and cheaper - for a one-off, but it is a single-use part: there is no mother to go - back to, so a repress restarts at lacquer cutting and costs the +- **Choose the 3-step process and archive fathers and mothers.** Stamper + Discs offers both 1-step and 3-step. A 1-step stamper is faster and + cheaper for a one-off, but it is a single-use part: there is no mother + to go back to, so a repress restarts at lacquer cutting and costs the customer six weeks and a new cutting fee. 3-step buys the two-week repress, and that repress is the highest-margin order the plant will - ever take. -- **The mother archive is an asset with a shelf life.** It needs the + ever take. Decided (October 2026): the plant keeps the **father as well + as the mother** of every side. +- **How many represses a mother carries.** The common rule of thumb is + about **10 stamper sets per mother** before it degrades (Third Man + Pressing's FAQ; a Nashville plater quoted by WPLN, both checked October + 2026); quality-minded sources give fewer: 5 (The VinyLab), 6 to 8 + (Stereo Review, 1962, quoted on pspatialaudio.com). At 1,000 to 2,000 + pressings a stamper that is roughly 10,000 to 20,000 records per side, + or about ten represses of a few hundred to 1,500 copies. A father grows + about 5 to 10 mothers (pspatialaudio.com; Third Man: up to 10), so with + the father archived a worn mother is replaced by plating a new one + (about an hour in the bath plus the listening check) instead of + re-cutting, and a title reaches roughly 50,000 to 100,000 records + before a new lacquer. These are industry rules of thumb, not this + plant's figures: the galvanics vendors are asked for theirs + ([galvanics](equipment/galvanics.md#open-questions-for-the-quotes)), and + the factory application counts stamper sets per mother. +- **The archive is an asset with a shelf life.** It needs the storage conditions and the genealogy records that [traceability.md](traceability.md) already specifies, and a stated - retention policy — how long a customer's mothers are kept before + retention policy: how long a customer's fathers and mothers are kept before they are scrapped or returned. That policy does not exist yet and should be in the customer contract, not discovered later.