| Well (UWI) | 15-135-21365 |
| Log date | 19-SEPTEMBER-77 |
| Acquisition date (header) | 19-SEPTEMBER-77 |
| BHT (measured) | 124 DEGF |
| Mud resistivity (RM) | 0.2 OHMM |
| Mud filtrate (RMF) | 0.15 OHMM |
| Larionov variant | old_rocks (degraded) |
| Convergence status | DID_NOT_CONVERGE |
| Confidence tier | ○ BRACKETED |
| Engine versions | calc_vsh 0.1.0 · calc_phie 0.1.0 · calc_sw 0.1.0 · formula_registry 0.1.0 |
| Config hash (SHA-256) | 2a9cb78728e386ab… |
| Git SHA | bd23bea18153 |
| Generated | autonomously, no human in the per-report loop |
Confidence legend. Each result is tagged by parameter provenance: ● FIRM (core-calibrated) · ◐ QUALIFIED (offset-derived) · ○ BRACKETED (regional/global default — read as a range, dominant uncertainty stated). The system does not claim *always correct*; it states how well-supported each number is.
The vintage log covers only the deep consolidated section, so the full logged interval is evaluated — there is no overburden on record to exclude. Within that interval the net pay is 14.9 m with average effective porosity 0.182 and average water saturation 0.353. Monte-Carlo places the P50 net pay at 44.3 m within a P10-P90 range of 21.0 to 69.4 m. CLASS-B VINTAGE WELL: porosity comes from a count-rate neutron transform (engine-anchored, validated against sonic on offset wells; structural approximation) — every number is bracketed and must be read as a range. Parameters carry regional-default provenance, so the estimate remains a bracketed range with declared uncertainty, not a certainty.
Net pay P10 / P50 / P90 = 21.0 / 44.3 / 69.4 m.
Net pay is dominated by 'Rw', which is a regional DEFAULT (uncalibrated). This is the single largest uncertainty — the result is bracketed, not a confident point estimate.
| Edit type | Curve | Detail |
|---|---|---|
| spike_removal | — | 2 edits |
| degradation | — | — |
Raw mnemonics mapped to canonical curve names:
| Canonical | Raw mnemonic |
|---|---|
| DT | DT |
| GR | GR |
| NEUT | NEUT |
| RT | LL |
Edits applied before compute (by type): degradation: 1, spike_removal: 2.
All numbers are produced by the deterministic, golden-tested engine. The LLM only selects methods/parameters and writes prose — it never computes a number. Figures are deterministic renderings of these computed numbers for the human reader; the agent reasons over the numeric EDA digest, not images (the models have no vision).
| Step | Method (frozen) | Version |
|---|---|---|
| Vsh | Larionov 1969 (old rocks) | vsh_larionov_old 0.1.0 |
| PHIE | Vintage count-rate neutron, two-point semilog (class-B, engine-anchored) | phi_neutron_countrate 0.1.0 |
| Sw | Archie 1942 | sw_archie 0.1.0 |
| Net pay | Vsh/PHIE/Sw cutoffs → net sand → net reservoir → net pay | netpay 0.1.0 |
| Uncertainty | Monte Carlo P10/P50/P90 + parameter sensitivity | mc 0.1.0 |
Low-resistivity scan: rt_threshold=4.28, n_flagged=155, intervals=[[1145.3, 1145.6], [1146.0, 1146.0], [1146.8, 1149.9], [1152.3, 1152.4], [1154.4, 1154.4], [1154.7, 1156.1], [1156.7, 1157.5], [1162.7, 1165.6], [1170.7, 1170.7], [1171.5, 1172.1]].
Composite log

Pickett plot

Buckles plot

Hingle plot

Distributions

Sensitivity tornado

Net-pay Monte-Carlo distribution

