079346a1b9
fix: resolve all 281 credo issues across source and test files
...
Build and Push / Build and Push Docker Image (push) Failing after 4m38s
- F-level (228): replace length/1 with Enum.count_until/2 or pattern
matching; convert Enum.flat_map+if to Enum.filter+Enum.map; fix
identity case in narr_client
- W-level (46): normalize dual atom/string key access in weather_layers,
beacon_measurements, surface, skewt_live, contact_live/show; add
:data_provider and weather-map assigns to ignored_assigns in credo
config (consumed by child components credo can't trace); remove
weak is_list assertion; remove explicit assert_receive timeout
- R-level (6): replace 'This module provides...' moduledocs with
meaningful descriptions
- Also fix 4 compile-connected xref issues by deferring
BandConfig.band_options() from module attribute to runtime
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-29 09:04:21 -05:00
fd976b0cd5
fix: resolve 391 Credo issues across codebase
...
- Add jump_credo_checks ~> 0.4 with all 20 checks enabled
- Fix all standard Credo issues: 139 @spec (113 done, 26 remain),
4 refactoring, 3 alias usage, 9 System.cmd env, 5 unsafe_to_atom,
2 max line length, 9 assert_receive timeout
- Fix 170+ jump_credo_checks warnings:
- 117 TopLevelAliasImportRequire: move nested alias/import to module top
- 32 UseObanProWorker: switch to Oban.Pro.Worker
- 4 DoctestIExExamples: add doctests / create test file
- ~20 WeakAssertion: strengthen type-check assertions
- Various ConditionalAssertion, AssertReceiveTimeout fixes
- Exclude vendor/ from Credo analysis
- Remaining: 175 warnings (mostly opinionated WeakAssertion,
AvoidSocketAssignsInTest), 26 @spec annotations
2026-06-12 13:51:32 -05:00
7f1a7fb369
Add skew-T log-P diagram to the contact detail page
...
Render the HRRR pressure-level profile as a full skew-T log-P
diagram on the contact detail page: skewed isotherms, isobars,
dry adiabats, saturation mixing ratio lines, plus the T and Td
traces. Math lives in MicrowavepropWeb.SkewT (Magnus formula,
dry adiabat potential temperature, log-P projection) and is
exercised by a dedicated test module. The atmospheric profile
section now expands by default so the chart is visible without
an extra click.
2026-04-14 16:52:23 -05:00