Research-Stack/4-Infrastructure/NoDupeLabs/research-stack/constants/README_MEASUREMENT_REGISTRY.md

127 lines
3.2 KiB
Markdown

# Measurement Registry Operating Doctrine
This registry exists because Research Stack must not pretend that mathematical or physical quantities are understood merely because they have names, symbols, or familiar-looking numbers.
## Prime rule
```text
A number is not knowledge until it carries:
source → unit → exactness → uncertainty → conditions → authority → allowed use
```
## Registry roles
The measurement registry separates these cases:
| Class | Meaning | Basin use |
|---|---|---|
| `exact` | Exact by definition, e.g. SI defining constants | Anchor only |
| `derived_exact` | Algebraically exact from exact constants | Anchor only |
| `mathematical` | Exact symbolic mathematical object | Symbolic anchor only |
| `measured` | Experimentally evaluated with uncertainty | Requires uncertainty + source |
| `conventional` | Defined reference convention | Reference-frame only |
| `environmental` | Local/site/context dependent | Blocked unless measured or modeled |
| `model` | Model output/reference model | Requires model version + domain validity |
| `standard_definition` | Standards-body definition/test method | Metadata or licensed content boundary |
## What this prevents
- Treating CODATA measured values as exact.
- Treating standard gravity as local gravity.
- Treating sea-level air density as a universal constant.
- Treating a diagram, paper, or LLM answer as proof.
- Treating a Wolfram answer as a proof object.
- Treating a pretty ratio as a law.
## Import pipeline
```text
source catalog
→ source adapter
→ raw record
→ normalized record
→ unit normalization
→ exactness classifier
→ uncertainty attachment
→ provenance hash
→ ENE receipt
→ constants_registry.json
→ Semantic Number Pattern Search
→ weighted route candidates
```
## Human-safe operating mode
When the system does not know, it must say one of:
```text
HOLD: source known, value not audited
HOLD: exactness unknown
HOLD: uncertainty missing
HOLD: local conditions missing
HOLD: unit conversion unresolved
SCAR: previously misused as exact
QUARANTINE: region requires separate verification
```
## Authority hierarchy
```text
Graph.lean = canonical graph/proof authority
SI definitions = exact metrological anchors
CODATA/NIST/BIPM/IAU/etc. = reference authority with source-specific uncertainty rules
ENE = provenance/archive authority
Wolfram = computational witness only
Neo4j = candidate topology only
Notion/Airtable/Drive/Obsidian = mirrors/registries/workbenches
Ace/Mermaid/GraphML = projections/transports only
```
## Required fields before a value can affect routing
Every value that enters routing must carry:
```yaml
record_id:
source_name:
source_version:
symbol:
name:
value:
unit:
dimension:
quantity_kind:
status:
standard_uncertainty:
relative_uncertainty:
coverage:
conditions:
source_uri:
provenance_hash:
license_scope:
audit_status:
authority_weight:
forest_role:
blocked_uses:
```
## Required fields before real-world simulation use
Real-world extreme-resolution simulation also requires:
```yaml
temperature:
pressure:
humidity:
altitude:
latitude:
longitude:
time_standard:
reference_frame:
material_state:
instrument_or_source:
calibration_status:
uncertainty_model:
```
If those are missing, the route remains HOLD.