Mean Vsh by method (selection is the agent's; the LLM authors no number):
| Method | Mean Vsh | Selected |
|---|---|---|
| vsh_larionov_old | 0.249 | ✓ |
| vsh_larionov_tertiary | 0.183 | |
| vsh_linear | 0.358 | |
| vsh_clavier | 0.236 | |
| vsh_steiber | 0.204 |
_Not computed — no RHOB/NPHI curve for the comparison._
Mean Sw (Archie 1942) = 0.756 (a=1.00, m=2.00, n=2.00, Rw=0.1081 ohm-m). Electrical parameters are engine-sourced; alternative Sw models are optional sections.
Mean Sw by method (engine-computed comparison; the LLM authors no number):
| Method | Mean Sw | Selected |
|---|---|---|
| sw_archie | 0.756 | ✓ |
| sw_simandoux | 0.399 | |
| sw_indonesia | 0.529 |
Raw net-pay runs merged into 19 intervals (gap tolerance 1.5 m); showing the 15 thickest, depth-ordered. Full set traces in the ledger.
| Interval | Top (m) | Base (m) | Net pay (m) | Avg PHIE | Avg Sw | Avg Vsh |
|---|---|---|---|---|---|---|
| Z1 | 1172.9 | 1174.9 | 1.4 | 0.161 | 0.387 | 0.062 |
| Z2 | 1189.9 | 1191.5 | 0.6 | 0.181 | 0.440 | 0.278 |
| Z3 | 1198.8 | 1198.9 | 0.3 | 0.133 | 0.346 | 0.245 |
| Z4 | 1214.5 | 1214.6 | 0.3 | 0.153 | 0.287 | 0.284 |
| Z5 | 1230.2 | 1231.2 | 0.6 | 0.160 | 0.417 | 0.215 |
| Z6 | 1233.5 | 1236.7 | 3.4 | 0.211 | 0.202 | 0.093 |
| Z7 | 1266.6 | 1266.7 | 0.3 | 0.130 | 0.375 | 0.265 |
| Z8 | 1270.6 | 1271.0 | 0.6 | 0.177 | 0.430 | 0.232 |
| Z9 | 1278.0 | 1278.3 | 0.5 | 0.201 | 0.351 | 0.179 |
| Z10 | 1284.6 | 1285.8 | 0.5 | 0.244 | 0.468 | 0.212 |
| Z11 | 1330.8 | 1331.4 | 0.5 | 0.161 | 0.209 | 0.279 |
| Z12 | 1335.0 | 1335.2 | 0.3 | 0.130 | 0.437 | 0.252 |
| Z13 | 1342.0 | 1348.0 | 3.5 | 0.187 | 0.409 | 0.214 |
| Z14 | 1349.7 | 1350.6 | 0.3 | 0.188 | 0.496 | 0.118 |
| Z15 | 1355.3 | 1356.8 | 1.4 | 0.168 | 0.420 | 0.076 |
| Quantity | Value |
|---|---|
| Gross interval | 285.8 m |
| Net pay (P10/P50/P90) | 21.0 / 44.3 / 69.4 m |
| Net-to-gross | 0.052 |
| Avg PHIE (net pay) | 0.182 |
| Avg Sw (net pay) | 0.353 |
| Avg Vsh (net pay) | 0.170 |
Monte Carlo, 500 realizations (seed 42). Net pay swing per parameter (one-at-a-time):
| Parameter | Net-pay swing (m) |
|---|---|
| Rw | 37.5 |
| m | 21.5 |
| a | 15.4 |
| n | 5.8 |
Dominant uncertainty: Rw (swing 37.5 m).
Multi-seed robustness: P50 UNSTABLE across seeds (spread 5.4 m across 4 seeds).
Net pay is dominated by 'Rw', which is a regional DEFAULT (uncalibrated). This is the single largest uncertainty — the result is bracketed, not a confident point estimate.
| Parameter | Value | Unit | Provenance | Source |
|---|---|---|---|---|
| gr_min | 20.000 | API | default | — |
| gr_max | 120.000 | API | default | — |
| rho_ma | 2.710 | g/cc | default | Schlumberger 1989 |
| rho_fl | 1.000 | g/cc | default | — |
| phie_max | 0.450 | v/v | default | — |
| phi_sh_d | 0.100 | v/v | default | — |
| phi_sh_n | 0.350 | v/v | default | — |
| a | 1.000 | - | default | Winsauer et al. 1952 |
| m | 2.000 | - | default | Archie, G.E. 1942 |
| n | 2.000 | - | default | Archie, G.E. 1942 |
| Rw | 0.040 | ohm-m | default | Kansas Geological Survey 2000 |
| rt_hydrocarbon_floor | 5.000 | ohm-m | default | — |
| vsh_cutoff | 0.350 | v/v | default | — |
| phie_cutoff | 0.100 | v/v | default | — |
| sw_cutoff | 0.500 | v/v | default | — |
| bit_size_config | 7.875 | in | default | — |
| qc_abort_threshold | 0.800 | - | default | — |
| circuit_breaker_n | 3.000 | - | default | — |
The citations table (not RAG) gives each cited parameter exactly one frozen source. Parameters tagged
defaultare regional/global — they drive the bracketed tier.
Boundary-inclusive criteria applied by the engine (netpay) to flag reservoir:
| Stage | Criterion | Cutoff | Provenance |
|---|---|---|---|
| Net sand | Vsh ≤ cutoff | 0.350 | default |
| Net reservoir | + PHIE ≥ cutoff | 0.100 | default |
| Net pay | + Sw ≤ cutoff | 0.500 | default |
Cutoff values are engine parameters (never LLM-authored); the dominant net-pay uncertainty is Rw — see Uncertainty for the swing.
Curve provenance (canonical ← raw mnemonic): DT←DT, GR←GR, NEUT←NEUT, RT←LL.
QC edits applied before compute — degradation: 1, spike_removal: 2.
| Validator | Type | Detail |
|---|---|---|
| vsh_phie_anticorrelation | support | Vsh-PHIE Pearson 0.99 > 0.3 (dirty rock + high porosity) |
flowchart TD
dec_1["decision: step: compare_methods"]
act_1["tool_call: compare_methods"]
dec_2["decision: step: compute_vsh"]
act_2["tool_call: compute_vsh"]
dec_3["decision: step: compute_phie"]
act_3["tool_call: compute_phie"]
dec_4["decision: step: compare_methods"]
act_4["tool_call: compare_methods"]
dec_5["decision: step: compute_sw"]
act_5["tool_call: compute_sw"]
dec_6["decision: step: apply_cutoffs"]
act_6["tool_call: apply_cutoffs"]
dec_7["decision: step: run_uncertainty"]
act_7["tool_call: run_uncertainty"]
dec_8["decision: step: derived_parameters"]
act_8["tool_call: derived_parameters"]
This is a LAS-only study. Data that would calibrate the interpretation is absent:
Vintage class-B well: logged interval covers only the deep consolidated section (no overburden recorded), GR-only clay indicator, count-rate porosity with engine anchors, Archie saturation. Structural-uncertainty caveat applies to every number. Method choices were made against the engine's numeric comparisons, not by preference; the comparison tables show the rejected alternatives beside the selected method. All numbers in this report come from the deterministic engine; the analyst chose the interval, the methods and the analyses, and wrote this prose — nothing more. Remaining uncertainty is dominated by the uncalibrated regional parameters.
{
"net_pay_total_m": 14.935199999994438,
"net_pay_p10_p50_p90": [
20.970239999992195,
44.27219999998351,
69.35723999997417
],
"driving_params": {
"a": 1.0,
"m": 2.0,
"n": 2.0,
"Rw": 0.04
},
"claim_verifier": {
"result": "PASS",
"flags": [],
"tone_flags": []
}
}
| Item | Present |
|---|---|
| QC edits recorded before compute | ✓ |
| Every number ledger-traced | ✓ |
| Confidence tier on the run | ✓ |
| Parameter citations frozen | ✓ |
| Validator objections listed, not hidden | ✓ |
| Uncertainty propagated (Monte Carlo) | ✓ |
| Claim verifier run on prose | ✓ |