Escalation queue SYNTHETIC FLEETLIVE HASHPRICE
Every open quality issue (failure mode × model) ranked by criticality, frequency and business impact. Impact is priced at today's live hashprice, so the queue reorders when the network moves.
| Issue | Model | Returns | Per 1k | Lost / mo | S·F·I | Signal | Status |
|---|
Unit check PUBLIC API SCHEMA
Paste a SealMiner stats reply (TCP 4028, Sealminer API V0.5). The desk checks every board, fan and PSU field against the public Error Code Manual, the published spec tolerance (±10% hashrate, ±5% efficiency), the PSU input range and the latest public firmware, then gives a disposition.
Result
Fleet scan READ-ONLY COLLECTOR
Run sealminer_collect.py on the site network (Python 3, standard library, sends only {"command":"stats"}), then load the JSON Lines file here. Every unit is checked and the flags are ranked.
| Unit | Model | PR % | Verdict | Flags |
|---|
RMA intake log
Units logged from a check. Kept in this browser only.
| Logged | Serial (control board) | Model | Disposition | Modes and codes |
|---|
Field data SYNTHETIC FLEET
Unit-level fleet and return records. Pareto shows where the returns are; the p-chart shows whether this week is a real shift or normal noise.
Pareto of returns by failure mode
Weekly return rate, p-chart (20-week baseline, last 6 tested)
Return records
| RMA | Serial | Model | Lot | Site | Age d | Mode | Log line |
|---|
Import format (one row per installed unit): serial, model, cooling, th, lot, line, site, external, install_date, fail_date, failure_mode. Blank fail_date means still running. Export the sample to get the template.
Investigate
Pick an issue from the escalation queue.
Weibull life analysis: MLE with suspensions, rank-regression plot
Shape by build lot
| Lot | Line | Units | Fails | β (90%) | Read |
|---|
β below 1 means early-life failures: a build, screening or handling escape. β near 1 means random or external stress. β above 1.5 means wear-out: design life, supplier part or maintenance.
Where it concentrates
Failure rate per 1,000 units for each value, against the rate in the rest of the population. Model rows compare each other model with this one. Lift ≥ 2 with at least 3 failures is a lead.
| Dimension | Value | Units | Fails | Per 1k | Lift |
|---|
IS / IS NOT (derived from the table above)
Investigation record
Return records for this issue
| RMA | Serial | Lot | Line | Site | Age d | Log line |
|---|
8D report and stakeholder updates
The investigation record becomes an 8D draft and audience-specific updates. Each audience gets the detail it acts on. Updates come in English and 简体中文.
8D draft
Stakeholder update
Close the loop
Closing writes the lesson into the failure-mode KB, so the next engineer who sees this signature starts from it.
Log triage PUBLIC ERROR CODES
Paste a miner log or a bench note. Each line is matched against the KB signatures; the desk proposes the failure mode, the first checks, whether to fix in the field or return, and any open escalation it belongs to.
Result
Failure-mode knowledge base PUBLIC ERROR CODES
One row per failure mode: signature, first checks, usual cause, owner, and an FMEA score. Occurrence (O) is recomputed from field data, so the RPN moves with the fleet. Click a row to edit detection, checks and lessons.
| Mode | Signature | S | O | D | RPN | Owner | Usual cause |
|---|
Data & sources
What is real and what is synthetic
Live: Bitcoin difficulty, fees and price from Blockchair (fallback blockchain.info, then a Worker-cached copy, then a fixed snapshot). They set hashprice, which prices every hour a returned unit is down.
Public: SealMiner error codes and first actions, the stats API field list, rated hashrate and efficiency with their printed tolerance, PSU input range, repair centres and firmware releases (live through the Worker). The Unit check and Fleet scan read real API replies.
Synthetic: the fleet, lots, sites and returns. They come from a seeded generator with known failure physics (Weibull shape and scale per mode, site stress, two planted defects), so every chart has a right answer to find. Model names follow the public SealMiner line; hashrates are rounded public figures. Nothing here is Bitdeer data.
Your own data: import a unit-level CSV on the Field data tab. Edits, investigations and lessons are kept in this browser only.
The maths
Hashprice (USD per TH per day) = 86,400 × 10¹² / (difficulty × 2³²) × (block subsidy + average fees per block) × BTC price.
p-chart: weekly returns over units in service; centre p̄ from a 20-week baseline; limits p̄ ± 3√(p̄(1−p̄)/n) per week, tested on the latest 6 weeks. Signals: a point above UCL, or 8 in a row above centre.
Weibull: every unit counts; other-mode failures and running units are suspensions. The plot uses Johnson adjusted ranks with Bernard median ranks. The verdict uses the maximum-likelihood fit (profile likelihood) with 90% bounds on β from the likelihood ratio (χ²₁ = 2.706), which handles heavy suspension better than rank regression.
Priority = S × F × I, each banded 1 to 5. RPN = S × O × D (AIAG-VDA now prefers Action Priority; RPN is kept because most factory FMEAs still carry it).
Bitdeer public reference data
| Repair centre | Type | Tickets | Address |
|---|
| Firmware | Build | Release notes |
|---|
Sources: Bitdeer shop API (repair-centre list and firmware archive), proxied and cached 6 hours by this Worker; SealMiner Error Code Manual V2.0; Sealminer API V0.5; product-page specs.
Who built it
Built by Edward Tay as a work sample for the Quality Engineer (After Sales) application. It is an independent prototype; it is not Bitdeer software and uses no Bitdeer internal data. Written analysis: bitdeer.edwardtay.com.