star-magic-program 0.402.0__tar.gz → 0.403.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.
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/CHANGELOG.md +57 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/CITATION.cff +2 -2
- {star_magic_program-0.402.0/star_magic_program.egg-info → star_magic_program-0.403.0}/PKG-INFO +9 -8
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/README.md +6 -6
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/SESSION_LOG.md +77 -0
- star_magic_program-0.403.0/UNIFIED_REGISTRY_VERSION.txt +1 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_XGEO_QUEUE.csv +1 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_XGEO_ROUTES.csv +1 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/WHITEPAPER_INDEX.md +1 -1
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/_BUILD_LOG.md +6 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/pyproject.toml +4 -3
- {star_magic_program-0.402.0 → star_magic_program-0.403.0/star_magic_program.egg-info}/PKG-INFO +9 -8
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/star_magic_program.egg-info/SOURCES.txt +6 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/star_magic_program.egg-info/requires.txt +1 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_calculator.py +1 -1
- star_magic_program-0.403.0/uqff_downhole_simulator/BENCH_TEST_PROTOCOL.md +97 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/README.md +171 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/__init__.py +15 -1
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/__main__.py +113 -5
- star_magic_program-0.403.0/uqff_downhole_simulator/acceptance_tests.py +449 -0
- star_magic_program-0.403.0/uqff_downhole_simulator/uqff_bench.py +141 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/uqff_downhole_engine.py +115 -8
- star_magic_program-0.403.0/uqff_downhole_simulator/uqff_gamma.py +173 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/uqff_modbus.py +8 -0
- star_magic_program-0.403.0/uqff_downhole_simulator/uqff_operator_app.py +439 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/uqff_ports.py +9 -2
- star_magic_program-0.403.0/uqff_downhole_simulator/uqff_well_assembler.py +350 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_fidelity_tests.py +300 -5
- star_magic_program-0.402.0/UNIFIED_REGISTRY_VERSION.txt +0 -1
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/AUDIT_500_PAPER_REPORT.md +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/COMMERCIAL.md +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/LICENSE +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/LICENSE-AGPL-3.0.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/LICENSE-MIT-INITIAL.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/NOTICE +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_ANCHORS.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_EXACT_IDENTITIES.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_FALSIFIABILITY.md +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_OPEN_ITEMS.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_PARADOX_CENSUS.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_PREDICTIONS.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_PROGRAM_PLAN.md +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_RESIDUALS.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_RESULTS_TABLE.md +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_SCHEMA.md +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_STATUS_REPORT.md +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_XGEO_CONFIRMATIONS.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/UNIFIED_REGISTRY_XGEO_EXTRACTED.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/notebooks/00_quickstart.ipynb +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/reference/COMPLETE_UQFF_EQUATIONS_REFERENCE.pdf +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/reference/Star-Magic_manuscript_v5.pdf +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/reference/UQFF_VALIDATION_SYNC_AUDIT.pdf +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/reference/uqff_production_arxiv.pdf +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/registry_generator.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/setup.cfg +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/star_magic_program.egg-info/dependency_links.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/star_magic_program.egg-info/top_level.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_backbone_locks.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_derived_constants.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_derived_functions.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/acex_lomonosov_age_depth_model.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/acex_lomonosov_age_depth_model.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/agassiz77_canada_temperature.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/agassiz77_canada_temperature.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/chicxulub_m0077a_pwave_velocity.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/chicxulub_m0077a_pwave_velocity.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/collingwood_1_28_ks_complete.las +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/collingwood_1_28_ks_complete.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/dsdp_504b_physical_properties.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/dsdp_504b_physical_properties.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/dsdp_504b_sound_velocity.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/dsdp_504b_sound_velocity.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/gisp2_greenland_temperature.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/gisp2_greenland_temperature.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/iodp_u1324_pore_pressure.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/iodp_u1324_pore_pressure.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/kennetcook_2_p129_excerpt.las +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/kennetcook_2_p129_excerpt.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/ktb_hb_bhgm_density.dat +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/ktb_hb_bhgm_density.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/ktb_hb_hlog246_temperature.dat +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/ktb_hb_hlog246_temperature.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/ktb_hb_rockmech_compress.dat +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/ktb_hb_rockmech_compress.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/ktb_hb_tvd_0_9080_excerpt.dat +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/ktb_hb_tvd_0_9080_excerpt.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/ktb_vb_rockmech_compress.dat +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/ktb_vb_rockmech_compress.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/ktb_vb_vlog251_temperature.dat +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/ktb_vb_vlog251_temperature.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/l06_06_nl_survey.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/l06_06_nl_survey.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/l07_01_nl_excerpt.las +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/l07_01_nl_excerpt.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/nankai_megasplay_shear_strength.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/nankai_megasplay_shear_strength.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_1027b_thermal_conductivity.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_1027b_thermal_conductivity.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_1027c_cork_temperature.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_1027c_cork_temperature.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_1165b_thermal_conductivity.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_1165b_thermal_conductivity.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_1274a_mantle_peridotite_mad.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_1274a_mantle_peridotite_mad.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_504b_dike_elastic_moduli.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_504b_dike_elastic_moduli.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_504b_leg137_borehole_fluids.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_504b_leg137_borehole_fluids.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_735b_gabbro_elastic_moduli.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/odp_735b_gabbro_elastic_moduli.txt +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/scorpio_e1_sa_excerpt.las +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/scorpio_e1_sa_excerpt.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/university_6_17_no1_tx_excerpt.las +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/university_6_17_no1_tx_excerpt.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/volve_15_9_19_sr_excerpt.las +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/volve_15_9_19_sr_excerpt.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/volve_15_9_19a_core_excerpt.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/volve_15_9_19a_core_excerpt.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/volve_f12_f14_production_excerpt.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/catalog/volve_f12_f14_production_excerpt.provenance.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/example_register_map.json +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/matplotlib_demo.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/qt6_downhole_app.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/sample_well_profile.csv +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/uqff_case_study.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/uqff_deviation.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/uqff_follower.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/uqff_gauge_specs.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/uqff_profile_catalog.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/uqff_quartz_hpht_extension.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/uqff_reconciler.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/uqff_service_life.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/uqff_telemetry.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_downhole_simulator/uqff_tool_library.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_fubii_variants.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_material_landmarks.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_ngc_catalog.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_primitive_identities.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_registry_graph.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_registry_primitives.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_registry_status.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_registry_xgeo.py +0 -0
- {star_magic_program-0.402.0 → star_magic_program-0.403.0}/uqff_session_closures.py +0 -0
|
@@ -7,6 +7,63 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## v0.403.0 — 2026-08-27 — THE PRODUCT SHIP
|
|
11
|
+
|
|
12
|
+
The independent evaluation's finish sequence, **executed** (`uqff_downhole_simulator` v1.41.0–v1.48.0):
|
|
13
|
+
|
|
14
|
+
**Finish sequence (1–5) = FINISHED OFFLINE PRODUCT, by the evaluation's own criterion:**
|
|
15
|
+
|
|
16
|
+
- **v1.41** Modbus unified — registry entry IS the real client; disciplined
|
|
17
|
+
minimal refusal; static source discloses the runtime upgrade.
|
|
18
|
+
- **v1.42** The well assembler — WellAssembly per site family; strict
|
|
19
|
+
measured-coverage lookups; overburden from the site's own density;
|
|
20
|
+
engine bridge with Rule-7 method labels.
|
|
21
|
+
- **v1.43** Measured wells as engine defaults — `run --well ktb_hb` on the
|
|
22
|
+
1994 log; Volve F-12 measured downhole P as the reconciler live leg
|
|
23
|
+
(drawdown → UNEXPLAINED_TREND: not drift).
|
|
24
|
+
- **v1.44** The operator surface — headless gate-tested OperatorSession +
|
|
25
|
+
Qt6 view; rating check BLOCKS the run on measured conditions; permanent
|
|
26
|
+
citations pane (suppression labeled DERIVED_HYBRID in the UI).
|
|
27
|
+
- **v1.45** The acceptance suite — in-package product gate (`accept`),
|
|
28
|
+
grown to 55 checks; independence from the physics corpus enforced by
|
|
29
|
+
construction (subprocess + static verification).
|
|
30
|
+
|
|
31
|
+
**Field tier:**
|
|
32
|
+
|
|
33
|
+
- **v1.46** (6a) Gamma/lithology from the catalogue's own curves — six
|
|
34
|
+
gamma-bearing entries under unit discipline; KTB pilot 80 intervals;
|
|
35
|
+
Volve sand/shale split; every number labeled.
|
|
36
|
+
- **v1.47** (6b) Mixed toolstrings — honest per-station legs; aggregates
|
|
37
|
+
over twin stations only; rating check inside the engine constructor.
|
|
38
|
+
- **v1.48** (8) Bench-test protocol — BENCH_TEST_PROTOCOL.md in-package;
|
|
39
|
+
falsifiable R = 1.0324 both directions; four-verdict analysis
|
|
40
|
+
self-verified as SIMULATION_SELF_TEST.
|
|
41
|
+
|
|
42
|
+
Mid-arc audit (Daniel): twin track verified by measurement at every layer;
|
|
43
|
+
three small gaps found and fixed in-arc (gui extra + matplotlib,
|
|
44
|
+
LAS-ingest button, twin-leg drift tab). Remaining: step 7 only (one live
|
|
45
|
+
site path — needs a real host + cited register map).
|
|
46
|
+
|
|
47
|
+
Gate 5,904 → 5,924, 0 failures. Acceptance 55/55. 23-file pass.
|
|
48
|
+
|
|
49
|
+
**REMANUFACTURED 2026-08-27 (same version; tag preserved, PyPI never
|
|
50
|
+
received the first push):** CI failed on all runners at the FINISH-SEQ 2
|
|
51
|
+
pin — `AttributeError: numpy has no attribute 'trapz'` (numpy ≥ 2.0
|
|
52
|
+
removed the alias; CI resolves newer numpy than the authoring sandbox's
|
|
53
|
+
proxy-pinned 2.2.6, which still carried it — every local repro was green
|
|
54
|
+
for exactly that reason). Fix: the assembler's overburden integral now
|
|
55
|
+
prefers `np.trapezoid` with a 1.x fallback; a portability-guard pin bans
|
|
56
|
+
direct `np.trapz` from the assembler and canonizes the standing rule
|
|
57
|
+
(local dependency versions are NOT the ship's — removed-alias sweeps are
|
|
58
|
+
ship prep). Also found in the same audit: the tracked
|
|
59
|
+
`star_magic_program-0.402.0/` sdist staging tree (129 stale files left
|
|
60
|
+
by a failed in-repo build on the mounted FS, committed by `add -A` at
|
|
61
|
+
v0.402.0) — `.gitignore` now blocks `star_magic_program-*/`; Daniel
|
|
62
|
+
removes the tree with `git rm -r star_magic_program-0.402.0` on Windows.
|
|
63
|
+
Acceptance A2's stochastic band widened; the gate's acceptance-subprocess
|
|
64
|
+
pin now embeds subprocess stderr in its failure message. Gate 5,925/0.
|
|
65
|
+
|
|
66
|
+
---
|
|
10
67
|
## v0.402.0 — 2026-08-27 — THE POLE-TO-POLE SHIP
|
|
11
68
|
|
|
12
69
|
The downhole catalogue grows **TWENTY → THIRTY entries** across ten
|
|
@@ -3,7 +3,7 @@ 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.
|
|
6
|
+
version: "0.403.0"
|
|
7
7
|
date-released: "2026-08-27"
|
|
8
8
|
authors:
|
|
9
9
|
- family-names: "Murphy"
|
|
@@ -53,7 +53,7 @@ preferred-citation:
|
|
|
53
53
|
- family-names: "Murphy"
|
|
54
54
|
given-names: "Daniel T."
|
|
55
55
|
year: 2026
|
|
56
|
-
version: "0.
|
|
56
|
+
version: "0.403.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
|
{star_magic_program-0.402.0/star_magic_program.egg-info → star_magic_program-0.403.0}/PKG-INFO
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: star-magic-program
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: Star-Magic UQFF calculator v0.
|
|
3
|
+
Version: 0.403.0
|
|
4
|
+
Summary: Star-Magic UQFF calculator v0.403.0: THE PRODUCT SHIP. 2,253 dispatches (2,308 keys), gate 5,924/0. The downhole simulator completes the adopted independent-evaluation plan (v1.41-v1.48): finish sequence 1-5 - modbus unified, well assembler, measured wells as engine defaults, operator surface, in-package 55-check acceptance suite = FINISHED OFFLINE PRODUCT; field tier 6a gamma/lithology from catalogue curves, 6b mixed toolstrings + in-engine rating block, 8 bench-test protocol. 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
|
|
@@ -34,21 +34,22 @@ Provides-Extra: modbus
|
|
|
34
34
|
Requires-Dist: pymodbus>=3.15; extra == "modbus"
|
|
35
35
|
Provides-Extra: gui
|
|
36
36
|
Requires-Dist: PyQt6; extra == "gui"
|
|
37
|
+
Requires-Dist: matplotlib; extra == "gui"
|
|
37
38
|
Dynamic: license-file
|
|
38
39
|
|
|
39
40
|
# Star-Magic-Program
|
|
40
41
|
|
|
41
|
-
[](https://pypi.org/project/star-magic-program/)
|
|
43
|
+
[](https://pypi.org/project/star-magic-program/)
|
|
43
44
|
[](https://star-magic-program.readthedocs.io/en/latest/?badge=latest)
|
|
44
45
|
[](LICENSE)
|
|
45
|
-
[](uqff_fidelity_tests.py)
|
|
46
47
|
[](uqff_calculator.py)
|
|
47
48
|
[](whitepapers/)
|
|
48
49
|
|
|
49
|
-
**UQFF systematic rebuild — v0.
|
|
50
|
+
**UQFF systematic rebuild — v0.403.0 complete-compile campaign live**
|
|
50
51
|
|
|
51
|
-
**This release (v0.
|
|
52
|
+
**This release (v0.403.0): THE PRODUCT SHIP — THE INDEPENDENT EVALUATION'S FINISH SEQUENCE, EXECUTED.** An independent component-inventory and gap analysis of the v1.30.0 simulator (supplied 2026-08-27, verified claim-by-claim against the code, adopted verbatim as the standing plan) drew the line: after steps 1–5 it is a finished offline product. Eight package versions later (`uqff_downhole_simulator` v1.41.0–v1.48.0), the line is crossed and machine-verified. **The finish sequence:** (1) Modbus unified — the registry entry IS the real pymodbus client, refusal disciplined and minimal (refuses ONLY when host/register map are missing, naming which), the static source now disclosing what the runtime does; (2) the **well assembler** un-strands the catalogue — one WellAssembly per site family (KTB-HB, Site 1027, U1324, 504B), strict measured-coverage lookups that refuse rather than clamp, overburden integrated from the site's own density; (3) **measured wells are the engine defaults** — `run --well ktb_hb` simulates on the 1994 German deep-hole log, and the catalogued Volve F-12 measured downhole pressure becomes the reconciler's live leg, its −1,096 psi/yr drawdown classified UNEXPLAINED_TREND (reservoir physics correctly refused as gauge drift); (4) the **operator surface** — a headless, fully gate-tested OperatorSession under a Qt6 view: well picker, toolstring builder whose rating check BLOCKS the run against measured conditions (the 1994 KTB log is hotter than the 177 °C tool class at depth — no contrived kick needed), live P/T + twin-leg drift tabs, undervalued-stream alerts, and a citations pane that never disappears; (5) the **in-package acceptance suite** — `python -m uqff_downhole_simulator accept`, 55 checks across nine sections, independence from the physics corpus enforced by construction (the fidelity gate runs it as a subprocess AND statically verifies the module never references the calculator or any paper). **The field tier opens:** (6a) **lithology from the catalogue's own gamma curves** — six entries qualify under unit-disciplined detection (the catalogue's own trap cases pinned: KTB GRAV/mGals is gravimetry), the KTB pilot's 1,082-point log yielding 80 alternating intervals and Volve SR the textbook sand/shale split, every number labeled (INDUSTRY_STANDARD / STATISTICAL_PICKS / CONVENTION / no invented detector); (6b) **mixed toolstrings** — per-station tool models with honest legs (twin / reference-only / labeled class envelope / refused-but-still-streaming-well-P/T), aggregates computed over twin stations only with counts disclosed, and the rating check enforced INSIDE the engine constructor; (8) the **bench-test protocol** — BENCH_TEST_PROTOCOL.md ships in-package with the falsifiable prediction (paired GEOQ-class gauges, drift ratio R = 1.0324 at unity trims, ≥90 days honoring the reconciler's own 18-day floor), both-outcome labeling rules (confirmation → MEASURED_ON_BENCH with the full record attached; refutation → DERIVED_HYBRID with the refutation on record; no silent trim retuning), and `uqff_bench.py`'s four-verdict analysis self-verified on synthetic legs in output labeled SIMULATION_SELF_TEST — arithmetic verified, physics honestly unclaimed. **Remaining: step 7 only** — one live site path, blocked on what no code can supply (a real host and a cited register map from a real site). DERIVED_HYBRID stayed DERIVED_HYBRID throughout; U_i stays loaded-but-unused pending the Rule-10 derivation path; the twin solution track was audited by measurement at every layer mid-arc at Daniel's direction, and three small gaps that audit found were fixed in-arc, not deferred. **Totals: 2,253 wired (2,308 DISPATCH keys) / gate 5,925 green / 4,180 defs / acceptance 55 green. Next paper: PAPER_2258.**
|
|
52
53
|
|
|
53
54
|
Author: Daniel T. Murphy · Star-Magic Research Program
|
|
54
55
|
License: AGPL-3.0-or-later OR Commercial
|
|
@@ -106,7 +107,7 @@ Mizuno, Rossi).
|
|
|
106
107
|
Full framework physics lives in the whitepaper corpus — the physics is the
|
|
107
108
|
whitepapers; the calculator computes what the whitepapers derive.
|
|
108
109
|
|
|
109
|
-
## What is currently shipped (v0.
|
|
110
|
+
## What is currently shipped (v0.403.0)
|
|
110
111
|
|
|
111
112
|
### Wiring campaign — LIVE (see `CLAUDE.md` charter)
|
|
112
113
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
# Star-Magic-Program
|
|
2
2
|
|
|
3
|
-
[](https://pypi.org/project/star-magic-program/)
|
|
4
|
+
[](https://pypi.org/project/star-magic-program/)
|
|
5
5
|
[](https://star-magic-program.readthedocs.io/en/latest/?badge=latest)
|
|
6
6
|
[](LICENSE)
|
|
7
|
-
[](uqff_fidelity_tests.py)
|
|
8
8
|
[](uqff_calculator.py)
|
|
9
9
|
[](whitepapers/)
|
|
10
10
|
|
|
11
|
-
**UQFF systematic rebuild — v0.
|
|
11
|
+
**UQFF systematic rebuild — v0.403.0 complete-compile campaign live**
|
|
12
12
|
|
|
13
|
-
**This release (v0.
|
|
13
|
+
**This release (v0.403.0): THE PRODUCT SHIP — THE INDEPENDENT EVALUATION'S FINISH SEQUENCE, EXECUTED.** An independent component-inventory and gap analysis of the v1.30.0 simulator (supplied 2026-08-27, verified claim-by-claim against the code, adopted verbatim as the standing plan) drew the line: after steps 1–5 it is a finished offline product. Eight package versions later (`uqff_downhole_simulator` v1.41.0–v1.48.0), the line is crossed and machine-verified. **The finish sequence:** (1) Modbus unified — the registry entry IS the real pymodbus client, refusal disciplined and minimal (refuses ONLY when host/register map are missing, naming which), the static source now disclosing what the runtime does; (2) the **well assembler** un-strands the catalogue — one WellAssembly per site family (KTB-HB, Site 1027, U1324, 504B), strict measured-coverage lookups that refuse rather than clamp, overburden integrated from the site's own density; (3) **measured wells are the engine defaults** — `run --well ktb_hb` simulates on the 1994 German deep-hole log, and the catalogued Volve F-12 measured downhole pressure becomes the reconciler's live leg, its −1,096 psi/yr drawdown classified UNEXPLAINED_TREND (reservoir physics correctly refused as gauge drift); (4) the **operator surface** — a headless, fully gate-tested OperatorSession under a Qt6 view: well picker, toolstring builder whose rating check BLOCKS the run against measured conditions (the 1994 KTB log is hotter than the 177 °C tool class at depth — no contrived kick needed), live P/T + twin-leg drift tabs, undervalued-stream alerts, and a citations pane that never disappears; (5) the **in-package acceptance suite** — `python -m uqff_downhole_simulator accept`, 55 checks across nine sections, independence from the physics corpus enforced by construction (the fidelity gate runs it as a subprocess AND statically verifies the module never references the calculator or any paper). **The field tier opens:** (6a) **lithology from the catalogue's own gamma curves** — six entries qualify under unit-disciplined detection (the catalogue's own trap cases pinned: KTB GRAV/mGals is gravimetry), the KTB pilot's 1,082-point log yielding 80 alternating intervals and Volve SR the textbook sand/shale split, every number labeled (INDUSTRY_STANDARD / STATISTICAL_PICKS / CONVENTION / no invented detector); (6b) **mixed toolstrings** — per-station tool models with honest legs (twin / reference-only / labeled class envelope / refused-but-still-streaming-well-P/T), aggregates computed over twin stations only with counts disclosed, and the rating check enforced INSIDE the engine constructor; (8) the **bench-test protocol** — BENCH_TEST_PROTOCOL.md ships in-package with the falsifiable prediction (paired GEOQ-class gauges, drift ratio R = 1.0324 at unity trims, ≥90 days honoring the reconciler's own 18-day floor), both-outcome labeling rules (confirmation → MEASURED_ON_BENCH with the full record attached; refutation → DERIVED_HYBRID with the refutation on record; no silent trim retuning), and `uqff_bench.py`'s four-verdict analysis self-verified on synthetic legs in output labeled SIMULATION_SELF_TEST — arithmetic verified, physics honestly unclaimed. **Remaining: step 7 only** — one live site path, blocked on what no code can supply (a real host and a cited register map from a real site). DERIVED_HYBRID stayed DERIVED_HYBRID throughout; U_i stays loaded-but-unused pending the Rule-10 derivation path; the twin solution track was audited by measurement at every layer mid-arc at Daniel's direction, and three small gaps that audit found were fixed in-arc, not deferred. **Totals: 2,253 wired (2,308 DISPATCH keys) / gate 5,925 green / 4,180 defs / acceptance 55 green. 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.
|
|
71
|
+
## What is currently shipped (v0.403.0)
|
|
72
72
|
|
|
73
73
|
### Wiring campaign — LIVE (see `CLAUDE.md` charter)
|
|
74
74
|
|
|
@@ -12081,3 +12081,80 @@ release paragraph rewritten + badges (fidelity 5906, cacheBust ×2);
|
|
|
12081
12081
|
CHANGELOG + _BUILD_LOG + SHIP_MESSAGE + RULINGS trail; 10 POLE_TO_POLE_ARC
|
|
12082
12082
|
trail rows + WHITEPAPER_INDEX ship note. Gate 5,904 → 5,906, 0 failures.
|
|
12083
12083
|
Awaiting Daniel: `.\ship.ps1` (clear .git/index.lock first).
|
|
12084
|
+
|
|
12085
|
+
## Entry 275 — 2026-08-27 — v0.403.0 THE PRODUCT SHIP (downhole v1.41–v1.48: the finish sequence)
|
|
12086
|
+
|
|
12087
|
+
Daniel supplied an independent evaluation of the v1.30.0 simulator and
|
|
12088
|
+
ruled "I want to follow the plan if it looks right." Verified
|
|
12089
|
+
claim-by-claim against the code (all four spot-checks held; two stale
|
|
12090
|
+
catalogue counts corrected), adopted verbatim, executed step-by-step on
|
|
12091
|
+
GO-cadence:
|
|
12092
|
+
|
|
12093
|
+
1 (v1.41) modbus unification — split was already unified AT RUNTIME (the
|
|
12094
|
+
evaluator's static read could not see it); fixed both real halves:
|
|
12095
|
+
source-honesty disclosure + disciplined config refusal. 2 (v1.42) well
|
|
12096
|
+
assembler — catalogue un-stranded; strict coverage; KTB overburden 190.9
|
|
12097
|
+
MPa under 253-MPa UCS. 3 (v1.43) measured defaults — demo_config +
|
|
12098
|
+
CLI --well/wells; production_live_stream (bar→psi labeled; 9-day stuck
|
|
12099
|
+
fault survives; station MD caller-supplied); Volve drawdown −1,096 psi/yr
|
|
12100
|
+
= UNEXPLAINED_TREND. 4 (v1.44) operator surface — headless session fully
|
|
12101
|
+
gate-tested + thin Qt view; blocking rating check demonstrated on REAL
|
|
12102
|
+
data (KTB window 184 C > 177 C tool class); ServiceLifeSimulator API
|
|
12103
|
+
mismatch found+fixed. 5 (v1.45) acceptance suite — in-package, grown to
|
|
12104
|
+
55 checks; independence by construction; caught its own docstring
|
|
12105
|
+
violating the static check, a case-study --well gap, and its own A2
|
|
12106
|
+
string-luck flakiness. 6a (v1.46) gamma — unit-disciplined (trap cases
|
|
12107
|
+
GRAV/Density-grain pinned); KTB 80 intervals; labels everywhere.
|
|
12108
|
+
6b (v1.47) mixed toolstrings — honest legs; in-engine rating block;
|
|
12109
|
+
first demo steered to the CORK column by the product's own rules.
|
|
12110
|
+
8 (v1.48) bench protocol + four-verdict analysis (selftest R=1.0263
|
|
12111
|
+
±0.0118 CONFIRMS; refute/span/SNR paths earned; SIMULATION_SELF_TEST
|
|
12112
|
+
self-labeled).
|
|
12113
|
+
|
|
12114
|
+
Mid-arc audit (Daniel's three questions): twin track verified by
|
|
12115
|
+
measurement at every layer; UQFF-catalogue coordination honestly
|
|
12116
|
+
inventoried (composition evaluated at measured conditions + envelope
|
|
12117
|
+
confronted with field data; no derivation-match yet — step 8 territory by
|
|
12118
|
+
design); sweep found 3 real gaps (gui extra, LAS button, drift tab),
|
|
12119
|
+
fixed in-arc; two sweep greps were substring false-positives, re-verified
|
|
12120
|
+
before certifying.
|
|
12121
|
+
|
|
12122
|
+
Ship prep: version sync 0.403.0 (desc 500 chars) across pyproject /
|
|
12123
|
+
calculator / gate / CITATION ×2 / registry version; SHIP GUARD marker
|
|
12124
|
+
POLE_TO_POLE_ARC→PRODUCT_ARC (+ GAPS id product_arc_rule7); +2 ship pins
|
|
12125
|
+
(live product-surface census + standing record); README release
|
|
12126
|
+
paragraph + campaign/shipped lines + badges; CHANGELOG + _BUILD_LOG +
|
|
12127
|
+
SHIP_MESSAGE + RULINGS trail; 10 PRODUCT_ARC trail rows + WHITEPAPER_INDEX
|
|
12128
|
+
note. Gate 5,922 → 5,924, 0 failures. Remaining: step 7 only (site
|
|
12129
|
+
details). Awaiting Daniel: `.\ship.ps1` (clear .git/index.lock first).
|
|
12130
|
+
|
|
12131
|
+
## Entry 276 — 2026-08-27 — v0.403.0 REMANUFACTURE (numpy-2 trapz + stale staging tree)
|
|
12132
|
+
|
|
12133
|
+
CI failure diagnosed from Daniel's log screenshots: fidelity-gate (3.12)
|
|
12134
|
+
died at gate line 13695 (FINISH-SEQ 2 pin) -> uqff_well_assembler.py:136
|
|
12135
|
+
`np.trapz` -> AttributeError: numpy >= 2.0 removed the alias. Root cause
|
|
12136
|
+
of the blind-repro failure: the sandbox's proxy-pinned numpy 2.2.6 STILL
|
|
12137
|
+
carries trapz, so every local reproduction (build under setuptools 82/84,
|
|
12138
|
+
pip install ., gate without pymodbus/matplotlib, 36 s green) passed while
|
|
12139
|
+
every CI runner failed. Fix: module-level _TRAPEZOID = np.trapezoid with
|
|
12140
|
+
1.x fallback; overburden call switched; PORTABILITY GUARD 2 pin bans
|
|
12141
|
+
np.trapz in the assembler and re-runs the 190.9-MPa KTB integral on the
|
|
12142
|
+
current interpreter's numpy. STANDING RULE canonized: local dependency
|
|
12143
|
+
versions are NOT the ship's dependency versions - removed-alias sweeps
|
|
12144
|
+
(trapz/in1d/alltrue/product/row_stack/NaN: repo-wide sweep found exactly
|
|
12145
|
+
the one hit) are part of ship prep.
|
|
12146
|
+
|
|
12147
|
+
Same audit found Daniel's 'stale files': the TRACKED
|
|
12148
|
+
star_magic_program-0.402.0/ sdist staging tree (129 files, ~5 MB - the
|
|
12149
|
+
failed in-repo v0.402-prep build could not delete its staging dir on the
|
|
12150
|
+
mounted FS and add -A committed it; it rode through v0.402.0's green CI
|
|
12151
|
+
as dead weight). Sandbox cannot delete it (same mount permission);
|
|
12152
|
+
.gitignore now carries star_magic_program-*/; Daniel removes it on
|
|
12153
|
+
Windows: git rm -r star_magic_program-0.402.0. Hardening kept from the
|
|
12154
|
+
diagnosis pass: acceptance A2 stochastic band widened, acceptance-
|
|
12155
|
+
subprocess pin embeds stderr tail + timeout.
|
|
12156
|
+
|
|
12157
|
+
Per Daniel: tag v0.403.0 NOT burned (PyPI never received it) - same
|
|
12158
|
+
version remanufactured. Gate 5,924 -> 5,925, 0 failures; acceptance
|
|
12159
|
+
55/55; sdist/wheel rebuilt clean. Daniel: delete the stale tree, commit,
|
|
12160
|
+
re-tag v0.403.0 (move tag to the new commit), push.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
v0.403.0
|
|
@@ -1729,3 +1729,4 @@ DEEPDATA_ARC,n/a,n/a,NOT_APPLICABLE,application real-data catalogue single-geome
|
|
|
1729
1729
|
TWENTYWELLS_ARC,n/a,n/a,NOT_APPLICABLE,application real-data catalogue single-geometry,v0.400.0
|
|
1730
1730
|
INCORPORATION_ARC,n/a,n/a,NOT_APPLICABLE,corporate record ship - no physics content,v0.401.0
|
|
1731
1731
|
POLE_TO_POLE_ARC,n/a,n/a,NOT_APPLICABLE,real-data catalogue ship - no cross-geometry content,v0.402.0
|
|
1732
|
+
PRODUCT_ARC,n/a,n/a,NOT_APPLICABLE,product-engineering ship - no cross-geometry content,v0.403.0
|
|
@@ -1730,3 +1730,4 @@ DEEPDATA_ARC,n/a,XGEO_NOT_REQUIRED,none,v0.399.0
|
|
|
1730
1730
|
TWENTYWELLS_ARC,n/a,XGEO_NOT_REQUIRED,none,v0.400.0
|
|
1731
1731
|
INCORPORATION_ARC,n/a,XGEO_NOT_REQUIRED,none,v0.401.0
|
|
1732
1732
|
POLE_TO_POLE_ARC,n/a,XGEO_NOT_REQUIRED,none,v0.402.0
|
|
1733
|
+
PRODUCT_ARC,n/a,XGEO_NOT_REQUIRED,none,v0.403.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; v0.398.0 CATALOGUE SHIP (downhole v1.14-v1.20, ten real-data entries), 2026-08-25; v0.399.0 DEEP DATA SHIP (v1.21-v1.25, entries 11-15, KTB suite + live overburden integral), 2026-08-25; v0.400.0 TWENTY WELLS SHIP (v1.26-v1.30, entries 16-20, quantity ledger closed), 2026-08-25; v0.401.0 INCORPORATION SHIP (six ENRGYONE founding PDFs in pdf/), 2026-08-25; v0.402.0 POLE-TO-POLE SHIP (v1.31-v1.40, entries 21-30: heat-flow closure, 504B four-dataset family + impedance join, crust ladder complete to mantle, Chicxulub, ACEX at 87.89N - thirty entries pole to pole, latitude span >152 deg measured live), 2026-08-27.** = `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; v0.399.0 DEEP DATA SHIP (v1.21-v1.25, entries 11-15, KTB suite + live overburden integral), 2026-08-25; v0.400.0 TWENTY WELLS SHIP (v1.26-v1.30, entries 16-20, quantity ledger closed), 2026-08-25; v0.401.0 INCORPORATION SHIP (six ENRGYONE founding PDFs in pdf/), 2026-08-25; v0.402.0 POLE-TO-POLE SHIP (v1.31-v1.40, entries 21-30: heat-flow closure, 504B four-dataset family + impedance join, crust ladder complete to mantle, Chicxulub, ACEX at 87.89N - thirty entries pole to pole, latitude span >152 deg measured live), 2026-08-27; v0.403.0 PRODUCT SHIP (v1.41-v1.48: evaluation finish sequence 1-5 executed = finished offline product + field tier 6a/6b/8; acceptance suite 55 checks in-package; step 7 alone remains, site-blocked), 2026-08-27.** = `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
|
|
@@ -327,3 +327,9 @@ THE INCORPORATION SHIP: six ENRGYONE, Inc. founding documents (Articles, Bylaws,
|
|
|
327
327
|
|
|
328
328
|
## v0.402.0 — 2026-08-27
|
|
329
329
|
THE POLE-TO-POLE SHIP: downhole v1.31-v1.40 — catalogue 20→30 entries / 18 regions / 19 kinds. Heat-flow closure computed live; 504B four-dataset family + cross-entry impedance join; Antarctica/Nankai/SW-Indian/Mid-Atlantic/Chicxulub/central-Arctic join; crust ladder complete seafloor-mud→mantle; ACEX age model = first time axis; two source-archive typos and two archival row-slips detected and disclosed, never repaired. Ship pin measures the latitude span (>152 deg) live. Gate 5,906/0. 23-file pass verified.
|
|
330
|
+
|
|
331
|
+
## v0.403.0 — 2026-08-27
|
|
332
|
+
THE PRODUCT SHIP: downhole v1.41-v1.48 — the independent evaluation's finish sequence executed 1-5 (modbus unified, well assembler, measured-well engine defaults, operator surface, 55-check in-package acceptance suite) = FINISHED OFFLINE PRODUCT by the evaluation's own criterion; field tier 6a gamma/lithology, 6b mixed toolstrings + in-engine rating block, 8 bench-test protocol with four-verdict self-labeled analysis. Remaining: step 7 only (site details). Gate 5,924/0. Acceptance 55/55. 23-file pass verified.
|
|
333
|
+
|
|
334
|
+
## v0.403.0-remanufacture — 2026-08-27
|
|
335
|
+
CI red on all runners: numpy>=2.0 removed np.trapz; assembler overburden now uses np.trapezoid (1.x fallback); PORTABILITY GUARD 2 pin + standing removed-alias-sweep rule. Stale TRACKED sdist staging tree star_magic_program-0.402.0/ identified (mounted-FS delete block; gitignored; Daniel removes on Windows). Same version per Daniel (tag preserved; PyPI untouched). Gate 5,925/0. Acceptance 55/55.
|
|
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "star-magic-program"
|
|
7
|
-
version = "0.
|
|
8
|
-
description = "Star-Magic UQFF calculator v0.
|
|
7
|
+
version = "0.403.0"
|
|
8
|
+
description = "Star-Magic UQFF calculator v0.403.0: THE PRODUCT SHIP. 2,253 dispatches (2,308 keys), gate 5,924/0. The downhole simulator completes the adopted independent-evaluation plan (v1.41-v1.48): finish sequence 1-5 - modbus unified, well assembler, measured wells as engine defaults, operator surface, in-package 55-check acceptance suite = FINISHED OFFLINE PRODUCT; field tier 6a gamma/lithology from catalogue curves, 6b mixed toolstrings + in-engine rating block, 8 bench-test protocol. Next: PAPER_2258."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
11
11
|
{ name = "Daniel T. Murphy", email = "daniel.murphy00@enrgyone.com" }
|
|
@@ -54,7 +54,7 @@ Issues = "https://github.com/Daniel8Murphy0007/Star-Magic-Program/issues"
|
|
|
54
54
|
|
|
55
55
|
[project.optional-dependencies]
|
|
56
56
|
modbus = ["pymodbus>=3.15"]
|
|
57
|
-
gui = ["PyQt6"]
|
|
57
|
+
gui = ["PyQt6", "matplotlib"]
|
|
58
58
|
|
|
59
59
|
[tool.setuptools]
|
|
60
60
|
packages = ["uqff_downhole_simulator"]
|
|
@@ -163,6 +163,7 @@ py-modules = ["uqff_session_closures", "uqff_fubii_variants", "uqff_ngc_catalog"
|
|
|
163
163
|
"uqff_downhole_simulator/catalog/odp_1274a_mantle_peridotite_mad.provenance.json",
|
|
164
164
|
"uqff_downhole_simulator/catalog/chicxulub_m0077a_pwave_velocity.txt",
|
|
165
165
|
"uqff_downhole_simulator/catalog/chicxulub_m0077a_pwave_velocity.provenance.json",
|
|
166
|
+
"uqff_downhole_simulator/BENCH_TEST_PROTOCOL.md",
|
|
166
167
|
"uqff_downhole_simulator/catalog/acex_lomonosov_age_depth_model.txt",
|
|
167
168
|
"uqff_downhole_simulator/catalog/acex_lomonosov_age_depth_model.provenance.json",
|
|
168
169
|
"uqff_downhole_simulator/catalog/volve_15_9_19a_core_excerpt.provenance.json",
|
{star_magic_program-0.402.0 → star_magic_program-0.403.0/star_magic_program.egg-info}/PKG-INFO
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: star-magic-program
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: Star-Magic UQFF calculator v0.
|
|
3
|
+
Version: 0.403.0
|
|
4
|
+
Summary: Star-Magic UQFF calculator v0.403.0: THE PRODUCT SHIP. 2,253 dispatches (2,308 keys), gate 5,924/0. The downhole simulator completes the adopted independent-evaluation plan (v1.41-v1.48): finish sequence 1-5 - modbus unified, well assembler, measured wells as engine defaults, operator surface, in-package 55-check acceptance suite = FINISHED OFFLINE PRODUCT; field tier 6a gamma/lithology from catalogue curves, 6b mixed toolstrings + in-engine rating block, 8 bench-test protocol. 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
|
|
@@ -34,21 +34,22 @@ Provides-Extra: modbus
|
|
|
34
34
|
Requires-Dist: pymodbus>=3.15; extra == "modbus"
|
|
35
35
|
Provides-Extra: gui
|
|
36
36
|
Requires-Dist: PyQt6; extra == "gui"
|
|
37
|
+
Requires-Dist: matplotlib; extra == "gui"
|
|
37
38
|
Dynamic: license-file
|
|
38
39
|
|
|
39
40
|
# Star-Magic-Program
|
|
40
41
|
|
|
41
|
-
[](https://pypi.org/project/star-magic-program/)
|
|
43
|
+
[](https://pypi.org/project/star-magic-program/)
|
|
43
44
|
[](https://star-magic-program.readthedocs.io/en/latest/?badge=latest)
|
|
44
45
|
[](LICENSE)
|
|
45
|
-
[](uqff_fidelity_tests.py)
|
|
46
47
|
[](uqff_calculator.py)
|
|
47
48
|
[](whitepapers/)
|
|
48
49
|
|
|
49
|
-
**UQFF systematic rebuild — v0.
|
|
50
|
+
**UQFF systematic rebuild — v0.403.0 complete-compile campaign live**
|
|
50
51
|
|
|
51
|
-
**This release (v0.
|
|
52
|
+
**This release (v0.403.0): THE PRODUCT SHIP — THE INDEPENDENT EVALUATION'S FINISH SEQUENCE, EXECUTED.** An independent component-inventory and gap analysis of the v1.30.0 simulator (supplied 2026-08-27, verified claim-by-claim against the code, adopted verbatim as the standing plan) drew the line: after steps 1–5 it is a finished offline product. Eight package versions later (`uqff_downhole_simulator` v1.41.0–v1.48.0), the line is crossed and machine-verified. **The finish sequence:** (1) Modbus unified — the registry entry IS the real pymodbus client, refusal disciplined and minimal (refuses ONLY when host/register map are missing, naming which), the static source now disclosing what the runtime does; (2) the **well assembler** un-strands the catalogue — one WellAssembly per site family (KTB-HB, Site 1027, U1324, 504B), strict measured-coverage lookups that refuse rather than clamp, overburden integrated from the site's own density; (3) **measured wells are the engine defaults** — `run --well ktb_hb` simulates on the 1994 German deep-hole log, and the catalogued Volve F-12 measured downhole pressure becomes the reconciler's live leg, its −1,096 psi/yr drawdown classified UNEXPLAINED_TREND (reservoir physics correctly refused as gauge drift); (4) the **operator surface** — a headless, fully gate-tested OperatorSession under a Qt6 view: well picker, toolstring builder whose rating check BLOCKS the run against measured conditions (the 1994 KTB log is hotter than the 177 °C tool class at depth — no contrived kick needed), live P/T + twin-leg drift tabs, undervalued-stream alerts, and a citations pane that never disappears; (5) the **in-package acceptance suite** — `python -m uqff_downhole_simulator accept`, 55 checks across nine sections, independence from the physics corpus enforced by construction (the fidelity gate runs it as a subprocess AND statically verifies the module never references the calculator or any paper). **The field tier opens:** (6a) **lithology from the catalogue's own gamma curves** — six entries qualify under unit-disciplined detection (the catalogue's own trap cases pinned: KTB GRAV/mGals is gravimetry), the KTB pilot's 1,082-point log yielding 80 alternating intervals and Volve SR the textbook sand/shale split, every number labeled (INDUSTRY_STANDARD / STATISTICAL_PICKS / CONVENTION / no invented detector); (6b) **mixed toolstrings** — per-station tool models with honest legs (twin / reference-only / labeled class envelope / refused-but-still-streaming-well-P/T), aggregates computed over twin stations only with counts disclosed, and the rating check enforced INSIDE the engine constructor; (8) the **bench-test protocol** — BENCH_TEST_PROTOCOL.md ships in-package with the falsifiable prediction (paired GEOQ-class gauges, drift ratio R = 1.0324 at unity trims, ≥90 days honoring the reconciler's own 18-day floor), both-outcome labeling rules (confirmation → MEASURED_ON_BENCH with the full record attached; refutation → DERIVED_HYBRID with the refutation on record; no silent trim retuning), and `uqff_bench.py`'s four-verdict analysis self-verified on synthetic legs in output labeled SIMULATION_SELF_TEST — arithmetic verified, physics honestly unclaimed. **Remaining: step 7 only** — one live site path, blocked on what no code can supply (a real host and a cited register map from a real site). DERIVED_HYBRID stayed DERIVED_HYBRID throughout; U_i stays loaded-but-unused pending the Rule-10 derivation path; the twin solution track was audited by measurement at every layer mid-arc at Daniel's direction, and three small gaps that audit found were fixed in-arc, not deferred. **Totals: 2,253 wired (2,308 DISPATCH keys) / gate 5,925 green / 4,180 defs / acceptance 55 green. Next paper: PAPER_2258.**
|
|
52
53
|
|
|
53
54
|
Author: Daniel T. Murphy · Star-Magic Research Program
|
|
54
55
|
License: AGPL-3.0-or-later OR Commercial
|
|
@@ -106,7 +107,7 @@ Mizuno, Rossi).
|
|
|
106
107
|
Full framework physics lives in the whitepaper corpus — the physics is the
|
|
107
108
|
whitepapers; the calculator computes what the whitepapers derive.
|
|
108
109
|
|
|
109
|
-
## What is currently shipped (v0.
|
|
110
|
+
## What is currently shipped (v0.403.0)
|
|
110
111
|
|
|
111
112
|
### Wiring campaign — LIVE (see `CLAUDE.md` charter)
|
|
112
113
|
|
{star_magic_program-0.402.0 → star_magic_program-0.403.0}/star_magic_program.egg-info/SOURCES.txt
RENAMED
|
@@ -52,19 +52,24 @@ star_magic_program.egg-info/SOURCES.txt
|
|
|
52
52
|
star_magic_program.egg-info/dependency_links.txt
|
|
53
53
|
star_magic_program.egg-info/requires.txt
|
|
54
54
|
star_magic_program.egg-info/top_level.txt
|
|
55
|
+
uqff_downhole_simulator/BENCH_TEST_PROTOCOL.md
|
|
55
56
|
uqff_downhole_simulator/README.md
|
|
56
57
|
uqff_downhole_simulator/__init__.py
|
|
57
58
|
uqff_downhole_simulator/__main__.py
|
|
59
|
+
uqff_downhole_simulator/acceptance_tests.py
|
|
58
60
|
uqff_downhole_simulator/example_register_map.json
|
|
59
61
|
uqff_downhole_simulator/matplotlib_demo.py
|
|
60
62
|
uqff_downhole_simulator/qt6_downhole_app.py
|
|
61
63
|
uqff_downhole_simulator/sample_well_profile.csv
|
|
64
|
+
uqff_downhole_simulator/uqff_bench.py
|
|
62
65
|
uqff_downhole_simulator/uqff_case_study.py
|
|
63
66
|
uqff_downhole_simulator/uqff_deviation.py
|
|
64
67
|
uqff_downhole_simulator/uqff_downhole_engine.py
|
|
65
68
|
uqff_downhole_simulator/uqff_follower.py
|
|
69
|
+
uqff_downhole_simulator/uqff_gamma.py
|
|
66
70
|
uqff_downhole_simulator/uqff_gauge_specs.py
|
|
67
71
|
uqff_downhole_simulator/uqff_modbus.py
|
|
72
|
+
uqff_downhole_simulator/uqff_operator_app.py
|
|
68
73
|
uqff_downhole_simulator/uqff_ports.py
|
|
69
74
|
uqff_downhole_simulator/uqff_profile_catalog.py
|
|
70
75
|
uqff_downhole_simulator/uqff_quartz_hpht_extension.py
|
|
@@ -72,6 +77,7 @@ uqff_downhole_simulator/uqff_reconciler.py
|
|
|
72
77
|
uqff_downhole_simulator/uqff_service_life.py
|
|
73
78
|
uqff_downhole_simulator/uqff_telemetry.py
|
|
74
79
|
uqff_downhole_simulator/uqff_tool_library.py
|
|
80
|
+
uqff_downhole_simulator/uqff_well_assembler.py
|
|
75
81
|
uqff_downhole_simulator/catalog/acex_lomonosov_age_depth_model.provenance.json
|
|
76
82
|
uqff_downhole_simulator/catalog/acex_lomonosov_age_depth_model.txt
|
|
77
83
|
uqff_downhole_simulator/catalog/agassiz77_canada_temperature.csv
|
|
@@ -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.
|
|
76
|
+
VERSION = "0.403.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.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Bench-Test Protocol — Measuring the 1.0324 Suppression Ratio
|
|
2
|
+
|
|
3
|
+
**Field-tier step 8 (independent evaluation, adopted 2026-08-27).**
|
|
4
|
+
Status of the quantity under test: `canonical_suppression()` = **1.0324 at
|
|
5
|
+
unity trims** is today a **DERIVED_HYBRID** composition — industry baseline
|
|
6
|
+
drift (0.215 %FS/yr class) with HPHT stress dressing, divided by a
|
|
7
|
+
locked-primitive UQFF composition. It is **not** a measured constant, and the
|
|
8
|
+
product labels it so everywhere it appears. This protocol is the experiment
|
|
9
|
+
that would change — or refuse to change — that label.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Falsifiable prediction
|
|
14
|
+
|
|
15
|
+
Two matched GEOQ-177-class quartz P/T gauges (same spec, same batch
|
|
16
|
+
preferred), one operated with the UQFF-informed configuration and one as the
|
|
17
|
+
conventional reference, co-located at a fixed HPHT setpoint, will exhibit a
|
|
18
|
+
long-term drift-rate ratio
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
R = drift_conventional / drift_uqff = 1.0324 (at unity trims)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
equivalently a predicted separation rate of ~2.3 psi/yr at a 30,000-psi
|
|
25
|
+
full scale (the service-life module's number for these conditions). The
|
|
26
|
+
prediction is falsifiable in both directions: a measured R statistically
|
|
27
|
+
inconsistent with 1.0324 **refutes the composition at bench conditions**.
|
|
28
|
+
|
|
29
|
+
## 2. Apparatus
|
|
30
|
+
|
|
31
|
+
- 2× (minimum; 3+ pairs preferred for scatter) quartz P/T gauges,
|
|
32
|
+
177 °C / 30 kpsi class, from the same vendor lot.
|
|
33
|
+
- Temperature-controlled bath or HPHT vessel holding a setpoint in the
|
|
34
|
+
150 °C / 10,000 psi class (inside every rating — the rating_check rule
|
|
35
|
+
applies on the bench too).
|
|
36
|
+
- Reference pressure standard, 0.01 %-class (deadweight tester or
|
|
37
|
+
transfer standard), for baseline and periodic checks.
|
|
38
|
+
- Logging at ≥ 1 reading/day per gauge into the package's historian CSV
|
|
39
|
+
format (`time_s` + one raw pressure column per gauge).
|
|
40
|
+
|
|
41
|
+
## 3. Duration — the package's own rule applies
|
|
42
|
+
|
|
43
|
+
The reconciler refuses trend verdicts below its minimum span
|
|
44
|
+
(`ReconcilerConfig.min_trend_span_years`, the ≥18-day slope rule). The bench
|
|
45
|
+
protocol requires **≥ 90 days** at setpoint for slope confidence; 180+ days
|
|
46
|
+
preferred. The analysis tool enforces the 18-day floor mechanically and
|
|
47
|
+
reports `INSUFFICIENT_SPAN` below it — the bench cannot be rushed past the
|
|
48
|
+
product's own honesty rule.
|
|
49
|
+
|
|
50
|
+
## 4. Procedure
|
|
51
|
+
|
|
52
|
+
1. Baseline both gauges against the reference standard; record offsets.
|
|
53
|
+
2. Install co-located at the setpoint; log continuously.
|
|
54
|
+
3. Weekly: verify setpoint stability against the reference (do not adjust
|
|
55
|
+
the gauges under test).
|
|
56
|
+
4. Export each leg as a historian CSV; run
|
|
57
|
+
`python -m uqff_downhole_simulator bench --uqff-csv A.csv --conv-csv B.csv`.
|
|
58
|
+
5. Repeat with roles swapped on a second pair (control for unit-to-unit
|
|
59
|
+
scatter — the piezo lesson: individual units scatter around class curves).
|
|
60
|
+
|
|
61
|
+
## 5. Analysis and verdict vocabulary
|
|
62
|
+
|
|
63
|
+
`uqff_bench.bench_analysis()` fits each leg's drift slope (OLS, psi/yr →
|
|
64
|
+
%FS/yr), propagates slope uncertainties into the ratio, and returns one of:
|
|
65
|
+
|
|
66
|
+
- `MEASURED_CONFIRMS` — R within its own propagated uncertainty of 1.0324.
|
|
67
|
+
- `MEASURED_REFUTES` — R inconsistent with 1.0324 (the uncertainty is small
|
|
68
|
+
enough to exclude it). **This is a valid and useful outcome** — the
|
|
69
|
+
composition is falsified at bench conditions and the label stays
|
|
70
|
+
DERIVED_HYBRID with the refutation on record.
|
|
71
|
+
- `INSUFFICIENT_SPAN` — under the 18-day floor: no verdict.
|
|
72
|
+
- `INSUFFICIENT_SNR` — the uncertainty band contains both 1.0324 and 1.0
|
|
73
|
+
(cannot distinguish suppression from no-suppression): no verdict, more
|
|
74
|
+
data required.
|
|
75
|
+
|
|
76
|
+
## 6. Outcome handling (labeling rules)
|
|
77
|
+
|
|
78
|
+
- **Confirmed:** `canonical_suppression()`'s label may move from
|
|
79
|
+
DERIVED_HYBRID to MEASURED_ON_BENCH **with the test ID, dates, apparatus
|
|
80
|
+
and per-pair results attached**. The composition's primitives are then a
|
|
81
|
+
measured-consistent model, not just a labeled one.
|
|
82
|
+
- **Refuted:** the label stays DERIVED_HYBRID; the refutation (conditions,
|
|
83
|
+
measured R, uncertainty) is recorded beside it. No silent retuning of
|
|
84
|
+
trims to fit the bench — a post-hoc trim fit would be a new calibration
|
|
85
|
+
claim, labeled as such, never a derivation.
|
|
86
|
+
- **Either way:** `U_i` remains loaded-but-unused in the drift formula until
|
|
87
|
+
a UQFF derivation path for its role is supplied (Rule 10 — the framework
|
|
88
|
+
author provides the physics; the product does not invent it).
|
|
89
|
+
|
|
90
|
+
## 7. Analysis-tool verification (available today, and labeled)
|
|
91
|
+
|
|
92
|
+
The analysis tool is verified NOW against the simulator's own twin legs:
|
|
93
|
+
`bench --selftest` generates synthetic paired-leg data from the engine's
|
|
94
|
+
models and must return `MEASURED_CONFIRMS` at R ≈ 1.0324. **This is a
|
|
95
|
+
SIMULATION_SELF_TEST — it verifies the analysis arithmetic, not the
|
|
96
|
+
physics.** It proves the bench pipeline is ready; it proves nothing about
|
|
97
|
+
gauges. The acceptance suite runs it on every gate.
|