Skip to content

Cleanup/phase 2 80 20 - #124

Merged
andytorrestb merged 6 commits into
plume-kit:masterfrom
andytorrestb:cleanup/phase-2-80-20
Jul 25, 2026
Merged

Cleanup/phase 2 80 20#124
andytorrestb merged 6 commits into
plume-kit:masterfrom
andytorrestb:cleanup/phase-2-80-20

Conversation

@andytorrestb

Copy link
Copy Markdown
Member

No description provided.

andytorrestb and others added 6 commits July 25, 2026 11:58
resolve_asset_path() previously returned a case-local path even when the
asset existed in neither the case nor shared data/, so a missing input
surfaced only as a downstream open() error (or, for a bad config value, an
opaque path). It now raises FileNotFoundError naming both searched paths
when required=True (the default), logs which copy (case-local vs shared)
was chosen at DEBUG level, and documents that case-local always wins. A
required=False escape hatch is kept for output-target callers. All call
sites are input assets, so no current behaviour changes; nothing is missing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The data-consolidation (7dfc6f4) moved run-defining inputs -- JFH files,
flight plans, and thruster config/definition/group files -- into shared
data/, so several case folders no longer carried the inputs they run on
(e.g. case/rpod/1d_approach had no jfh/ or tcf). Copying such a case no
longer produced a runnable, reproducible case, against the case-copy
workflow and the self-containment policy (only STL geometry is meant to be
shared).

Restore each case's referenced non-STL inputs into the case folder (42
files across ~18 cases), copied from the shared data/ location they
currently resolve to, so content is byte-identical and results are
unchanged (resolve_asset_path is case-local-first; 30 rpod/mission/plume
tests pass). STL stays shared. Pre-existing configs that reference absent
or quoted filenames are left untouched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…pies

With every case now carrying its own JFH / flight-plan / thruster files,
the shared copies those cases used to resolve from are dead duplicates
(resolve_asset_path is case-local-first, and no test or module references
data/{jfh,flight_plan,tcd} -- the only hits are one commented-out test line
and a docstring). Remove the 17 now-orphaned shared duplicates, including
the data/tcd/tdf.csv flagged in the review.

Scope is limited to files that a case-local copy now shadows. Unreferenced
legacy/library files (JFH00-06, *_legend, flight_plan_m3*) are left in place
for a separate audit rather than removed speculatively. STL assets stay
shared. 30 rpod/mission/plume tests pass unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The capture test wrote its three print_*_JFH outputs directly into the
tracked tests/rpod/jfh_outputs/ directory, so every rpod run rewrote those
committed files with line-ending churn (empty git diff, but dirties the
tree and obscures history). Redirect the captures to a per-run tempfile
directory removed in tearDown; the committed jfh_outputs/*.txt snapshots
are left untouched as a stable ground-truth for future comparison tests.
Behaviour and the existing exists() smoke assertions are unchanged
(3 passed; tree stays clean after the run).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
convert_stl_to_vtk_strikes() prepends case_dir + "results/" to its
path_to_vtk argument, but jfh_plume_strikes passed the full
case_dir + "results/strikes/firing-N", so the writer produced a doubled
case_dir/results/case_dir/results/strikes/firing-N.vtu tree (visible in the
1d_approach outputs the review referenced). Pass a path relative to the
writer's results/ base ("strikes/firing-N") so strikes land in
case_dir/results/strikes/firing-N.vtu. No test asserts on these file paths
(they check returned firing_data); rpod_verification_test_07 passes and its
95 strike files now land in results/strikes/ with no doubling.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
plume_verification_test_04..40 are manual-run figure-reproduction scripts
(design decision D5) that define no pytest tests -- pytest imported them but
collected nothing, inflating the apparent "verification" test count and
muddying the taxonomy. Add them to conftest collect_ignore so the suite
reflects real tests only (115 collected, no errors); _01..03 remain genuine
pytest verification tests and stay collected. Each figure script is still
run directly to regenerate its figure. Files are not moved, so their sibling
imports of plume_figure_utils / plume_impingement_utils are unaffected.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@andytorrestb andytorrestb left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

@andytorrestb
andytorrestb merged commit e4838fa into plume-kit:master Jul 25, 2026
1 check passed
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.

1 participant