This is what you hand the person who asks who checked it.
A verification record pairs each requirement with how it was proven and what came back. The workspace scores it on five weighted dimensions, serializes it to a canonical form, and seals that form. The part number and the initials below are invented. The grade, the weights, the dimension scores, the canonical bytes and the digest are not: they were produced bybuildVerification,canonicalize andsha256when this page was built.
Pump housing, front bearing bore
Part PH-2210 · Rev C · Prepared by R. Aliu
| Requirement | Method | Standard | Expected | Actual | Result |
|---|---|---|---|---|---|
| Bore diameter, 52.000 to 52.030 mm | Inspection | ISO 286-2, H7 | 52.000 to 52.030 mm | 52.014 mm mean over n=8 | pass |
| Bore to mounting face perpendicularity | Inspection | ASME Y14.5-2018 | Within 0.020 mm | 0.017 mm maximum | pass |
| Cover joint gap at assembly | Analysis | Internal STK-004, one-dimensional stack | Worst case within 0.10 to 0.45 mm | Worst case 0.06 mm; RSS 0.28 mm, half-spread 0.09 mm | fail |
| Bore gauge capable over the 0.030 mm window | Test | AIAG MSA 4th edition | Gage R&R at or below ten percent, ndc of five or more | Gage R&R 8.4 percent, ndc 6 | pass |
| Anodize salt-spray resistance | Test | ASTM B117 | 336 h with no white corrosion | Not run on this revision; carried from PH-2110 rev B | N/A |
| Coverage | weight 30% | 100 |
| Results | weight 30% | 75 |
| Standards & specs | weight 15% | 100 |
| Review & sign-off | weight 15% | 33 |
| Identification | weight 10% | 100 |
| Weighted total | 82 |
21caaa74f464a501c4c5b0bd83f2b6bc42b23b96c7986b233059f2350298dfc0Taken over 1,525 bytes of canonical JSON: fixed field order, trimmed strings, item order preserved. The locally generated item ids are left out on purpose, so the same record retyped on another machine seals to the same digest.
Save the canonical form below as record.json, then run this. It should print the digest above.
printf '%s' "$(cat record.json)" | shasum -a 256Show the canonical form
{"project":"Pump housing, front bearing bore","partNumber":"PH-2210","revision":"C","preparedBy":"R. Aliu","checkedBy":"","approvedBy":"","notes":"Cover joint gap is the open item. The worst-case stack falls 0.04 mm below the minimum gap; the RSS result clears it. Disposition pending: either tighten the cover flange thickness or accept on an RSS basis with a written risk note.","standards":["ASME Y14.5-2018","ISO 286-2","AIAG MSA 4th edition","ASTM B117"],"items":[{"requirement":"Bore diameter, 52.000 to 52.030 mm","method":"Inspection","standard":"ISO 286-2, H7","expected":"52.000 to 52.030 mm","actual":"52.014 mm mean over n=8","status":"pass"},{"requirement":"Bore to mounting face perpendicularity","method":"Inspection","standard":"ASME Y14.5-2018","expected":"Within 0.020 mm","actual":"0.017 mm maximum","status":"pass"},{"requirement":"Cover joint gap at assembly","method":"Analysis","standard":"Internal STK-004, one-dimensional stack","expected":"Worst case within 0.10 to 0.45 mm","actual":"Worst case 0.06 mm; RSS 0.28 mm, half-spread 0.09 mm","status":"fail"},{"requirement":"Bore gauge capable over the 0.030 mm window","method":"Test","standard":"AIAG MSA 4th edition","expected":"Gage R&R at or below ten percent, ndc of five or more","actual":"Gage R&R 8.4 percent, ndc 6","status":"pass"},{"requirement":"Anodize salt-spray resistance","method":"Test","standard":"ASTM B117","expected":"336 h with no white corrosion","actual":"Not run on this revision; carried from PH-2110 rev B","status":"na"}]}Read the review row. Every item here is fully specified, every one cites a spec, the part and the revision are identified, and the review dimension still scores a third of what it could, because nobody has checked this record and nobody has approved it. The scorer says so in its own words: a self-signed record isn’t a verified one. The open analysis item costs it separately. Neither can be talked out of, which is the point of putting the weights on the page beside the number they produced.
Publish a record and it gets a verifier page of its own. That page re-derives the digest from the stored content with the same functions used here, compares it to the stored seal, and when the two differ it says the record may have been altered, in red, above the record itself. The seal is computed on the server from the canonical record, never accepted from the browser that sent it.
No model writes a number in this workspace.
A tool route here is one calculator or one instrument. Every one of them resolves to a library of pure functions with no network call, no clock and no randomness, and every one of those libraries has a test file. That is the whole mechanism, and it is countable.
tool routes, counted as one calculator or instrument each
sit on a module with unit tests. There is no untested calculator
distinct computation libraries behind them
test blocks across those libraries
source modules, excluding the test files
calls to a language model anywhere in that code
Stated with its scope attached, because the unscoped version would be false. That final zero covers the 61 tool routes, the 51 libraries behind them, and the server routes under the engineering API. It is not a claim about the product as a whole. Across the product, 31 of 454 server routes call a language model and the other 423 do not, and one protocol risk score elsewhere in Olto is a model assessment rather than a computation. The model drafts prose and narrates a result. It does not produce one.
Cp comes back empty when you give it one spec limit.
Cp is a two-sided index. Hand the capability engine an upper limit and no lower one and it returns nothing for Cp, and reports Cpk from the side that exists. A cell formula would have printed a number, and somebody downstream would have quoted it.
src/lib/engineering/spc.ts
Process Z and sigma level are two different numbers, and both are printed.
The process Z is the standard normal z whose two-tail defect probability equals the DPMO shown beside it, so the pair is always internally consistent. The Six Sigma sigma level is that Z plus the customary one-and-a-half sigma shift, and it is labelled with the shift so the two cannot be quietly swapped.
src/lib/engineering/spc.ts
The uncertainty budget wants a half-width, and it knows what a U-shaped one is.
Rectangular, triangular and U-shaped components enter as the half-width of their limits and are divided by the root of three, six and two. A component already quoted as a standard uncertainty enters with a divisor of one, and the divisor is overridable for the supplier who quotes an expanded uncertainty at a coverage factor of two. Effective degrees of freedom come from Welch and Satterthwaite.
src/lib/engineering/uncertainty.ts
Every calculator carries the equation it implements and the line where it stops.
Each card header names the formula or the standard, and a caveat sits under it. The PCB trace-width tool says on its face that it approximates the IPC-2221 charts and is conservative against the newer IPC-2152 ones, rather than presenting a width as settled.
src/lib/engineering/tools/types.ts
Every instrument, with the status it actually has.
An unlabelled feature list implies that everything on it is equally finished. These carry the same status vocabulary the rest of this site uses, including the entries that are not built. Each row names the route it lives at and the module a reader can open to check the description against.
Metrology and verification
Measurement uncertainty budget
Components reduced to standard uncertainties by their assumed distribution, combined as a root sum of squares, expanded by a coverage factor, with effective degrees of freedom from Welch and Satterthwaite. Implements the GUM (JCGM 100:2008).
/dashboard/engineering/uncertainty · src/lib/engineering/uncertainty.ts
Statistical process control and capability
Cp, Cpk, Pp, Ppk and Cpm plus sigma level, DPMO and yield over ungrouped data, and X-bar and R control limits from the standard SPC constant tables.
/dashboard/engineering/spc · src/lib/engineering/spc.ts
Gage R&R
Measurement system analysis by the AIAG average-and-range method: equipment variation, appraiser variation, their combination, part variation, number of distinct categories, and the precision-to-tolerance ratio against a stated spec window.
/dashboard/engineering/gage-rr · src/lib/engineering/msa.ts
Tolerance stack-up
One-dimensional linear stack computed both worst-case (arithmetic) and RSS (statistical), with asymmetric tolerances, direction, an optional fit check, and each dimension ranked by its share of the spread.
/dashboard/engineering/tolerance · src/lib/engineering/tolerance.ts
Bill of materials roll-up
Multi-level quantity roll-up: a line quantity multiplied through every parent assembly above it, with extended cost and mass totals.
/dashboard/engineering/bom · src/lib/engineering/bom.ts
Requirements traceability matrix
Each requirement paired with its verification method (test, analysis, inspection, demonstration) and status, rolled up into coverage (how many requirements have a method assigned) and closure (how many are verified to a closed state).
/dashboard/engineering/rtm · src/lib/engineering/rtm.ts
Sealed verification record
A verification bundle scored for readiness on a weighted completeness scale, then serialized to a canonical form and sealed with a SHA-256 the browser computes via Web Crypto. Re-derive the hash from the same content and it matches.
/dashboard/engineering/verification · src/lib/engineering/verification.ts
Reference and conversion
Engineering calculators
20 registry calculators across mechanical, structural, electrical, signals, thermal and fluid work, each its own module with its own test file and its formula on the card.
/dashboard/engineering/calculators · src/lib/engineering/tools
Unit converter
Length, force, pressure, torque, energy, power, flow, velocity, angle and temperature, showing the whole table for a category at once rather than one conversion at a time.
/dashboard/engineering/units · src/lib/engineering/units.ts
Materials reference
Density, elastic modulus, yield and tensile strength, coefficient of thermal expansion and thermal conductivity for common metals, polymers, ceramics and composites.
/dashboard/engineering/materials · src/lib/engineering/materials.ts
Fasteners and threads
Tap-drill, pitch, clearance-hole and hex sizes for metric ISO and imperial UNC and UNF threads.
/dashboard/engineering/fasteners · src/lib/engineering/fasteners.ts
Standards Library
490+ seeded records spanning ASME, ISO, IPC, IEEE, ASTM, AISC, IEC and MIL-STD, each with its scope and its key requirements. The finder that maps an experiment to candidate standards is the one route in this tree that calls a model; the library itself is a lookup.
/dashboard/utilities/standards · supabase/migrations, standards seed files
Subject calculators, physics and engineering
- Physics Toolkit
- Signal & FFT
- Circuit Simulator
- Thermodynamics
- Optics & Photonics
- Structural & Beam
- Fluid Mechanics
- Reliability & Quality
- Radiation & Nuclear
- Acoustics & Audio
- Astronomy
- Fatigue & Fracture
- RF & Antenna
- Heat Transfer
The same workspace holds 36 more subject calculators outside physics and engineering, across chemistry, biology and genomics, earth and environment, statistics and applied lab work. They are listed on the product side rather than here, because breadth is not the argument on this page.
On the roadmap, not built
Bench-test runner
Executing a test plan step by step against the record it belongs to. On the roadmap, not built.
Calculation and test-plan drafting
A drafting aid for the plan itself. On the roadmap, not built. If it ships it will draft the plan; the values will still come from the engines above.
Here is what the seal does not do.
Every claim above is narrow on purpose, so the edges are worth writing down rather than leaving for a reader to find at the wrong moment.
A seal is not a signature.
The hash establishes that the content did not change after sealing. It does not establish who wrote the record, that the person named as checker ever read it, or that the engineering underneath is right. It is a content address, and treating it as an identity claim would be the same overstatement this page exists to avoid.
Determinism is not correctness.
A pure function can be reproducibly wrong. A number out of this workspace stands on three legs: it names the standard or the formula it implements, it is unit-tested against that source, and you can recompute it. The seal is the third leg only.
The stack-up engine is one-dimensional and linear.
It computes a worst-case and an RSS result along a single axis, with asymmetric tolerances, a direction per dimension, an optional fit check and a ranking of which dimension owns the spread. It does not model GD&T material-condition modifiers and it is not a variation simulation. Where the geometry is not a linear chain it is the wrong instrument, and it will not warn you.
Publishing is opt-in, and a published record is link-only.
A sealed record stays private until you publish it. A published one is served to anyone holding the link and is marked not to be indexed, so it is shareable rather than discoverable. Sharing a link is the act that makes a record checkable, and it is yours to take.
There is no API to push a calculation in from your PLM.
There is no public or programmatic API yet. Data moves in and out as CSV and JSON, and the bill of materials and the requirements matrix both round-trip that way, but there is nothing to build an integration against.
The calculators are free. Sealing a record is not.
Running any instrument on this page costs nothing and needs no plan. Saving, sealing and exporting a record sits on the Researcher plan, priced on the pricing page with no quote and no call.
The same seal-and-recompute pattern runs on the public engine registry, where every sealed scientific engine re-runs on page load and prints both hashes when one drifts, and plans are priced in full on the pricing page.