prop/test/microwaveprop
Graham McIntire 0c3be97abb
Some checks failed
Build base image / Build and push base image (push) Successful in 3m10s
Build and Push / Build and Push Docker Image (push) Failing after 14s
Build prop-grid-rs / Test, build, push (push) Successful in 12m52s
fix: resolve 27 security, architecture, test, and performance audit findings
P0 (security-critical):
- Gate CSV/ADIF upload tabs behind authentication, add 30s cooldown to all upload handlers
- Cap CSV/ADIF imports at 2,000 rows server-side in both parsers
- Add submitter_verified boolean to contacts (client-cannot-set, anonymous=false)
- Create k8s/secret.example.yaml with placeholders, add LIVE_VIEW_SIGNING_SALT

P1 (high-priority):
- Add Mox.verify_on_exit!() to valkey_test.exs
- Replace DateTime.utc_now() truncation with static ~U literals in map_live_test.exs
- Replace Process.sleep with render_async in pskr_spots_live_test.exs (6 occurrences)
- Add MonitorLive.Show test coverage (4 tests: owner view, non-owner redirect, config success/error)
- Extract duct-detection and mechanism-classification logic from ContactLive.Show into Propagation.PathAnalysis
- Split ContactLive.Show render into 12 function components
- Update CLAUDE.md: remove stale ML model, mark HRDPS active, add backtest/pskr dirs
- Batch CSV import enrichment jobs via new enqueue_for_contacts/1

P2 (medium-priority):
- Set secure:true on session and remember-me cookies in production
- Change SMTP TLS from verify_none to verify_peer with public_key cacerts
- Make /metrics fail-closed in production when PROMETHEUS_AUTH_TOKEN unset
- Add RateLimiter (anon_limit:10, auth_limit:60) to /api/contacts/map
- Add content-security-policy-report-only header
- Add comment noting String.to_atom is compile-time safe in hrdps_client.ex
- Delegate duplicated haversine_km to canonical Microwaveprop.Geo.haversine_km/4
- Consolidate score-tier/color/verdict formatting into Microwaveprop.Format
- Update CLAUDE.md testing section to match actual raw-string-matching practice
- Batch HrrrPointEnqueuer Repo.insert_all calls to single round-trip
- Split weather.ex (1696→216 lines) and radio.ex (1285→54 lines) into purpose-based sub-facades

