star-magic-program 0.397.0__tar.gz → 0.398.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/CHANGELOG.md +42 -0
  2. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/CITATION.cff +3 -3
  3. {star_magic_program-0.397.0/star_magic_program.egg-info → star_magic_program-0.398.0}/PKG-INFO +8 -8
  4. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/README.md +6 -6
  5. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/SESSION_LOG.md +46 -0
  6. star_magic_program-0.398.0/UNIFIED_REGISTRY_VERSION.txt +1 -0
  7. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_XGEO_QUEUE.csv +1 -0
  8. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_XGEO_ROUTES.csv +1 -0
  9. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/WHITEPAPER_INDEX.md +1 -1
  10. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/_BUILD_LOG.md +3 -0
  11. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/pyproject.toml +16 -2
  12. {star_magic_program-0.397.0 → star_magic_program-0.398.0/star_magic_program.egg-info}/PKG-INFO +8 -8
  13. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/star_magic_program.egg-info/SOURCES.txt +15 -1
  14. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_calculator.py +1 -1
  15. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/README.md +123 -0
  16. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/__init__.py +5 -2
  17. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/agassiz77_canada_temperature.csv +68 -0
  18. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/agassiz77_canada_temperature.provenance.json +17 -0
  19. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/collingwood_1_28_ks_complete.las +128 -0
  20. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/collingwood_1_28_ks_complete.provenance.json +17 -0
  21. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/gisp2_greenland_temperature.csv +599 -0
  22. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/gisp2_greenland_temperature.provenance.json +17 -0
  23. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/l06_06_nl_survey.csv +201 -0
  24. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/l06_06_nl_survey.provenance.json +17 -0
  25. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/l07_01_nl_excerpt.las +90 -0
  26. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/l07_01_nl_excerpt.provenance.json +17 -0
  27. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/university_6_17_no1_tx_excerpt.las +119 -0
  28. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/university_6_17_no1_tx_excerpt.provenance.json +17 -0
  29. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/volve_15_9_19a_core_excerpt.csv +88 -0
  30. star_magic_program-0.398.0/uqff_downhole_simulator/catalog/volve_15_9_19a_core_excerpt.provenance.json +18 -0
  31. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/uqff_ports.py +10 -1
  32. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/uqff_profile_catalog.py +97 -1
  33. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_fidelity_tests.py +133 -6
  34. star_magic_program-0.397.0/UNIFIED_REGISTRY_VERSION.txt +0 -1
  35. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/AUDIT_500_PAPER_REPORT.md +0 -0
  36. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/COMMERCIAL.md +0 -0
  37. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/LICENSE +0 -0
  38. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/LICENSE-AGPL-3.0.txt +0 -0
  39. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/LICENSE-MIT-INITIAL.txt +0 -0
  40. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/NOTICE +0 -0
  41. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_ANCHORS.csv +0 -0
  42. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_EXACT_IDENTITIES.csv +0 -0
  43. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_FALSIFIABILITY.md +0 -0
  44. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_OPEN_ITEMS.csv +0 -0
  45. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_PARADOX_CENSUS.csv +0 -0
  46. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_PREDICTIONS.csv +0 -0
  47. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_PROGRAM_PLAN.md +0 -0
  48. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_RESIDUALS.csv +0 -0
  49. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_RESULTS_TABLE.md +0 -0
  50. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_SCHEMA.md +0 -0
  51. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_STATUS_REPORT.md +0 -0
  52. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_XGEO_CONFIRMATIONS.csv +0 -0
  53. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/UNIFIED_REGISTRY_XGEO_EXTRACTED.csv +0 -0
  54. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/notebooks/00_quickstart.ipynb +0 -0
  55. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/reference/COMPLETE_UQFF_EQUATIONS_REFERENCE.pdf +0 -0
  56. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/reference/Star-Magic_manuscript_v5.pdf +0 -0
  57. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/reference/UQFF_VALIDATION_SYNC_AUDIT.pdf +0 -0
  58. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/reference/uqff_production_arxiv.pdf +0 -0
  59. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/registry_generator.py +0 -0
  60. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/setup.cfg +0 -0
  61. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/star_magic_program.egg-info/dependency_links.txt +0 -0
  62. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/star_magic_program.egg-info/requires.txt +0 -0
  63. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/star_magic_program.egg-info/top_level.txt +0 -0
  64. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_backbone_locks.py +0 -0
  65. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_derived_constants.py +0 -0
  66. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_derived_functions.py +0 -0
  67. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/__main__.py +0 -0
  68. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/catalog/kennetcook_2_p129_excerpt.las +0 -0
  69. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/catalog/kennetcook_2_p129_excerpt.provenance.json +0 -0
  70. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/catalog/scorpio_e1_sa_excerpt.las +0 -0
  71. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/catalog/scorpio_e1_sa_excerpt.provenance.json +0 -0
  72. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/catalog/volve_15_9_19_sr_excerpt.las +0 -0
  73. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/catalog/volve_15_9_19_sr_excerpt.provenance.json +0 -0
  74. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/example_register_map.json +0 -0
  75. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/matplotlib_demo.py +0 -0
  76. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/qt6_downhole_app.py +0 -0
  77. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/sample_well_profile.csv +0 -0
  78. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/uqff_case_study.py +0 -0
  79. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/uqff_deviation.py +0 -0
  80. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/uqff_downhole_engine.py +0 -0
  81. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/uqff_follower.py +0 -0
  82. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/uqff_gauge_specs.py +0 -0
  83. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/uqff_modbus.py +0 -0
  84. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/uqff_quartz_hpht_extension.py +0 -0
  85. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/uqff_reconciler.py +0 -0
  86. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/uqff_service_life.py +0 -0
  87. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/uqff_telemetry.py +0 -0
  88. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_downhole_simulator/uqff_tool_library.py +0 -0
  89. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_fubii_variants.py +0 -0
  90. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_material_landmarks.py +0 -0
  91. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_ngc_catalog.py +0 -0
  92. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_primitive_identities.py +0 -0
  93. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_registry_graph.py +0 -0
  94. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_registry_primitives.py +0 -0
  95. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_registry_status.py +0 -0
  96. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_registry_xgeo.py +0 -0
  97. {star_magic_program-0.397.0 → star_magic_program-0.398.0}/uqff_session_closures.py +0 -0
@@ -7,6 +7,48 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
8
  ---
9
9
 
10
+ ## v0.398.0 — 2026-08-25 — THE CATALOGUE SHIP
11
+
12
+ `uqff_downhole_simulator` v1.14.0–v1.20.0 — the real-well profile catalogue
13
+ grows from three entries to TEN, one well at a time on Daniel's standing
14
+ order ("continue to catalogue real wells, one at a time. grab all necessary
15
+ data!!!!"), every value verbatim, every entry provenance-sidecar'd, every
16
+ addition gate-pinned and test-verified:
17
+
18
+ - **v1.14.0 — University 6-17 No.1** (Wildcat, Reagan County, TEXAS; API
19
+ 42-303-34774; Halliburton 1997): LAS 1.2 dialect (value-after-colon branch
20
+ on VERS), first imperial-depth well, second real BHT (141 °F @ 9,097 ft).
21
+ - **v1.15.0 — Collingwood 1-28** (Amoco, Stanton County, KANSAS; API
22
+ 15-187-20743; KGS): first COMPLETE-file entry, second wrapped shape
23
+ (27 curves), third real BHT (125 °F) — no TD parameter, so the converter's
24
+ honest no-anchor fallback is exercised, not papered over.
25
+ - **v1.16.0 — GISP2 (Greenland), THE TEMPERATURE-CURVE PRIZE**: the first
26
+ continuous MEASURED temperature profile (598 stations, 72.61–3,053.15 m to
27
+ bedrock; USGS/Clow via GEUS, doi:10.5194/tc-17-3829-2023) — the converter's
28
+ TOP tier (MEASURED_CURVES) exercised with real data for the first time;
29
+ the three-tier ladder closes on real wells.
30
+ - **v1.17.0 — Agassiz77** (Agassiz Ice Cap, Ellesmere Island, CANADA, 1977):
31
+ second COMPLETE measured temperature curve (67 stations) in a different
32
+ thermal regime; the catalogue's oldest measurement.
33
+ - **v1.18.0 — L07-01** (Petroland 1971, Dutch North Sea via NLOG): first
34
+ DESCENDING-index log; converter → loader → engine proven order-agnostic.
35
+ - **v1.19.0 — L06-06 survey** (NLOG): FIRST REAL WELL TRAJECTORY — 200
36
+ measured stations (MD/inclination/azimuth/TVD to MD 5,605) driving
37
+ DeviationSurvey and MD→TVD physics on real data; survey entries refuse
38
+ `stream()` (kind discipline); units-undeclared ambiguity disclosed.
39
+ - **v1.20.0 — Volve 15/9-19 A core analysis** (Equinor): first LABORATORY
40
+ GROUND TRUTH — 87 core-plug samples (core 1 complete + the 20,800 mD
41
+ ultra-perm streak; permeability spans ×138,000 in one excerpt); lab
42
+ interleave preserved; units interpretive-not-in-file disclosed;
43
+ `read_core_csv` + core-kind dispatch in the loader.
44
+
45
+ Catalogue standing: **TEN entries / EIGHT regions / FIVE kinds**. Real files
46
+ drove four port upgrades (wrapped-LAS parsing, LAS 1.x branch, ~P BHT/TD
47
+ meta anchors, descending index). Gate 5,835 → 5,858, 0 failures. 23-file
48
+ pass verified.
49
+
50
+ ---
51
+
10
52
  ## v0.397.0 — 2026-08-24 — THE CONNECTIVITY SHIP
11
53
 
12
54
  **PAPER_2257** (new dispatch — 2,253 wired / 2,308 keys): the two-stream
@@ -3,8 +3,8 @@ message: "If you use Star-Magic-Program (UQFF systematic rebuild) in your resear
3
3
  type: software
4
4
  title: "Star-Magic-Program: UQFF Systematic Rebuild"
5
5
  abbreviation: "UQFF"
6
- version: "0.397.0"
7
- date-released: "2026-08-24"
6
+ version: "0.398.0"
7
+ date-released: "2026-08-25"
8
8
  authors:
9
9
  - family-names: "Murphy"
10
10
  given-names: "Daniel T."
@@ -53,7 +53,7 @@ preferred-citation:
53
53
  - family-names: "Murphy"
54
54
  given-names: "Daniel T."
55
55
  year: 2026
56
- version: "0.397.0"
56
+ version: "0.398.0"
57
57
  url: "https://github.com/Daniel8Murphy0007/Star-Magic-Program"
58
58
  notes: >-
59
59
  Cite both the software and the relevant whitepapers by PAPER_N
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: star-magic-program
3
- Version: 0.397.0
4
- Summary: Star-Magic UQFF calculator v0.397.0: THE CONNECTIVITY SHIP. 2,253 dispatches (2,308 keys), gate 5,835/0. PAPER_2257 two-stream architecture landmark + uqff_downhole_simulator v1.10-v1.13: quasi-live file-follower, real Modbus client (optional pymodbus, loopback-verified), connectivity-tier ladder, and a REAL-WELL profile catalogue - Volve 15/9-19 SR, Scorpio E1 (SA), Kennetcook #2 (NS, wrapped LAS + measured BHT 42C@1935m), provenance-mandatory. Next: PAPER_2258.
3
+ Version: 0.398.0
4
+ Summary: Star-Magic UQFF calculator v0.398.0: THE CATALOGUE SHIP. 2,253 dispatches (2,308 keys), gate 5,858/0. uqff_downhole_simulator v1.14-v1.20: the real-well catalogue grows 3 -> 10 entries / 8 regions / 5 kinds - Texas LAS 1.2 + BHT 141F, Kansas complete file, GISP2 + Agassiz77 MEASURED temperature curves (converter tier ladder closed on real data), Dutch North Sea descending log + 200-station real trajectory, Volve core analysis (20,800 mD lab ground truth). Next: PAPER_2258.
5
5
  Author-email: "Daniel T. Murphy" <daniel.murphy00@enrgyone.com>
6
6
  License: AGPL-3.0-or-later OR LicenseRef-StarMagic-Commercial
7
7
  Project-URL: Homepage, https://github.com/Daniel8Murphy0007/Star-Magic-Program
@@ -38,17 +38,17 @@ Dynamic: license-file
38
38
 
39
39
  # Star-Magic-Program
40
40
 
41
- [![PyPI version](https://img.shields.io/pypi/v/star-magic-program.svg?cacheBust=0.397.0)](https://pypi.org/project/star-magic-program/)
42
- [![Python versions](https://img.shields.io/pypi/pyversions/star-magic-program.svg?cacheBust=0.397.0)](https://pypi.org/project/star-magic-program/)
41
+ [![PyPI version](https://img.shields.io/pypi/v/star-magic-program.svg?cacheBust=0.398.0)](https://pypi.org/project/star-magic-program/)
42
+ [![Python versions](https://img.shields.io/pypi/pyversions/star-magic-program.svg?cacheBust=0.398.0)](https://pypi.org/project/star-magic-program/)
43
43
  [![Documentation Status](https://readthedocs.org/projects/star-magic-program/badge/?version=latest)](https://star-magic-program.readthedocs.io/en/latest/?badge=latest)
44
44
  [![License: AGPL-3.0 + Commercial](https://img.shields.io/badge/License-AGPL--3.0%20%2B%20Commercial-blue.svg)](LICENSE)
45
- [![Fidelity gate](https://img.shields.io/badge/fidelity_gate-5835%2F0-brightgreen)](uqff_fidelity_tests.py)
45
+ [![Fidelity gate](https://img.shields.io/badge/fidelity_gate-5858%2F0-brightgreen)](uqff_fidelity_tests.py)
46
46
  [![Public surfaces](https://img.shields.io/badge/public_surfaces-2308-blue)](uqff_calculator.py)
47
47
  [![Whitepapers](https://img.shields.io/badge/whitepapers-2292-orange)](whitepapers/)
48
48
 
49
- **UQFF systematic rebuild — v0.397.0 complete-compile campaign live**
49
+ **UQFF systematic rebuild — v0.398.0 complete-compile campaign live**
50
50
 
51
- **This release (v0.397.0): THE CONNECTIVITY SHIP — THE LIVE STREAM GETS ITS DOORS, AND REAL WELLS ENTER THE REPO.** **PAPER_2256 + `uqff_downhole_simulator` v1.6.0:** the program's first packaged industry-application module, built from Daniel's 22Aug2026 template thread (grok_cce7a73b) on same-day GO — a deep-well HPHT simulator (TD ≈ 20,300 ft) with a quartz P/T gauge string whose drift is **suppressed by the canonical lattice**: suppression = (0.58+0.32·(1−F_TRZ))·(0.52+0.38·K_MEX)·(0.68+0.27·Φ_res) = **1.0324 at the locked {0.1, 25/12, 0.84}** — drift BELOW the 0.215 %FS/yr industry baseline. **The knob ruling (Rule 2):** the template's adjustable "K_MEX"/"Φ_res" sliders were tuning gains wearing primitive names — canonicals now LOCKED in-physics (verified live by the dispatch on every call), sliders renamed `k_structural_trim`/`phi_coupling_trim`. **v1.1.0 extensions (Daniel-directed):** N-gauge strings (`make_sensor_string`); real well profiles from CSV (`load_well_profile_csv`; the shipped sample carries an HPHT overpressure kick the linear model cannot see — 18,405 vs 9,313 psi at the deepest gauge); and **twin-gauge drift-comparison mode** — every station carries a conventional reference gauge, and away from the clip band the measured conventional/UQFF ratio EQUALS the canonical suppression (1.0325 measured vs 1.0324 predicted across a 12-gauge string on the real profile) — the PAPER_2250 quartz bench test's complete simulation instrument. **v1.2.0 extension:** service-life drift ACCUMULATION (`ServiceLifeSimulator`) — the rates integrated over simulated service years, twin-leg divergence curves (2-3 psi/yr separation per station at FS 30,000 psi, 10-15 psi at a 5-yr horizon), recalibration resets, years-to-error-budget arithmetic; the accumulated-error ratio converges to the canonical suppression at every station. **v1.3.0 extension:** field-telemetry realism (`TelemetryRecorder`) — 1-reading/min timestamped acquisition with line dropouts, stuck gauges and spikes, historian quality flags, and a scored QC pipeline (frozen-value detection 1.0/1.0; Hampel despiker with common-mode veto, spike precision 0.83-1.0) exporting field-historian-style CSVs. **v1.4.0 extension:** depth-sweep case-study mode (`case_study`/`write_markdown` + CLI) — where the advantage is largest: 2.04 psi/yr flat below the HPHT knees compounding to 3.04 psi/yr at 20,000 ft (4.21 at 27,000 ft on a 30,000-ft well), rendered as a one-page customer case with the honest DERIVED_HYBRID note. **v1.5.0 extension:** real-datasheet gauge specs (`GaugeSpec`/`GAUGE_SPECS`) — web-verified GEO PSI GEOQ 177 (Quartzdyne) presets with mandatory citations (uncited specs rejected in code), plumbed through every layer; the suppression ratio is baseline-independent while the psi/yr story honestly scales with the cited spec bound. **v1.6.0 extensions:** wellbore deviation (MD/TVD surveys — a 60-deg tangent reads 6,525 vs the vertical model's 9,315 psi at the deepest gauge), multi-well batch runs (ratio invariant across geometries), and a headless CLI (`python -m uqff_downhole_simulator run|service-life|telemetry|case-study`). The 2026-08-23 extension list is complete. **v1.7.0 (two-stream build, piece 1): the tool library** — cited catalog of 8 toolstring entries (quartz twins, piezoresistive class with ChampionX-cited exponential drift form, vibrating wire/DTS/thermocouple as PARAMETERS_USER_SUPPLIED refusing invented numbers, and the G6 Modbus-RS485 surface interface declared as the ports-layer target) + ToolString composition + station rating checks (catches a 177 °C gauge in the 217 °C kick zone). **v1.8.0 (two-stream build, piece 2): the ports/plug-in layer** — READ-ONLY ingest to the normalized LiveStream form: historian-CSV and LAS 2.0 readers IMPLEMENTED (round-trip verified against the v1.3.0 telemetry export; wrapped LAS refused, not mis-parsed), live-protocol taps (modbus_g6/witsml/opcua) DECLARED and refusing until site details exist, `register_port()` for site plug-ins, CLI `ingest` subcommand. **v1.9.0 (piece 3 — the architecture COMPLETE): the two-stream reconciler** — per-station offset series classified IN_FAMILY / CALIBRATION_OFFSET / DRIFT_CONSISTENT / TRANSIENTS / UNEXPLAINED with disclosed thresholds; validated on four scenarios incl. THE FIND: the kick well reconciled against a linear-gradient assumption flags 610/4,448/6,083 psi unexplained offsets — the closed stream exposing the undervalued data stream. CLI `reconcile` subcommand. **PAPER_2257** canonizes the architecture with a live-verifying dispatch. **v1.10.0 (connectivity tier 3):** `HistorianFollower` — quasi-live monitoring of continuously-appended historian exports with per-poll reconciliation, zero network code; formal connectivity-status ladder published (simulate / offline-ingest / file-follow built; live protocol tier 4 now REAL CODE: v1.11.0 Modbus client behind optional `pip install pymodbus`, citation-mandatory register maps, loopback-verified against an in-process server; witsml/opcua remain declared-refusing). **v1.12.0: the profile catalogue** — REAL public well data in the repo: an Equinor Volve well 15/9-19 SR verbatim log excerpt (cited, provenance-mandatory sidecar) ingesting through the las2 port with an honest LAS→profile converter (DERIVED_GRADIENTS labeled when logs carry no T/P curves) and a 6-database public-source table (KGS, Volve, DOE GDR/FORGE, NLOG, state regulators, offshore nationals) with honest access notes. **v1.13.0: three real wells catalogued** — Volve 15/9-19 SR (North Sea) + Scorpio E1 (South Australia, −99999-NULL dialect) + Kennetcook #2 P-129 (Nova Scotia, WRAPPED mode with a REAL measured BHT 42 °C @ 1,935 m) — driving two port upgrades: wrapped-LAS parsing (superseding the refusal, verified against the real file) and a DERIVED_FROM_MEASURED_BHT converter tier. Every value verbatim, every entry provenance-complete, all gate-pinned. Sixteen package files (14 modules incl. the headless CLI + README + sample profile), installable package, engine headless by design, DERIVED_HYBRID with every industry anchor inline-commented, gate-verified per run. **Totals: 2,253 wired (2,308 DISPATCH keys) / gate 5,835 green / 4,180 defs. Next paper: PAPER_2257.**
51
+ **This release (v0.398.0): THE CATALOGUE SHIP — TEN REAL WELLS, FIVE KINDS OF REAL DATA.** `uqff_downhole_simulator` v1.14.0–v1.20.0 grows the real-well profile catalogue from three entries to **ten**, one well at a time on Daniel's standing order, every value verbatim, every entry provenance-sidecar'd, every addition gate-pinned and test-verified: **University 6-17 No.1** (Reagan County, TEXAS; API 42-303-34774; Halliburton 1997 — LAS 1.2 dialect with the value-after-colon branch, first imperial-depth well, second real BHT 141 °F @ 9,097 ft); **Collingwood 1-28** (Stanton County, KANSAS; API 15-187-20743; KGS — the first COMPLETE-file entry, a second wrapped shape at 27 curves, third real BHT 125 °F whose missing TD parameter exercises the converter's honest no-anchor fallback); **GISP2** (Greenland — THE TEMPERATURE-CURVE PRIZE: the catalogue's first continuous MEASURED temperature profile, 598 stations from 72.61 m to bedrock at 3,053.15 m, USGS/Clow via the GEUS ice-temperature database, doi:10.5194/tc-17-3829-2023 — the converter's TOP tier MEASURED_CURVES exercised with real data for the first time, closing the three-tier ladder on real wells); **Agassiz77** (Agassiz Ice Cap, Ellesmere Island, CANADIAN Arctic, 1977 — a second COMPLETE measured temperature curve, 67 stations in a different thermal regime, the catalogue's oldest measurement); **L07-01** (Petroland 1971, Dutch North Sea via NLOG — the first DESCENDING-index log, flowing converter→loader→engine order-agnostically); **the L06-06 survey** (NLOG — the FIRST REAL WELL TRAJECTORY: 200 measured stations, MD/inclination/azimuth/TVD to MD 5,605, driving `DeviationSurvey` and the engine's MD→TVD physics on real data; survey entries refuse `stream()` — kind discipline; units-undeclared ambiguity DISCLOSED, not assumed); and **Volve 15/9-19 A core analysis** (Equinor — the first LABORATORY GROUND TRUTH: 87 core-plug samples, core 1 complete plus the 20,800 mD ultra-permeability streak, permeability spanning ×138,000 in one excerpt, porosity/saturations/grain density with the lab's interleaved sample pattern preserved exactly; units interpretive-not-in-file DISCLOSED in provenance; `read_core_csv` + core-kind dispatch). Real files drove four port upgrades across the arc: wrapped-LAS parsing (superseding the v1.8.0 refusal only once a real wrapped file existed to verify against), the LAS 1.x meta branch, ~P BHT/TMAX/TDL/TDD meta anchors, and descending-index handling. Catalogue standing: **TEN entries / EIGHT regions / FIVE kinds** (log excerpts, complete logs, measured temperature curves, real trajectory, core analysis) — the closed stream now has real wells to describe, real curves to convert, a real trajectory to bend to, and lab ground truth to calibrate against. Package v1.20.0 (catalog/ 20 files, measured). **Totals: 2,253 wired (2,308 DISPATCH keys) / gate 5,858 green / 4,180 defs. Next paper: PAPER_2258.**
52
52
 
53
53
  Author: Daniel T. Murphy · Star-Magic Research Program
54
54
  License: AGPL-3.0-or-later OR Commercial
@@ -106,7 +106,7 @@ Mizuno, Rossi).
106
106
  Full framework physics lives in the whitepaper corpus — the physics is the
107
107
  whitepapers; the calculator computes what the whitepapers derive.
108
108
 
109
- ## What is currently shipped (v0.397.0)
109
+ ## What is currently shipped (v0.398.0)
110
110
 
111
111
  ### Wiring campaign — LIVE (see `CLAUDE.md` charter)
112
112
 
@@ -1,16 +1,16 @@
1
1
  # Star-Magic-Program
2
2
 
3
- [![PyPI version](https://img.shields.io/pypi/v/star-magic-program.svg?cacheBust=0.397.0)](https://pypi.org/project/star-magic-program/)
4
- [![Python versions](https://img.shields.io/pypi/pyversions/star-magic-program.svg?cacheBust=0.397.0)](https://pypi.org/project/star-magic-program/)
3
+ [![PyPI version](https://img.shields.io/pypi/v/star-magic-program.svg?cacheBust=0.398.0)](https://pypi.org/project/star-magic-program/)
4
+ [![Python versions](https://img.shields.io/pypi/pyversions/star-magic-program.svg?cacheBust=0.398.0)](https://pypi.org/project/star-magic-program/)
5
5
  [![Documentation Status](https://readthedocs.org/projects/star-magic-program/badge/?version=latest)](https://star-magic-program.readthedocs.io/en/latest/?badge=latest)
6
6
  [![License: AGPL-3.0 + Commercial](https://img.shields.io/badge/License-AGPL--3.0%20%2B%20Commercial-blue.svg)](LICENSE)
7
- [![Fidelity gate](https://img.shields.io/badge/fidelity_gate-5835%2F0-brightgreen)](uqff_fidelity_tests.py)
7
+ [![Fidelity gate](https://img.shields.io/badge/fidelity_gate-5858%2F0-brightgreen)](uqff_fidelity_tests.py)
8
8
  [![Public surfaces](https://img.shields.io/badge/public_surfaces-2308-blue)](uqff_calculator.py)
9
9
  [![Whitepapers](https://img.shields.io/badge/whitepapers-2292-orange)](whitepapers/)
10
10
 
11
- **UQFF systematic rebuild — v0.397.0 complete-compile campaign live**
11
+ **UQFF systematic rebuild — v0.398.0 complete-compile campaign live**
12
12
 
13
- **This release (v0.397.0): THE CONNECTIVITY SHIP — THE LIVE STREAM GETS ITS DOORS, AND REAL WELLS ENTER THE REPO.** **PAPER_2256 + `uqff_downhole_simulator` v1.6.0:** the program's first packaged industry-application module, built from Daniel's 22Aug2026 template thread (grok_cce7a73b) on same-day GO — a deep-well HPHT simulator (TD ≈ 20,300 ft) with a quartz P/T gauge string whose drift is **suppressed by the canonical lattice**: suppression = (0.58+0.32·(1−F_TRZ))·(0.52+0.38·K_MEX)·(0.68+0.27·Φ_res) = **1.0324 at the locked {0.1, 25/12, 0.84}** — drift BELOW the 0.215 %FS/yr industry baseline. **The knob ruling (Rule 2):** the template's adjustable "K_MEX"/"Φ_res" sliders were tuning gains wearing primitive names — canonicals now LOCKED in-physics (verified live by the dispatch on every call), sliders renamed `k_structural_trim`/`phi_coupling_trim`. **v1.1.0 extensions (Daniel-directed):** N-gauge strings (`make_sensor_string`); real well profiles from CSV (`load_well_profile_csv`; the shipped sample carries an HPHT overpressure kick the linear model cannot see — 18,405 vs 9,313 psi at the deepest gauge); and **twin-gauge drift-comparison mode** — every station carries a conventional reference gauge, and away from the clip band the measured conventional/UQFF ratio EQUALS the canonical suppression (1.0325 measured vs 1.0324 predicted across a 12-gauge string on the real profile) — the PAPER_2250 quartz bench test's complete simulation instrument. **v1.2.0 extension:** service-life drift ACCUMULATION (`ServiceLifeSimulator`) — the rates integrated over simulated service years, twin-leg divergence curves (2-3 psi/yr separation per station at FS 30,000 psi, 10-15 psi at a 5-yr horizon), recalibration resets, years-to-error-budget arithmetic; the accumulated-error ratio converges to the canonical suppression at every station. **v1.3.0 extension:** field-telemetry realism (`TelemetryRecorder`) — 1-reading/min timestamped acquisition with line dropouts, stuck gauges and spikes, historian quality flags, and a scored QC pipeline (frozen-value detection 1.0/1.0; Hampel despiker with common-mode veto, spike precision 0.83-1.0) exporting field-historian-style CSVs. **v1.4.0 extension:** depth-sweep case-study mode (`case_study`/`write_markdown` + CLI) — where the advantage is largest: 2.04 psi/yr flat below the HPHT knees compounding to 3.04 psi/yr at 20,000 ft (4.21 at 27,000 ft on a 30,000-ft well), rendered as a one-page customer case with the honest DERIVED_HYBRID note. **v1.5.0 extension:** real-datasheet gauge specs (`GaugeSpec`/`GAUGE_SPECS`) — web-verified GEO PSI GEOQ 177 (Quartzdyne) presets with mandatory citations (uncited specs rejected in code), plumbed through every layer; the suppression ratio is baseline-independent while the psi/yr story honestly scales with the cited spec bound. **v1.6.0 extensions:** wellbore deviation (MD/TVD surveys — a 60-deg tangent reads 6,525 vs the vertical model's 9,315 psi at the deepest gauge), multi-well batch runs (ratio invariant across geometries), and a headless CLI (`python -m uqff_downhole_simulator run|service-life|telemetry|case-study`). The 2026-08-23 extension list is complete. **v1.7.0 (two-stream build, piece 1): the tool library** — cited catalog of 8 toolstring entries (quartz twins, piezoresistive class with ChampionX-cited exponential drift form, vibrating wire/DTS/thermocouple as PARAMETERS_USER_SUPPLIED refusing invented numbers, and the G6 Modbus-RS485 surface interface declared as the ports-layer target) + ToolString composition + station rating checks (catches a 177 °C gauge in the 217 °C kick zone). **v1.8.0 (two-stream build, piece 2): the ports/plug-in layer** — READ-ONLY ingest to the normalized LiveStream form: historian-CSV and LAS 2.0 readers IMPLEMENTED (round-trip verified against the v1.3.0 telemetry export; wrapped LAS refused, not mis-parsed), live-protocol taps (modbus_g6/witsml/opcua) DECLARED and refusing until site details exist, `register_port()` for site plug-ins, CLI `ingest` subcommand. **v1.9.0 (piece 3 — the architecture COMPLETE): the two-stream reconciler** — per-station offset series classified IN_FAMILY / CALIBRATION_OFFSET / DRIFT_CONSISTENT / TRANSIENTS / UNEXPLAINED with disclosed thresholds; validated on four scenarios incl. THE FIND: the kick well reconciled against a linear-gradient assumption flags 610/4,448/6,083 psi unexplained offsets — the closed stream exposing the undervalued data stream. CLI `reconcile` subcommand. **PAPER_2257** canonizes the architecture with a live-verifying dispatch. **v1.10.0 (connectivity tier 3):** `HistorianFollower` — quasi-live monitoring of continuously-appended historian exports with per-poll reconciliation, zero network code; formal connectivity-status ladder published (simulate / offline-ingest / file-follow built; live protocol tier 4 now REAL CODE: v1.11.0 Modbus client behind optional `pip install pymodbus`, citation-mandatory register maps, loopback-verified against an in-process server; witsml/opcua remain declared-refusing). **v1.12.0: the profile catalogue** — REAL public well data in the repo: an Equinor Volve well 15/9-19 SR verbatim log excerpt (cited, provenance-mandatory sidecar) ingesting through the las2 port with an honest LAS→profile converter (DERIVED_GRADIENTS labeled when logs carry no T/P curves) and a 6-database public-source table (KGS, Volve, DOE GDR/FORGE, NLOG, state regulators, offshore nationals) with honest access notes. **v1.13.0: three real wells catalogued** — Volve 15/9-19 SR (North Sea) + Scorpio E1 (South Australia, −99999-NULL dialect) + Kennetcook #2 P-129 (Nova Scotia, WRAPPED mode with a REAL measured BHT 42 °C @ 1,935 m) — driving two port upgrades: wrapped-LAS parsing (superseding the refusal, verified against the real file) and a DERIVED_FROM_MEASURED_BHT converter tier. Every value verbatim, every entry provenance-complete, all gate-pinned. Sixteen package files (14 modules incl. the headless CLI + README + sample profile), installable package, engine headless by design, DERIVED_HYBRID with every industry anchor inline-commented, gate-verified per run. **Totals: 2,253 wired (2,308 DISPATCH keys) / gate 5,835 green / 4,180 defs. Next paper: PAPER_2257.**
13
+ **This release (v0.398.0): THE CATALOGUE SHIP — TEN REAL WELLS, FIVE KINDS OF REAL DATA.** `uqff_downhole_simulator` v1.14.0–v1.20.0 grows the real-well profile catalogue from three entries to **ten**, one well at a time on Daniel's standing order, every value verbatim, every entry provenance-sidecar'd, every addition gate-pinned and test-verified: **University 6-17 No.1** (Reagan County, TEXAS; API 42-303-34774; Halliburton 1997 — LAS 1.2 dialect with the value-after-colon branch, first imperial-depth well, second real BHT 141 °F @ 9,097 ft); **Collingwood 1-28** (Stanton County, KANSAS; API 15-187-20743; KGS — the first COMPLETE-file entry, a second wrapped shape at 27 curves, third real BHT 125 °F whose missing TD parameter exercises the converter's honest no-anchor fallback); **GISP2** (Greenland — THE TEMPERATURE-CURVE PRIZE: the catalogue's first continuous MEASURED temperature profile, 598 stations from 72.61 m to bedrock at 3,053.15 m, USGS/Clow via the GEUS ice-temperature database, doi:10.5194/tc-17-3829-2023 — the converter's TOP tier MEASURED_CURVES exercised with real data for the first time, closing the three-tier ladder on real wells); **Agassiz77** (Agassiz Ice Cap, Ellesmere Island, CANADIAN Arctic, 1977 — a second COMPLETE measured temperature curve, 67 stations in a different thermal regime, the catalogue's oldest measurement); **L07-01** (Petroland 1971, Dutch North Sea via NLOG — the first DESCENDING-index log, flowing converter→loader→engine order-agnostically); **the L06-06 survey** (NLOG — the FIRST REAL WELL TRAJECTORY: 200 measured stations, MD/inclination/azimuth/TVD to MD 5,605, driving `DeviationSurvey` and the engine's MD→TVD physics on real data; survey entries refuse `stream()` — kind discipline; units-undeclared ambiguity DISCLOSED, not assumed); and **Volve 15/9-19 A core analysis** (Equinor — the first LABORATORY GROUND TRUTH: 87 core-plug samples, core 1 complete plus the 20,800 mD ultra-permeability streak, permeability spanning ×138,000 in one excerpt, porosity/saturations/grain density with the lab's interleaved sample pattern preserved exactly; units interpretive-not-in-file DISCLOSED in provenance; `read_core_csv` + core-kind dispatch). Real files drove four port upgrades across the arc: wrapped-LAS parsing (superseding the v1.8.0 refusal only once a real wrapped file existed to verify against), the LAS 1.x meta branch, ~P BHT/TMAX/TDL/TDD meta anchors, and descending-index handling. Catalogue standing: **TEN entries / EIGHT regions / FIVE kinds** (log excerpts, complete logs, measured temperature curves, real trajectory, core analysis) — the closed stream now has real wells to describe, real curves to convert, a real trajectory to bend to, and lab ground truth to calibrate against. Package v1.20.0 (catalog/ 20 files, measured). **Totals: 2,253 wired (2,308 DISPATCH keys) / gate 5,858 green / 4,180 defs. Next paper: PAPER_2258.**
14
14
 
15
15
  Author: Daniel T. Murphy · Star-Magic Research Program
16
16
  License: AGPL-3.0-or-later OR Commercial
@@ -68,7 +68,7 @@ Mizuno, Rossi).
68
68
  Full framework physics lives in the whitepaper corpus — the physics is the
69
69
  whitepapers; the calculator computes what the whitepapers derive.
70
70
 
71
- ## What is currently shipped (v0.397.0)
71
+ ## What is currently shipped (v0.398.0)
72
72
 
73
73
  ### Wiring campaign — LIVE (see `CLAUDE.md` charter)
74
74
 
@@ -11892,3 +11892,49 @@ README release/campaign/shipped headers; CHANGELOG + _BUILD_LOG +
11892
11892
  SHIP_MESSAGE + RULINGS trail (pymodbus GO recorded); 10 CONNECTIVITY_ARC
11893
11893
  trail rows. Gate 5,816 → 5,835, 0 failures. Package v1.13.0 (26 files incl.
11894
11894
  catalog/, measured). Awaiting Daniel: `.\ship.ps1` (clear .git/index.lock first).
11895
+
11896
+ ## Entry 270 — 2026-08-25 — v0.398.0 THE CATALOGUE SHIP (downhole v1.14–v1.20, entries 4–10)
11897
+
11898
+ Seven wells in seven package versions, one at a time per Daniel's standing
11899
+ order ("continue to catalogue real wells, one at a time. grab all necessary
11900
+ data!!!! Then test verify that you did your job."), each fetched read-only,
11901
+ transcribed verbatim, provenance-sidecar'd, gate-pinned, and live-verified:
11902
+
11903
+ 1. v1.14.0 University 6-17 No.1 (Reagan Co., TEXAS; API 42-303-34774;
11904
+ Halliburton 1997): LAS 1.2 — third version dialect (VERS<2.0
11905
+ value-after-colon branch), first imperial-depth well, second real BHT
11906
+ (141 °F @ 9,097 ft) exercising the converter's DEGF + feet branches.
11907
+ 2. v1.15.0 Collingwood 1-28 (Stanton Co., KANSAS; API 15-187-20743; KGS):
11908
+ first COMPLETE-file entry, second wrapped shape (27 curves), third real
11909
+ BHT (125 °F) with NO TD parameter — the converter's honest no-anchor
11910
+ fallback exercised (labeled gradients, no fabricated anchor).
11911
+ 3. v1.16.0 GISP2 (Greenland) — THE TEMPERATURE-CURVE PRIZE: first
11912
+ continuous MEASURED temperature profile, 598 stations 72.61–3,053.15 m
11913
+ to bedrock (USGS/Clow via GEUS, doi:10.5194/tc-17-3829-2023); the
11914
+ MEASURED_CURVES top tier real for the first time — tier ladder closed.
11915
+ 4. v1.17.0 Agassiz77 (Ellesmere Island, CANADA, 1977): second COMPLETE
11916
+ measured curve (67 stations), different thermal regime, oldest entry.
11917
+ 5. v1.18.0 L07-01 (Dutch North Sea, NLOG, 1971): first DESCENDING-index
11918
+ log — converter/loader/engine order-agnostic, verified.
11919
+ 6. v1.19.0 L06-06 survey (NLOG): FIRST REAL WELL TRAJECTORY — 200 measured
11920
+ stations to MD 5,605 driving DeviationSurvey MD→TVD on real data;
11921
+ survey entries refuse stream() (kind discipline); units-undeclared
11922
+ ambiguity DISCLOSED in provenance rather than assumed.
11923
+ 7. v1.20.0 Volve 15/9-19 A core analysis (Equinor): first LABORATORY
11924
+ GROUND TRUTH — 87 core-plug samples (core 1 complete + 20,800 mD
11925
+ ultra-perm streak; ×138,000 permeability span in one excerpt); lab
11926
+ interleave preserved; units interpretive-not-in-file DISCLOSED;
11927
+ read_core_csv + core-kind dispatch added.
11928
+
11929
+ Real files drove four port upgrades across the arc: wrapped-LAS parsing
11930
+ (supersedes the v1.8.0 refusal, verified against Kennetcook), LAS 1.x
11931
+ meta branch, ~P BHT/TMAX/TDL/TDD meta anchors, descending-index handling.
11932
+ Catalogue standing: TEN entries / EIGHT regions / FIVE kinds.
11933
+
11934
+ Ship prep: pins at 0.398.0 (desc 477 chars, measured counts); SHIP GUARD
11935
+ marker CONNECTIVITY_ARC→CATALOGUE_ARC (+ GAPS id catalogue_arc_rule7);
11936
+ +2 CATALOGUE_ARC ship pins; README release/campaign/shipped headers +
11937
+ badges; CHANGELOG + _BUILD_LOG + SHIP_MESSAGE + RULINGS trail; 11
11938
+ CATALOGUE_ARC trail rows (incl. DUPLICATES family record). Gate 5,856 →
11939
+ 5,858, 0 failures. Package v1.20.0 (catalog/ 20 files, measured). Awaiting
11940
+ Daniel: `.\ship.ps1` (clear .git/index.lock first).
@@ -0,0 +1 @@
1
+ v0.398.0
@@ -1724,3 +1724,4 @@ DOWNHOLE_ARC,n/a,n/a,NOT_APPLICABLE,application module single-geometry,v0.394.0
1724
1724
  INSTRUMENT_ARC,n/a,n/a,NOT_APPLICABLE,application-module extensions single-geometry,v0.395.0
1725
1725
  TWOSTREAM_ARC,n/a,n/a,NOT_APPLICABLE,application-module architecture single-geometry,v0.396.0
1726
1726
  CONNECTIVITY_ARC,n/a,n/a,NOT_APPLICABLE,application connectivity + real-data catalogue single-geometry,v0.397.0
1727
+ CATALOGUE_ARC,n/a,n/a,NOT_APPLICABLE,application real-data catalogue single-geometry,v0.398.0
@@ -1725,3 +1725,4 @@ DOWNHOLE_ARC,n/a,XGEO_NOT_REQUIRED,none,v0.394.0
1725
1725
  INSTRUMENT_ARC,n/a,XGEO_NOT_REQUIRED,none,v0.395.0
1726
1726
  TWOSTREAM_ARC,n/a,XGEO_NOT_REQUIRED,none,v0.396.0
1727
1727
  CONNECTIVITY_ARC,n/a,XGEO_NOT_REQUIRED,none,v0.397.0
1728
+ CATALOGUE_ARC,n/a,XGEO_NOT_REQUIRED,none,v0.398.0
@@ -99,7 +99,7 @@ Every previously non-numeric key now carries a canonical PAPER number (2179-2212
99
99
  | 2233 | PAPER_1203b |
100
100
 
101
101
  - **Verification arc 2026-08-16 (v0.387.0):** paradox-corpus audit ZERO recalcs; grammar dragnet 110 family sites; origin term verified; AP text layer EXHAUSTED (458 docs). Runnable queue empty — remaining items Daniel-owned.
102
- - **Distinct wired papers: 2,253 (+55 canonical alias numbers 2179-2233; 2,308 DISPATCH keys). PAPER_2257 two-stream architecture landmark, 2026-08-24.** = `wired_count()` = `len(DISPATCH)` (live at band 2121-2130, 2026-08-16; earlier eras' 1,417 figure superseded).
102
+ - **Distinct wired papers: 2,253 (+55 canonical alias numbers 2179-2233; 2,308 DISPATCH keys). PAPER_2257 two-stream architecture landmark, 2026-08-24; v0.398.0 CATALOGUE SHIP (downhole v1.14-v1.20, ten real-data entries), 2026-08-25.** = `wired_count()` = `len(DISPATCH)` (live at band 2121-2130, 2026-08-16; earlier eras' 1,417 figure superseded).
103
103
  - **Index table file-row marks:** **934 ✓ CLEAN**, **245 ⚠ OPEN_RULING**, **1076 ⬜** not-touched (934 + 245 + 1076 = 2255 ✓). Wired file-rows (934 + 245 = 1,179) sit below `wired_count()` = 1,417 because variant files share a base dispatch.
104
104
  - **ORPHAN-PHYSICS (v0.367.1 audit):** no paper numbers are missing, but 71 non-numbered `.md` files in the predecessor hold **6,615 equation blocks** outside the corpus. Queued as Q-ORPHAN-PHYSICS.
105
105
  - **OPEN targets:** 0
@@ -312,3 +312,6 @@ THE TWO-STREAM SHIP: uqff_downhole_simulator v1.7.0-v1.9.0 (cited tool library;
312
312
 
313
313
  ## v0.397.0 — 2026-08-24
314
314
  THE CONNECTIVITY SHIP: PAPER_2257 landmark+dispatch; downhole v1.10-v1.13 (file-follower; real Modbus client loopback-verified; connectivity ladder; profile catalogue with THREE REAL WELLS incl. wrapped-LAS parsing + measured-BHT tier). Gate 5,835/0. 23-file pass verified.
315
+
316
+ ## v0.398.0 — 2026-08-25
317
+ THE CATALOGUE SHIP: downhole v1.14-v1.20 — real-well catalogue 3→10 entries / 8 regions / 5 kinds (TX LAS 1.2 + BHT; KS complete file; GISP2 + Agassiz77 MEASURED temperature curves — converter tier ladder closed on real data; NL descending log; L06-06 200-station real trajectory; Volve core 20,800 mD lab ground truth). Four port upgrades driven by real files. Gate 5,858/0. 23-file pass verified.
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "star-magic-program"
7
- version = "0.397.0"
8
- description = "Star-Magic UQFF calculator v0.397.0: THE CONNECTIVITY SHIP. 2,253 dispatches (2,308 keys), gate 5,835/0. PAPER_2257 two-stream architecture landmark + uqff_downhole_simulator v1.10-v1.13: quasi-live file-follower, real Modbus client (optional pymodbus, loopback-verified), connectivity-tier ladder, and a REAL-WELL profile catalogue - Volve 15/9-19 SR, Scorpio E1 (SA), Kennetcook #2 (NS, wrapped LAS + measured BHT 42C@1935m), provenance-mandatory. Next: PAPER_2258."
7
+ version = "0.398.0"
8
+ description = "Star-Magic UQFF calculator v0.398.0: THE CATALOGUE SHIP. 2,253 dispatches (2,308 keys), gate 5,858/0. uqff_downhole_simulator v1.14-v1.20: the real-well catalogue grows 3 -> 10 entries / 8 regions / 5 kinds - Texas LAS 1.2 + BHT 141F, Kansas complete file, GISP2 + Agassiz77 MEASURED temperature curves (converter tier ladder closed on real data), Dutch North Sea descending log + 200-station real trajectory, Volve core analysis (20,800 mD lab ground truth). Next: PAPER_2258."
9
9
  readme = "README.md"
10
10
  authors = [
11
11
  { name = "Daniel T. Murphy", email = "daniel.murphy00@enrgyone.com" }
@@ -112,4 +112,18 @@ py-modules = ["uqff_session_closures", "uqff_fubii_variants", "uqff_ngc_catalog"
112
112
  "uqff_downhole_simulator/catalog/scorpio_e1_sa_excerpt.provenance.json",
113
113
  "uqff_downhole_simulator/catalog/kennetcook_2_p129_excerpt.las",
114
114
  "uqff_downhole_simulator/catalog/kennetcook_2_p129_excerpt.provenance.json",
115
+ "uqff_downhole_simulator/catalog/university_6_17_no1_tx_excerpt.las",
116
+ "uqff_downhole_simulator/catalog/university_6_17_no1_tx_excerpt.provenance.json",
117
+ "uqff_downhole_simulator/catalog/collingwood_1_28_ks_complete.las",
118
+ "uqff_downhole_simulator/catalog/collingwood_1_28_ks_complete.provenance.json",
119
+ "uqff_downhole_simulator/catalog/gisp2_greenland_temperature.csv",
120
+ "uqff_downhole_simulator/catalog/gisp2_greenland_temperature.provenance.json",
121
+ "uqff_downhole_simulator/catalog/agassiz77_canada_temperature.csv",
122
+ "uqff_downhole_simulator/catalog/agassiz77_canada_temperature.provenance.json",
123
+ "uqff_downhole_simulator/catalog/l07_01_nl_excerpt.las",
124
+ "uqff_downhole_simulator/catalog/l07_01_nl_excerpt.provenance.json",
125
+ "uqff_downhole_simulator/catalog/l06_06_nl_survey.csv",
126
+ "uqff_downhole_simulator/catalog/l06_06_nl_survey.provenance.json",
127
+ "uqff_downhole_simulator/catalog/volve_15_9_19a_core_excerpt.csv",
128
+ "uqff_downhole_simulator/catalog/volve_15_9_19a_core_excerpt.provenance.json",
115
129
  ]
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: star-magic-program
3
- Version: 0.397.0
4
- Summary: Star-Magic UQFF calculator v0.397.0: THE CONNECTIVITY SHIP. 2,253 dispatches (2,308 keys), gate 5,835/0. PAPER_2257 two-stream architecture landmark + uqff_downhole_simulator v1.10-v1.13: quasi-live file-follower, real Modbus client (optional pymodbus, loopback-verified), connectivity-tier ladder, and a REAL-WELL profile catalogue - Volve 15/9-19 SR, Scorpio E1 (SA), Kennetcook #2 (NS, wrapped LAS + measured BHT 42C@1935m), provenance-mandatory. Next: PAPER_2258.
3
+ Version: 0.398.0
4
+ Summary: Star-Magic UQFF calculator v0.398.0: THE CATALOGUE SHIP. 2,253 dispatches (2,308 keys), gate 5,858/0. uqff_downhole_simulator v1.14-v1.20: the real-well catalogue grows 3 -> 10 entries / 8 regions / 5 kinds - Texas LAS 1.2 + BHT 141F, Kansas complete file, GISP2 + Agassiz77 MEASURED temperature curves (converter tier ladder closed on real data), Dutch North Sea descending log + 200-station real trajectory, Volve core analysis (20,800 mD lab ground truth). Next: PAPER_2258.
5
5
  Author-email: "Daniel T. Murphy" <daniel.murphy00@enrgyone.com>
6
6
  License: AGPL-3.0-or-later OR LicenseRef-StarMagic-Commercial
7
7
  Project-URL: Homepage, https://github.com/Daniel8Murphy0007/Star-Magic-Program
@@ -38,17 +38,17 @@ Dynamic: license-file
38
38
 
39
39
  # Star-Magic-Program
40
40
 
41
- [![PyPI version](https://img.shields.io/pypi/v/star-magic-program.svg?cacheBust=0.397.0)](https://pypi.org/project/star-magic-program/)
42
- [![Python versions](https://img.shields.io/pypi/pyversions/star-magic-program.svg?cacheBust=0.397.0)](https://pypi.org/project/star-magic-program/)
41
+ [![PyPI version](https://img.shields.io/pypi/v/star-magic-program.svg?cacheBust=0.398.0)](https://pypi.org/project/star-magic-program/)
42
+ [![Python versions](https://img.shields.io/pypi/pyversions/star-magic-program.svg?cacheBust=0.398.0)](https://pypi.org/project/star-magic-program/)
43
43
  [![Documentation Status](https://readthedocs.org/projects/star-magic-program/badge/?version=latest)](https://star-magic-program.readthedocs.io/en/latest/?badge=latest)
44
44
  [![License: AGPL-3.0 + Commercial](https://img.shields.io/badge/License-AGPL--3.0%20%2B%20Commercial-blue.svg)](LICENSE)
45
- [![Fidelity gate](https://img.shields.io/badge/fidelity_gate-5835%2F0-brightgreen)](uqff_fidelity_tests.py)
45
+ [![Fidelity gate](https://img.shields.io/badge/fidelity_gate-5858%2F0-brightgreen)](uqff_fidelity_tests.py)
46
46
  [![Public surfaces](https://img.shields.io/badge/public_surfaces-2308-blue)](uqff_calculator.py)
47
47
  [![Whitepapers](https://img.shields.io/badge/whitepapers-2292-orange)](whitepapers/)
48
48
 
49
- **UQFF systematic rebuild — v0.397.0 complete-compile campaign live**
49
+ **UQFF systematic rebuild — v0.398.0 complete-compile campaign live**
50
50
 
51
- **This release (v0.397.0): THE CONNECTIVITY SHIP — THE LIVE STREAM GETS ITS DOORS, AND REAL WELLS ENTER THE REPO.** **PAPER_2256 + `uqff_downhole_simulator` v1.6.0:** the program's first packaged industry-application module, built from Daniel's 22Aug2026 template thread (grok_cce7a73b) on same-day GO — a deep-well HPHT simulator (TD ≈ 20,300 ft) with a quartz P/T gauge string whose drift is **suppressed by the canonical lattice**: suppression = (0.58+0.32·(1−F_TRZ))·(0.52+0.38·K_MEX)·(0.68+0.27·Φ_res) = **1.0324 at the locked {0.1, 25/12, 0.84}** — drift BELOW the 0.215 %FS/yr industry baseline. **The knob ruling (Rule 2):** the template's adjustable "K_MEX"/"Φ_res" sliders were tuning gains wearing primitive names — canonicals now LOCKED in-physics (verified live by the dispatch on every call), sliders renamed `k_structural_trim`/`phi_coupling_trim`. **v1.1.0 extensions (Daniel-directed):** N-gauge strings (`make_sensor_string`); real well profiles from CSV (`load_well_profile_csv`; the shipped sample carries an HPHT overpressure kick the linear model cannot see — 18,405 vs 9,313 psi at the deepest gauge); and **twin-gauge drift-comparison mode** — every station carries a conventional reference gauge, and away from the clip band the measured conventional/UQFF ratio EQUALS the canonical suppression (1.0325 measured vs 1.0324 predicted across a 12-gauge string on the real profile) — the PAPER_2250 quartz bench test's complete simulation instrument. **v1.2.0 extension:** service-life drift ACCUMULATION (`ServiceLifeSimulator`) — the rates integrated over simulated service years, twin-leg divergence curves (2-3 psi/yr separation per station at FS 30,000 psi, 10-15 psi at a 5-yr horizon), recalibration resets, years-to-error-budget arithmetic; the accumulated-error ratio converges to the canonical suppression at every station. **v1.3.0 extension:** field-telemetry realism (`TelemetryRecorder`) — 1-reading/min timestamped acquisition with line dropouts, stuck gauges and spikes, historian quality flags, and a scored QC pipeline (frozen-value detection 1.0/1.0; Hampel despiker with common-mode veto, spike precision 0.83-1.0) exporting field-historian-style CSVs. **v1.4.0 extension:** depth-sweep case-study mode (`case_study`/`write_markdown` + CLI) — where the advantage is largest: 2.04 psi/yr flat below the HPHT knees compounding to 3.04 psi/yr at 20,000 ft (4.21 at 27,000 ft on a 30,000-ft well), rendered as a one-page customer case with the honest DERIVED_HYBRID note. **v1.5.0 extension:** real-datasheet gauge specs (`GaugeSpec`/`GAUGE_SPECS`) — web-verified GEO PSI GEOQ 177 (Quartzdyne) presets with mandatory citations (uncited specs rejected in code), plumbed through every layer; the suppression ratio is baseline-independent while the psi/yr story honestly scales with the cited spec bound. **v1.6.0 extensions:** wellbore deviation (MD/TVD surveys — a 60-deg tangent reads 6,525 vs the vertical model's 9,315 psi at the deepest gauge), multi-well batch runs (ratio invariant across geometries), and a headless CLI (`python -m uqff_downhole_simulator run|service-life|telemetry|case-study`). The 2026-08-23 extension list is complete. **v1.7.0 (two-stream build, piece 1): the tool library** — cited catalog of 8 toolstring entries (quartz twins, piezoresistive class with ChampionX-cited exponential drift form, vibrating wire/DTS/thermocouple as PARAMETERS_USER_SUPPLIED refusing invented numbers, and the G6 Modbus-RS485 surface interface declared as the ports-layer target) + ToolString composition + station rating checks (catches a 177 °C gauge in the 217 °C kick zone). **v1.8.0 (two-stream build, piece 2): the ports/plug-in layer** — READ-ONLY ingest to the normalized LiveStream form: historian-CSV and LAS 2.0 readers IMPLEMENTED (round-trip verified against the v1.3.0 telemetry export; wrapped LAS refused, not mis-parsed), live-protocol taps (modbus_g6/witsml/opcua) DECLARED and refusing until site details exist, `register_port()` for site plug-ins, CLI `ingest` subcommand. **v1.9.0 (piece 3 — the architecture COMPLETE): the two-stream reconciler** — per-station offset series classified IN_FAMILY / CALIBRATION_OFFSET / DRIFT_CONSISTENT / TRANSIENTS / UNEXPLAINED with disclosed thresholds; validated on four scenarios incl. THE FIND: the kick well reconciled against a linear-gradient assumption flags 610/4,448/6,083 psi unexplained offsets — the closed stream exposing the undervalued data stream. CLI `reconcile` subcommand. **PAPER_2257** canonizes the architecture with a live-verifying dispatch. **v1.10.0 (connectivity tier 3):** `HistorianFollower` — quasi-live monitoring of continuously-appended historian exports with per-poll reconciliation, zero network code; formal connectivity-status ladder published (simulate / offline-ingest / file-follow built; live protocol tier 4 now REAL CODE: v1.11.0 Modbus client behind optional `pip install pymodbus`, citation-mandatory register maps, loopback-verified against an in-process server; witsml/opcua remain declared-refusing). **v1.12.0: the profile catalogue** — REAL public well data in the repo: an Equinor Volve well 15/9-19 SR verbatim log excerpt (cited, provenance-mandatory sidecar) ingesting through the las2 port with an honest LAS→profile converter (DERIVED_GRADIENTS labeled when logs carry no T/P curves) and a 6-database public-source table (KGS, Volve, DOE GDR/FORGE, NLOG, state regulators, offshore nationals) with honest access notes. **v1.13.0: three real wells catalogued** — Volve 15/9-19 SR (North Sea) + Scorpio E1 (South Australia, −99999-NULL dialect) + Kennetcook #2 P-129 (Nova Scotia, WRAPPED mode with a REAL measured BHT 42 °C @ 1,935 m) — driving two port upgrades: wrapped-LAS parsing (superseding the refusal, verified against the real file) and a DERIVED_FROM_MEASURED_BHT converter tier. Every value verbatim, every entry provenance-complete, all gate-pinned. Sixteen package files (14 modules incl. the headless CLI + README + sample profile), installable package, engine headless by design, DERIVED_HYBRID with every industry anchor inline-commented, gate-verified per run. **Totals: 2,253 wired (2,308 DISPATCH keys) / gate 5,835 green / 4,180 defs. Next paper: PAPER_2257.**
51
+ **This release (v0.398.0): THE CATALOGUE SHIP — TEN REAL WELLS, FIVE KINDS OF REAL DATA.** `uqff_downhole_simulator` v1.14.0–v1.20.0 grows the real-well profile catalogue from three entries to **ten**, one well at a time on Daniel's standing order, every value verbatim, every entry provenance-sidecar'd, every addition gate-pinned and test-verified: **University 6-17 No.1** (Reagan County, TEXAS; API 42-303-34774; Halliburton 1997 — LAS 1.2 dialect with the value-after-colon branch, first imperial-depth well, second real BHT 141 °F @ 9,097 ft); **Collingwood 1-28** (Stanton County, KANSAS; API 15-187-20743; KGS — the first COMPLETE-file entry, a second wrapped shape at 27 curves, third real BHT 125 °F whose missing TD parameter exercises the converter's honest no-anchor fallback); **GISP2** (Greenland — THE TEMPERATURE-CURVE PRIZE: the catalogue's first continuous MEASURED temperature profile, 598 stations from 72.61 m to bedrock at 3,053.15 m, USGS/Clow via the GEUS ice-temperature database, doi:10.5194/tc-17-3829-2023 — the converter's TOP tier MEASURED_CURVES exercised with real data for the first time, closing the three-tier ladder on real wells); **Agassiz77** (Agassiz Ice Cap, Ellesmere Island, CANADIAN Arctic, 1977 — a second COMPLETE measured temperature curve, 67 stations in a different thermal regime, the catalogue's oldest measurement); **L07-01** (Petroland 1971, Dutch North Sea via NLOG — the first DESCENDING-index log, flowing converter→loader→engine order-agnostically); **the L06-06 survey** (NLOG — the FIRST REAL WELL TRAJECTORY: 200 measured stations, MD/inclination/azimuth/TVD to MD 5,605, driving `DeviationSurvey` and the engine's MD→TVD physics on real data; survey entries refuse `stream()` — kind discipline; units-undeclared ambiguity DISCLOSED, not assumed); and **Volve 15/9-19 A core analysis** (Equinor — the first LABORATORY GROUND TRUTH: 87 core-plug samples, core 1 complete plus the 20,800 mD ultra-permeability streak, permeability spanning ×138,000 in one excerpt, porosity/saturations/grain density with the lab's interleaved sample pattern preserved exactly; units interpretive-not-in-file DISCLOSED in provenance; `read_core_csv` + core-kind dispatch). Real files drove four port upgrades across the arc: wrapped-LAS parsing (superseding the v1.8.0 refusal only once a real wrapped file existed to verify against), the LAS 1.x meta branch, ~P BHT/TMAX/TDL/TDD meta anchors, and descending-index handling. Catalogue standing: **TEN entries / EIGHT regions / FIVE kinds** (log excerpts, complete logs, measured temperature curves, real trajectory, core analysis) — the closed stream now has real wells to describe, real curves to convert, a real trajectory to bend to, and lab ground truth to calibrate against. Package v1.20.0 (catalog/ 20 files, measured). **Totals: 2,253 wired (2,308 DISPATCH keys) / gate 5,858 green / 4,180 defs. Next paper: PAPER_2258.**
52
52
 
53
53
  Author: Daniel T. Murphy · Star-Magic Research Program
54
54
  License: AGPL-3.0-or-later OR Commercial
@@ -106,7 +106,7 @@ Mizuno, Rossi).
106
106
  Full framework physics lives in the whitepaper corpus — the physics is the
107
107
  whitepapers; the calculator computes what the whitepapers derive.
108
108
 
109
- ## What is currently shipped (v0.397.0)
109
+ ## What is currently shipped (v0.398.0)
110
110
 
111
111
  ### Wiring campaign — LIVE (see `CLAUDE.md` charter)
112
112
 
@@ -72,9 +72,23 @@ uqff_downhole_simulator/uqff_reconciler.py
72
72
  uqff_downhole_simulator/uqff_service_life.py
73
73
  uqff_downhole_simulator/uqff_telemetry.py
74
74
  uqff_downhole_simulator/uqff_tool_library.py
75
+ uqff_downhole_simulator/catalog/agassiz77_canada_temperature.csv
76
+ uqff_downhole_simulator/catalog/agassiz77_canada_temperature.provenance.json
77
+ uqff_downhole_simulator/catalog/collingwood_1_28_ks_complete.las
78
+ uqff_downhole_simulator/catalog/collingwood_1_28_ks_complete.provenance.json
79
+ uqff_downhole_simulator/catalog/gisp2_greenland_temperature.csv
80
+ uqff_downhole_simulator/catalog/gisp2_greenland_temperature.provenance.json
75
81
  uqff_downhole_simulator/catalog/kennetcook_2_p129_excerpt.las
76
82
  uqff_downhole_simulator/catalog/kennetcook_2_p129_excerpt.provenance.json
83
+ uqff_downhole_simulator/catalog/l06_06_nl_survey.csv
84
+ uqff_downhole_simulator/catalog/l06_06_nl_survey.provenance.json
85
+ uqff_downhole_simulator/catalog/l07_01_nl_excerpt.las
86
+ uqff_downhole_simulator/catalog/l07_01_nl_excerpt.provenance.json
77
87
  uqff_downhole_simulator/catalog/scorpio_e1_sa_excerpt.las
78
88
  uqff_downhole_simulator/catalog/scorpio_e1_sa_excerpt.provenance.json
89
+ uqff_downhole_simulator/catalog/university_6_17_no1_tx_excerpt.las
90
+ uqff_downhole_simulator/catalog/university_6_17_no1_tx_excerpt.provenance.json
79
91
  uqff_downhole_simulator/catalog/volve_15_9_19_sr_excerpt.las
80
- uqff_downhole_simulator/catalog/volve_15_9_19_sr_excerpt.provenance.json
92
+ uqff_downhole_simulator/catalog/volve_15_9_19_sr_excerpt.provenance.json
93
+ uqff_downhole_simulator/catalog/volve_15_9_19a_core_excerpt.csv
94
+ uqff_downhole_simulator/catalog/volve_15_9_19a_core_excerpt.provenance.json
@@ -73,7 +73,7 @@ from uqff_registry_primitives import (
73
73
  DELTA_M2_21_EV2, DELTA_M2_32_EV2,
74
74
  )
75
75
 
76
- VERSION = "0.397.0"
76
+ VERSION = "0.398.0"
77
77
 
78
78
  # NAMED OBSERVED SI ANCHORS (constant drain 2026-08-16, PAPER_2141 bulk pattern + PAPER_2149 observation-headlining)
79
79
  # Bit-identical to the literals they replace; UQFF-derived counterparts live in uqff_registry_primitives.
@@ -398,3 +398,126 @@ Verification (all gate-pinned per run): every entry's first values verbatim
398
398
  (GR 5.3274 / GAMN 72.0574 / CALI 2.4438154697), NULLs → NaN in all three
399
399
  dialects, provenance complete on all entries, BHT-anchor math checked against
400
400
  the surface→42 °C@TD line, wrapped safety (partial records dropped).
401
+
402
+ ## v1.14.0 extension: catalogue well 4 — Texas (Daniel-directed, 2026-08-24)
403
+
404
+ **UNIVERSITY 6-17 NO.1** (Wildcat field, Section 17, Reagan County, Texas —
405
+ Permian region; API 42-303-34774; logged by Halliburton, 06-21-97; via the
406
+ public PetroPy library redistribution of Texas University Lands data): 50
407
+ verbatim sonic-run rows at 2,747–2,771.5 ft from a 17-curve, 2,587–9,110 ft
408
+ well. Three firsts: **LAS VERSION 1.2** (the catalogue's third version
409
+ dialect — its value-after-colon header convention exposed a meta-capture bug,
410
+ fixed by branching on VERS, so the well identity now reads correctly);
411
+ **first imperial-depth well** (converter `depth_unit='ft'` path); and the
412
+ **second real BHT anchor — 141.0 °F at TD 9,097 ft** — in DEGF, exercising
413
+ the converter's no-conversion unit branch (T(2,747 ft) = 94.9 °F on the
414
+ surface→141 °F line, arithmetic gate-checked).
415
+
416
+ Catalogue standing: **four real wells, four regions** (North Sea, South
417
+ Australia, Nova Scotia, Texas), **three LAS version dialects**, **two real
418
+ BHT anchors**, every entry provenance-complete.
419
+
420
+ ## v1.15.0 extension: catalogue well 5 — Kansas, the first complete file (Daniel-directed, 2026-08-24)
421
+
422
+ **COLLINGWOOD 1-28** (Amoco Production, Nicholas field, Stanton County, Kansas;
423
+ API 15-187-20743; Sec 28-T30S-R39W; Halliburton, 31-MAY-94; KGS ID 1001178549 —
424
+ the Kansas Geological Survey archive reached at last, via the public lasio
425
+ redistribution, complete with the KGS update-history comments riding in-file).
426
+ Three catalogue milestones: the **first COMPLETE entry** (the entire public
427
+ file verbatim — the 5-station interval slice at 1,783.5–1,784.5 ft was KGS's
428
+ own archiving, disclosed as theirs); the **second wrapped shape** (27 curves,
429
+ depth line + 7/7/7/5-value continuation lines — IDGR 50.6465 API verbatim);
430
+ and the **third real BHT (125 °F)** which, with NO TD parameter in the file,
431
+ exercises the converter's honest-fallback branch: no TD → no fabricated
432
+ anchor line → labeled DERIVED_GRADIENTS. Refusal-over-invention, proven on
433
+ real data.
434
+
435
+ **Catalogue standing: five real wells, five regions** (North Sea, South
436
+ Australia, Nova Scotia, Texas, Kansas), three LAS version dialects, two
437
+ wrapped record shapes, three real BHT anchors — every entry
438
+ provenance-complete, every pinned value verbatim.
439
+
440
+ ## v1.16.0 extension: catalogue well 6 — GISP2, the temperature-curve prize (Daniel-directed, 2026-08-24)
441
+
442
+ **GISP2** (Greenland Ice Sheet Project 2 borehole, Summit, Greenland — the
443
+ USGS/Clow precision temperature log of one of Earth's most famous boreholes),
444
+ via the GEUS ice-temperature database (Løkkegaard et al. 2023, *The
445
+ Cryosphere*, doi:10.5194/tc-17-3829-2023; data DOI 10.22008/FK2/3BVF9V). The
446
+ prize the hunt was for: the catalogue's **first continuous MEASURED
447
+ temperature profile** — 598 stations, 72.61–3,053.15 m to bedrock, the
448
+ COMPLETE file verbatim, from −31.41 °C near surface through the −32.13 °C
449
+ glacial-memory minimum (1,495 m) to −9.29 °C at the bed.
450
+
451
+ New machinery: `read_temperature_csv` ingests the GEUS `d,t` format as a
452
+ depth-indexed LiveStream with a TEMP channel; the catalogue loader accepts
453
+ CSV entries with the same mandatory provenance sidecars. With this entry the
454
+ converter's **top tier (MEASURED_CURVES) runs on real data for the first
455
+ time** (°C→°F branch checked at the bed: 15.29 °F) — **all three tiers of the
456
+ honesty ladder are now proven on real wells.** Transcription integrity is
457
+ gate-screened: endpoints and the minimum verbatim, depth strictly monotonic,
458
+ max step-to-step ΔT 0.13 °C. Disclosed honestly: it's an ice borehole, and
459
+ the pressure column remains DERIVED hydrostatic, labeled.
460
+
461
+ **Catalogue standing: six entries, six regions** (North Sea, South Australia,
462
+ Nova Scotia, Texas, Kansas, Greenland), four formats (LAS 1.2, LAS 2.0
463
+ unwrapped, LAS 2.0 wrapped ×2 shapes, temperature-CSV), three real BHTs, one
464
+ full measured temperature curve. The prize hunt is closed.
465
+
466
+ ## v1.17.0 extension: catalogue well 7 — Agassiz77, Canada (Daniel-directed, 2026-08-24)
467
+
468
+ **Agassiz77** (Agassiz Ice Cap, Ellesmere Island, Canadian Arctic; measured
469
+ 1977 — the catalogue's oldest measurement; Clarke/Fisher/Waddington science
470
+ lineage) via the same GEUS database as GISP2. COMPLETE file: 67 stations at
471
+ 10.91–340.91 m, −24.16 → −16.74 °C — a thin High Arctic cap's monotonic
472
+ profile, the thermal-regime counterpart to GISP2's deep-sheet glacial-memory
473
+ curve. The MEASURED_CURVES tier now holds **two real wells in two different
474
+ thermal regimes**. The database's own metadata caveats (approximate location;
475
+ thickness mismatch vs Vinther 2008) are carried verbatim in the provenance —
476
+ their disclosure, preserved. **Seven entries, seven regions** (North Sea,
477
+ South Australia, Nova Scotia, Texas, Kansas, Greenland, Canada).
478
+
479
+ ## v1.18.0 extension: catalogue well 8 — L07-01, Netherlands (Daniel-directed, 2026-08-24)
480
+
481
+ **L07-01** (Petroland, Dutch North Sea offshore; NLOG UBID 7264; logged 1971;
482
+ TD 3,934 m) via the NLOG open-data mandate, redistributed publicly. 50 verbatim
483
+ deep quad-combo rows (GR/DT/RHOB/NPHI at 3,915.8–3,910.9 m; GR[0] = 122.553802
484
+ GAPI). New dialect coverage: the catalogue's first **descending depth index**
485
+ (STEP = −0.1 m, logged bottom-up 3,928 → 64.9 m) — preserved as-logged through
486
+ ingest, then handled order-agnostically by the converter → sorting profile
487
+ loader → engine chain, gate-verified. **Eight entries, eight regions** (North
488
+ Sea NO, South Australia, Nova Scotia, Texas, Kansas, Greenland, Canada,
489
+ Netherlands).
490
+
491
+ ## v1.19.0 extension: catalogue entry 9 — the L06-06 real trajectory (Daniel-directed, 2026-08-24)
492
+
493
+ **L06-06 deviation survey** (Dutch North Sea, NLOG open archive via public
494
+ redistribution): the catalogue's first **REAL_DEVIATION_SURVEY** — the
495
+ COMPLETE file, 200 measured stations verbatim (MD, inclination 0–5.82°,
496
+ azimuth, TVD, X/Y offsets; MD 74.2 → 5,605 with TVD 5,595.27; a gently
497
+ deviated S-shaped deep well). New machinery: `read_survey_csv` (long-form
498
+ NLOG headers → `DeviationSurvey`, MD→TVD taken directly from the measured
499
+ columns — no minimum-curvature reconstruction needed); the catalogue
500
+ distinguishes CSV kinds by header, and a survey entry **refuses `stream()`**
501
+ with direction to `.survey()` — a trajectory is not a log stream. Honest
502
+ notes carried in provenance: units not declared in-file (recorded, not
503
+ assumed away; MD/TVD are used relative to each other, which is
504
+ unit-invariant), and real tie-on duplicate stations preserved. Verified:
505
+ TVD ≤ MD at every station; the real trajectory drives the engine's MD→TVD
506
+ physics (deepest-gauge ΔP 4.5 psi vs vertical — small and real, exactly what
507
+ a 5.8°-max well should do). **Nine catalogue entries.**
508
+
509
+ ## v1.20.0 extension: catalogue entry 10 — Volve core analysis (Daniel-directed, 2026-08-24)
510
+
511
+ **15/9-19 A conventional core analysis** (Equinor Volve open data via public
512
+ redistribution): the catalogue's first **REAL_CORE_ANALYSIS** — laboratory
513
+ ground truth. 87 verbatim core-plug samples: core 1 complete (3,838.6–3,853.8
514
+ m) plus the core-2 ultra-permeability streak (incl. **20,800 mD** — the
515
+ excerpt alone spans ×138,000 in permeability), with core porosity,
516
+ oil/water saturations, and grain density; the lab's interleaved
517
+ saturation-vs-plug sample pattern preserved exactly. New machinery:
518
+ `read_core_csv` (Volve-style header → depth-indexed LiveStream, blanks →
519
+ NaN); units are interpretive-not-in-file and disclosed as such in
520
+ provenance. Core data is the calibration endpoint a petrophysics layer would
521
+ tie logs to — the closed stream's future ground truth, now in the repo.
522
+ **Ten catalogue entries, five kinds** (log excerpts, complete logs, measured
523
+ temperature curves, real trajectory, core analysis).