Schedule pre-documentation breaking-change batch as 1.6 - #12
Merged
Merged
Conversation
Collect the remaining user-facing breaks that must land before the Priority 2 documentation pass: the resolution and plot.map renames, the smoothing-to-regularization vocabulary change, removal of the legacy latitude-first Fault.centers, meter-unit mesh arguments, keyword-only invert.solve, and the API stability tier decision. Record that greens.matrix keeps its name, fold the 3.1 collision item into 1.2/1.6, and note that the 2.3 real-data examples wait on the Priority 4 noise, nuisance, and coupling machinery. Claude-Session: https://claude.ai/code/session_01VGhGKXAFXiVyCEX8HsrggX
Give the unregularized resolution matrix a specific name, greens.resolution_matrix, so it no longer collides conceptually with invert.model_resolution and plot.resolution. Rename plot.map to plot.map_view so it no longer shadows the builtin or read like the geomap module. Update tests, docs, tutorials, and examples. Claude-Session: https://claude.ai/code/session_01VGhGKXAFXiVyCEX8HsrggX
Rename the smoothing keyword family to regularization across invert, bayes, and plot: smoothing -> regularization, smoothing_strength -> regularization_strength, smoothing_target -> regularization_target, plus the internal selection/range/values/matrix names and the InversionResult fields. The operator values 'laplacian', 'damping', and 'stresskernel' are unchanged, and damping is no longer described as a kind of smoothing; genuine 'smoothing' prose (Laplacian smoothing, under/over-smoothing) is kept. Bump the result-file schema to version 3 and migrate version-2 archives on load, remapping their smoothing* manifest keys to the new names. The even-older unversioned migration path keeps its on-disk key names. Update the reference docs, tutorials, and examples to the new keyword, and finish the plot.map_view rename by fixing its module-structure test. Claude-Session: https://claude.ai/code/session_01VGhGKXAFXiVyCEX8HsrggX
Drop the Fault.centers property that stored [lat, lon, depth] against the documented [lon, lat, depth] geographic order. centers_geo and centers_local remain as the two named accessors; depth is index 2 in both orders, so the notebook depth-range prints move to centers_geo unchanged. Claude-Session: https://claude.ai/code/session_01VGhGKXAFXiVyCEX8HsrggX
Add a bare '*' so the regularization type can no longer be passed as a third positional argument, matching the Fault.planar policy; solve(fault, data, 'laplacian') now raises instead of silently binding the string to regularization. Claude-Session: https://claude.ai/code/session_01VGhGKXAFXiVyCEX8HsrggX
from_slab2 took target_length and max_depth in kilometers while from_polygon and from_trace used meters, and from_trace mixed a kilometer max_depth with a meters dip callback in one signature. Convert every public mesh length/depth argument to meters (from_slab2 target_length default 50 km -> 50_000 m), converting to the slab grid's native kilometers internally. Update tests, docs, and the example. Claude-Session: https://claude.ai/code/session_01VGhGKXAFXiVyCEX8HsrggX
Restrict geodef.__all__ to the beginner-public vocabulary: the domain objects, solve, InversionResult, and the submodules that are the discovery surface for everything else. Expert-public names (lcurve, LinearSystem, model_* assessment, stack_*, spatial_covariance, moment conversions, result types) stay importable as geodef.<name> via redundant aliases for backward compatibility but are kept out of __all__ and reached through their module in new code; their removal from the top level is the roadmap 3.1 deprecation-cycle work. Add a public-API contract test. Claude-Session: https://claude.ai/code/session_01VGhGKXAFXiVyCEX8HsrggX
Check off the pre-documentation batch in PLAN.md and add an Unreleased changelog entry covering the regularization rename, greens/plot renames, keyword-only solve, meter-unit mesh arguments, result schema v3, the __all__ tier trim, and the Fault.centers removal. Claude-Session: https://claude.ai/code/session_01VGhGKXAFXiVyCEX8HsrggX
Schedule the removal of the expert top-level re-exports alongside the course revision that already rewrites the same notebook cells, so each is edited once. Add the concrete 2.2 task (migrate to module paths, drop the re-exports, flip the public-API contract test) and update the 1.6 and 3.1 cross-references to point at it. Claude-Session: https://claude.ai/code/session_01VGhGKXAFXiVyCEX8HsrggX
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.
Collect the remaining user-facing breaks that must land before the
Priority 2 documentation pass: the resolution and plot.map renames, the
smoothing-to-regularization vocabulary change, removal of the legacy
latitude-first Fault.centers, meter-unit mesh arguments, keyword-only
invert.solve, and the API stability tier decision. Record that
greens.matrix keeps its name, fold the 3.1 collision item into 1.2/1.6,
and note that the 2.3 real-data examples wait on the Priority 4 noise,
nuisance, and coupling machinery.
Claude-Session: https://claude.ai/code/session_01VGhGKXAFXiVyCEX8HsrggX