P3 (low-priority):
- Add LIVE_VIEW_SIGNING_SALT warning comment, extend filter_parameters
- Add host/community validation to snmp_client.ex
- Add raw/1 safety comment in algo_live.ex
- Add hex-audit and cargo-audit Makefile targets
- Add privacy_live smoke test
- Replace notify_listener busy-poll loop with Process.monitor/1 + assert_receive
- Add ContactCommonVolumeRadar changeset validation tests (5 tests)
2026-07-27 18:19:37 -05:00
..
accounts fix: resolve 391 Credo issues across codebase 2026-06-12 13:51:32 -05:00
aprs fix(aprs): tighten PathParser self-loop check and Q-construct regex 2026-05-01 12:40:17 -05:00
backtest fix: resolve 391 Credo issues across codebase 2026-06-12 13:51:32 -05:00
beacons fix: resolve 158/183 credo --strict warnings 2026-06-12 15:47:15 -05:00
buildings chore: bump deps, fix doctests, fix credo issues 2026-07-01 17:46:03 -05:00
canopy test: PromEx + Canopy.BulkFetch + Maidenhead.valid? coverage 2026-05-08 10:06:36 -05:00
commercial fix: resolve 391 Credo issues across codebase 2026-06-12 13:51:32 -05:00
ionosphere fix(ionosphere): disable TLS verify for GIRO to unbreak ionosonde fetch 2026-04-22 09:49:03 -05:00
propagation fix: resolve 27 security, architecture, test, and performance audit findings 2026-07-27 18:19:37 -05:00
pskr fix: two test issues causing 37 failures 2026-07-22 16:37:17 -05:00
qrz test: cover qrz/client 2026-04-16 14:10:50 -05:00
radio fix: resolve 27 security, architecture, test, and performance audit findings 2026-07-27 18:19:37 -05:00
rover fix: resolve 158/183 credo --strict warnings 2026-06-12 15:47:15 -05:00
rover_planning update credo 2026-06-12 16:14:14 -05:00
space_weather fix: resolve 158/183 credo --strict warnings 2026-06-12 15:47:15 -05:00
terrain test: format all test files + GridCache Valkey backend (49%->74%) 2026-05-07 16:04:32 -05:00
valkey fix: resolve 391 Credo issues across codebase 2026-06-12 13:51:32 -05:00
weather fix: repair 18 failing tests (atom naming + stale assertions) 2026-07-08 11:10:29 -05:00
workers fix: additional @spec and test assertion fixes from agents 2026-06-12 13:53:25 -05:00
accounts_api_token_test.exs fix(security): mass-assignment on owner edit + 3 minor hardening fixes 2026-05-11 19:04:16 -05:00
accounts_test.exs feat(admin): beacon monitor reassign, token regen, assigned_by display, user monitor management 2026-07-22 16:27:21 -05:00
application_test.exs test: lift coverage to 85% and pin threshold 2026-05-08 13:59:56 -05:00
aprs_repo_test.exs fix: resolve 391 Credo issues across codebase 2026-06-12 13:51:32 -05:00
aprs_test.exs feat(aprs): add Aprs context for read-only queries against aprs.me 2026-05-01 12:47:35 -05:00
backtest_test.exs fix: resolve 158/183 credo --strict warnings 2026-06-12 15:47:15 -05:00
beacon_measurements_test.exs feat(api): ingest endpoint for propmonitor beacon measurements 2026-05-13 16:07:04 -05:00
beacon_monitors_test.exs feat(admin): beacon monitor reassign, token regen, assigned_by display, user monitor management 2026-07-22 16:27:21 -05:00
beacons_test.exs fix(security,test): viewer-aware profile queries + create_contact ordering + valkey test isolation 2026-05-12 08:49:08 -05:00
cache_test.exs fix: resolve 7 pre-existing test failures and ScoreCache DateTime bug 2026-06-10 13:50:24 -05:00
callsign_location_test.exs fix: resolve 391 Credo issues across codebase 2026-06-12 13:51:32 -05:00
canopy_test.exs test: 100% coverage push — Valkey.RedixAdapter, Buildings.BulkFetch, AprsRepo, Maidenhead, Canopy 2026-05-08 10:01:28 -05:00
commercial_test.exs fix: resolve 391 Credo issues across codebase 2026-06-12 13:51:32 -05:00
format_property_test.exs test: cover Format.number/bytes, Instrument.span, SolarClient edges 2026-04-23 14:09:13 -05:00
format_test.exs fix: resolve 27 security, architecture, test, and performance audit findings 2026-07-27 18:19:37 -05:00
geo_property_test.exs test(property): add property tests for terrain + atmospheric math 2026-04-21 13:56:39 -05:00
geo_test.exs test: cover geo, qrz record, callsign client 2026-04-16 14:09:44 -05:00
geocoder_test.exs Drop gridmap.org dependency, resolve callsigns locally 2026-04-12 17:43:29 -05:00
instrument_test.exs test: cover Format.number/bytes, Instrument.span, SolarClient edges 2026-04-23 14:09:13 -05:00
logger_format_test.exs update credo 2026-06-12 16:14:14 -05:00
mailer_test.exs Add test coverage for Mailer and AboutLive 2026-05-29 17:56:03 -05:00
markdown_test.exs fix(docs): render API reference bullets correctly + tighter reading column 2026-05-09 09:46:45 -05:00
moon_test.exs feat(eme): add /eme Earth-Moon-Earth calculator 2026-04-23 16:18:20 -05:00
oban_error_reporter_test.exs fix: resolve 391 Credo issues across codebase 2026-06-12 13:51:32 -05:00
partition_manager_property_test.exs perf+test: cache nearest_hrrr per cell, batch pg_inherits, +property tests 2026-05-05 17:40:13 -05:00
partition_manager_test.exs perf+test: cache nearest_hrrr per cell, batch pg_inherits, +property tests 2026-05-05 17:40:13 -05:00
prom_ex_test.exs fix: resolve 158/183 credo --strict warnings 2026-06-12 15:47:15 -05:00
propagation_test.exs fix: resolve 391 Credo issues across codebase 2026-06-12 13:51:32 -05:00
pskr_test.exs fix: accept 4-char Maidenhead grids in PSK Reporter spots 2026-07-20 13:54:32 -05:00
qrz_test.exs Drop gridmap.org dependency, resolve callsigns locally 2026-04-12 17:43:29 -05:00
radio_refinement_test.exs fix: resolve 391 Credo issues across codebase 2026-06-12 13:51:32 -05:00
radio_test.exs Fix 4 critical bugs and document remaining findings 2026-05-29 15:27:33 -05:00
release_test.exs test: push line coverage from 71.7% → 78.67% 2026-04-23 18:43:18 -05:00
repo_listener_test.exs test: cover repo_listener 2026-04-16 14:58:55 -05:00
rover_planning_test.exs fix: unwrap Repo.transaction return values for ecto_sql 3.14, fix sandbox deadlock in rover_planning tests 2026-07-21 10:24:06 -05:00
rover_test.exs feat(rover): user-scoped FixedStation context with ownership guard 2026-04-25 16:26:33 -05:00
terrain_test.exs Rename qsos table to contacts, qso_id to contact_id 2026-04-02 15:52:19 -05:00
valkey_test.exs fix: resolve 27 security, architecture, test, and performance audit findings 2026-07-27 18:19:37 -05:00
weather_extra_test.exs chore: delete dead RTMA + METAR5 code paths 2026-05-04 15:09:19 -05:00
weather_grid_test.exs fix: resolve 391 Credo issues across codebase 2026-06-12 13:51:32 -05:00
weather_test.exs fix: resolve 158/183 credo --strict warnings 2026-06-12 15:47:15 -05:00