Skip to content

fix(data): apply audit corrections to mineral database#3

Open
Bissbert wants to merge 1 commit intomainfrom
fix/audit-corrections-2026-05
Open

fix(data): apply audit corrections to mineral database#3
Bissbert wants to merge 1 commit intomainfrom
fix/audit-corrections-2026-05

Conversation

@Bissbert
Copy link
Copy Markdown
Contributor

@Bissbert Bissbert commented May 4, 2026

Summary

  • 50 scalar corrections + 6 list/text edits + 5-file beryl chemistry notation sweep across 47 YAML source files
  • Highest impact: GGG RI corrected from 2.02-2.03 (the CZ value) to 1.970; beryl/emerald RI ranges widened to FGA standard; demantoid RI corrected; pyrope SG range corrected; tsavorite hardness lowered; labradorite/bytownite/andesine optic signs flipped; CVD diamond year corrected from 1952 to 2003
  • Zircon: ranges widened to span both populations (high crystalline + low metamict) with a new notes block documenting the split

Verification pipeline

Three-stage Gem-A verification (per-slice agents → live gem-a.com lookups via citation-verifier → deep web research for unverifiable claims). Source priority Gem-A → peer-reviewed (G&G, Journal of Gemmology) → manufacturer/wikipedia → last resort. Conflict resolution applied where later rounds reversed earlier "fixes" (e.g. demantoid stays chrysotile, Gilson opal stays 1974, adularescence is both scattering + interference).

Consolidated source of truth (gitignored, local): ~/Downloads/gemmology-verification/00-master-report.md.

Test plan

  • pytest — 131 passed
  • python scripts/build_db.py --from-yaml data/source/minerals -o src/mineral_database/data/minerals.db -v — 121 families / 171 expressions imported clean
  • Spot-checked corrected scalars via direct SQL on the rebuilt DB (beryl, emerald, demantoid, zircon, ggg, labradorite, tsavorite, padparadscha, opal, spinel, red-beryl, andesine, bytownite, pyrope, chalcedony all match expected values)
  • Human review of the 47 modified YAMLs for any convention drift not caught by tests
  • CI green before merge

Three-stage Gem-A verification pipeline (per-slice → live gem-a.com lookups
→ deep web research) consolidated into ~/Downloads/gemmology-verification/.
Applied 50 scalar corrections, 6 list/text edits and a 5-file beryl-chemistry
notation sweep. Highest-impact:

- GGG ri 2.02-2.03 → 1.970 (was the CZ value)
- Beryl ri 1.577-1.583 → 1.560-1.600; emerald ri → 1.565-1.600
- Opal ri lower bound 1.37 → 1.40
- Pyrope sg 3.51-3.65 → 3.65-3.80; tsavorite hardness 7-7.5 → 6.5-7
- Demantoid ri 1.888-1.889 → 1.880-1.895
- Labradorite/bytownite optical character → Biaxial -; andesine → Biaxial +
- Padparadscha/pink-sapphire sg 3.99-4.02 → 3.99-4.01
- CVD diamond year 1952 → 2003; YAG year 1960 → 1964
- Zircon: ri 1.78-1.99, sg 3.9-4.7, hardness 6.0-7.5 spans both populations
  (high crystalline + low metamict) with notes block documenting the split
- Chalcedony birefringence 0.004 → null (aggregate)
- Diamond birefringence 0 added explicitly
- Beryl chemistry Be3Al2(SiO3)6 → Be3Al2Si6O18 across 5 variety files
- red-beryl: "crystite" typo → Bixbyite crystals
- demantoid: keep chrysotile as horsetail mineral (revert earlier byssolite mis-edit)
- emerald: add Zimbabwe (Sandawana) locality
- synthetic-emerald-hydrothermal: add Lechleitner manufacturer
- synthetic-{ruby,sapphire}-verneuil: add Plato lines diagnostic
- synthetic-spinel-verneuil: fluorescence attribution Co → Cr trace

Source of truth: ~/Downloads/gemmology-verification/00-master-report.md
Tests: 131 passed; mineral-db rebuild succeeds with 121 families / 171 expressions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant