Skip to content

Schedule pre-documentation breaking-change batch as 1.6 - #12

Merged
ericlindsey merged 9 commits into
mainfrom
claude/api-breaking-changes-review-a4qbuw
Jul 18, 2026
Merged

ericlindsey merged 9 commits into
mainfrom
claude/api-breaking-changes-review-a4qbuw

Conversation

@ericlindsey

Copy link
Copy Markdown
Owner

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

claude added 9 commits July 17, 2026 03:59
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
@ericlindsey
ericlindsey merged commit a4e325e into main Jul 18, 2026
7 checks passed
@ericlindsey
ericlindsey deleted the claude/api-breaking-changes-review-a4qbuw branch July 18, 2026 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants