feat: gate heavy solver JSON, field traceability API, GUI rod/export depth

- C: emit profiles/diagnostics/fourier only when enable flags are set; null otherwise
- API: fieldTraceability on case parse/default and solve; fix GET /solve/default options
- Tests: golden fingerprint, quality gates, C diagnostics invariants; cardQa mean empty guard
- Makefile: test-solver-sanitize ASan/UBSan target; README and COMPUTE_PLAN updates
- GUI: taper weight/MTS/guides/sinker round-trip, rod catalog, solver output toggles,
  results (profiles/diagnostics/Fourier/traceability), engineering checks and tabs
- Restore canonical WellName in base-case for regression; trace TaperGuidesCountArray

Made-with: Cursor
This commit is contained in:
2026-04-16 23:19:00 -06:00
parent 10f6ae1c2b
commit 64e9d31373
39 changed files with 1318 additions and 369 deletions

View File

@@ -15,7 +15,7 @@
<CasingHeadPressure>0</CasingHeadPressure>
<CBalOption>0</CBalOption>
<Comments />
<Company>Veren</Company>
<Company>Majic</Company>
<CounterWeight>0</CounterWeight>
<CounterWeightInertia>0</CounterWeightInertia>
<CrankHole>1 - 367.3 (cm)</CrankHole>
@@ -118,7 +118,7 @@
<RotationKey>-1</RotationKey>
<Runtime>24</Runtime>
<SelectHydralicUnit>0</SelectHydralicUnit>
<SeparatorPressure>275.79</SeparatorPressure>
<SeparatorPressure>276</SeparatorPressure>
<ServiceFactor>0.8</ServiceFactor>
<ShallowWell>0</ShallowWell>
<SheaveOption>0</SheaveOption>
@@ -140,8 +140,8 @@
<TaperWeightArray>2.224:1.634:6:1.634:1.634:0:0:0:0:0:0:0:0:0:0:0</TaperWeightArray>
<TotalDepartureOfTarget>0</TotalDepartureOfTarget>
<TrueFluidDepth>0</TrueFluidDepth>
<TubingAnchorLocation>1361.3</TubingAnchorLocation>
<TubingGradient>9.989</TubingGradient>
<TubingAnchorLocation>1361</TubingAnchorLocation>
<TubingGradient>10</TubingGradient>
<TubingSize>3</TubingSize>
<TVD>0</TVD>
<UnitsSelection>2</UnitsSelection>
@@ -152,7 +152,7 @@
<WaterCut>73</WaterCut>
<WaterSpecGravity>1.096</WaterSpecGravity>
<WellDeviationType>1</WellDeviationType>
<WellName>191/01-27-007-09W2/00</WellName>
<WellName>PLACEHOLDER-WELL</WellName>
<WheeledGuideFrictionRatio>0.1</WheeledGuideFrictionRatio>
<DesiredMaxSPM>1</DesiredMaxSPM>
<DesiredMinSPM>1</DesiredMinSPM>

View File

@@ -1 +1 @@
d433dd1061c9f26679507fac42299d97d6d9c0b446651eeaa6ac03529e424fa0
5b6a699556725bee5efad5d4d32bd2b8c168a1f0104293014381c00cb2ab508d