docs: codebase improvement plan from full repo scan - #194
Merged
Conversation
Detailed, prioritized improvement plan covering six workstreams: FE solver performance (profiled: assembly + stress recovery dominate a ~20s production-mesh solve while the linear solve is 2s), physics correctness gaps, missing user-facing capabilities, app/CLI polish, architecture cleanups, and CI/packaging/docs/hygiene. Includes measured baseline (832 tests green, 97% coverage, clean ruff/mypy) and a four-phase sequencing proposal with file:line references. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012GBVCaDCFo5nvpWEtKVFXT
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
Adds
IMPROVEMENT_PLAN.md— a detailed, prioritized improvement plan produced from a full scan of the codebase (everyporosity_fe/module, the Streamlit app, both CLIs, the validation runner, tests, CI workflows, packaging, and docs), grounded in measurements taken in a clean environment:ruffandmypy(even on numpy 2.4).np.linalg.invcalls per solve and zero reuse across load cases.Plan structure
Six workstreams, each item tagged with effort and file:line references:
f_mdlayup-scale error (Document or validate the_F_MD_FLOORconstants (0.15 / 0.80) inEmpiricalSolver#139/Validate the linear_layup_scaleassumption (or replace with nonlinear fit) #140).transverse_compressionmode (sigma_2c currently unreachable), reaction forces / effective modulus, first-ply-failure load factor, UQ surfaced in CLI+app, thermal loading, locking mitigation.app.py, figure leak inFEVisualizer, CLI exit-code contract gaps, cross-Vp parallelism.fe/solver.py, single source of truth for the knockdown laws, misc dedup.validation/gitignore trap and repo-identity split (elhajjar1 vs ranipdx-glitch URLs), CI coverage + editable install + pip caching, PyPI trusted publishing,api.rstcovering ~10 of ~40 public symbols, property-based tests, golden MAE regression pin.Ends with a four-phase sequencing proposal (quick wins → FE perf sprint → correctness/features → design-first physics work). Each item is scoped to become one issue/PR.
Notes for review
elhajjar1vsranipdx-glitch) is canonical — README/CITATION/CONTRIBUTING andpyproject.tomlcurrently disagree.🤖 Generated with Claude Code
https://claude.ai/code/session_012GBVCaDCFo5nvpWEtKVFXT
Generated by Claude Code