Repository navigation
Adopt petrolib.data_qc_io in 2023-2026 articles (PR-B3, final chunk of the merge plan) - #160
Merged
Merged
Conversation
Strangler-fig delegation to the canonical package (PR-B3, the last
adoption chunk of the LIBRARY_MERGE_PLAN):
- src2023_04/article10+11: linear-weight fits and ML _features ->
filt.window_features (edge-padded sliding-window stacks; all scanned
window sizes are odd)
- src2023_06/article9: median_filter_3x3 -> filt.median_filter2d(size=3)
- src2023_08/article5: detect_bed_boundaries -> filt.detect_bed_boundaries
(unused depth arg kept in the facade signature)
- src2023_10/article_03: boxcar -> filt.smooth("boxcar");
src2023_10/article_09: vertical_response -> filt.tool_response
- src2023_12/bradley_wellbore_format: WellboreData now subclasses
petrolib.data_qc_io.WellboreData
- src2024_04/chen: synthetic_sem_image -> synth.disk_image (verbatim draw
sequence; article keeps its default_rng(4) seeding line)
- src2024_08/magnetic_permeability: remove_ferromagnetic_contaminants ->
clean.despike(side="upper", replace="median")
- src2025_08/fiber_optics_sensing: temporal_stack -> signal.block_stack;
compute_snr -> signal.snr_db; src2025_08/anomaly_detection_vmd:
compute_snr_improvement -> signal.snr_db(guard=1e-30)
- src2026_04/a04: moving_average -> filt.smooth; moving_msd/moving_std ->
filt.moving_stat("var"/"std", center=False)
- src2026_06/a03: gaussian_t2_model -> synth.gaussian_mixture_spectrum
(log_axis=False)
All function names, signatures, and docstrings unchanged. Verified:
stdout byte-identical old vs new for all 13 modules; golden_diff 10/10
directories pass; mypy clean; 252 tests pass.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B2BX1XL8422gebCU1oVoQC
ingehap
marked this pull request as ready for review
July 10, 2026 09:50
This was referenced Jul 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Final adoption chunk (PR-B3) for data_qc_io — and the last PR of the entire LIBRARY_MERGE_PLAN. Thirteen 2023–2026 article files now delegate to the canonical package (#157), following #158 and #159. Strangler-fig facades throughout: names, signatures, and docstrings unchanged.
fit_linear_weights,MLDeconvolution._featuresfilt.window_featuresfit_linear_conv_weights,MLConvolution._featuresfilt.window_featuresmedian_filter_3x3filt.median_filter2d(size=3)detect_bed_boundariesfilt.detect_bed_boundaries(unuseddeptharg kept in the facade)boxcarfilt.smooth("boxcar")vertical_responsefilt.tool_responseWellboreDatapetrolib.data_qc_io.WellboreDatasynthetic_sem_imagesynth.disk_image(article keeps itsdefault_rng(4)line)remove_ferromagnetic_contaminantsclean.despike(side="upper", replace="median")temporal_stack,compute_snrsignal.block_stack,signal.snr_dbcompute_snr_improvementsignal.snr_db(guard=1e-30)moving_average,moving_msd,moving_stdfilt.smooth,filt.moving_stat("var"/"std", center=False)gaussian_t2_modelsynth.gaussian_mixture_spectrum(log_axis=False)The induction papers only ever use odd window sizes (11–151), so the odd-window requirement of
window_featuresis safe. Ten files gained the standard bootstrap header; three already imported petrolib.Verification
synthetic_sem_image, the xgboost-backed induction pipelines, and theWellboreDataJSON round-trips.python3 tools/golden_diff.pyon all ten touched directories: 10/10 PASS.python3 -m mypy petrolibclean (45 source files);python3 -m pytest tests/petrolib: 252 passed.Plan status
With this PR, all eleven domains of LIBRARY_MERGE_PLAN.md are complete: every canonical module is merged and every identified article delegation across
src2014_02–src2026_06has been adopted bit-exactly.🤖 Generated with Claude Code
https://claude.ai/code/session_01B2BX1XL8422gebCU1oVoQC
Generated by Claude Code