Skip to content

One station-wide reporter_id in coordination.toml, consumed by all upload paths (wsprdaemon/wsprnet/PSKReporter) #38

Description

@rrobinett

Operator directive (rob, 2026-07-02): there should be ONE reporter ID, supplied to sigmond once, used by every upload path — wsprdaemon, wsprnet, and PSKReporter alike.

Today's MSK144 end-to-end test on B4 surfaced how fragmented reporter identity currently is:

  • coordination.toml [host] callSTATION_CALL (plain callsign)
  • each client's [station] callsign (psk-recorder had AC0G/B4, meteor-scatter AC0G)
  • each client's per-instance [instance] reporter_id (unset on B4 until today)
  • wspr-uploader's WD_RECEIVER_CALL env
  • coordination.py already renders STATION_WSPRNET_CALL / STATION_PSKREPORTER_CALL override hooks from [station] — but no client consumes them

Failure mode observed: with [instance] reporter_id unset, psk-recorder/meteor-scatter ChTailer falls back to the radiod status DNS name, hs-uploader's tar builder prefers reporter_id for the RX_SITE arcname (transports/wsprdaemon.py, psk_call = cols.get("reporter_id") or ...), wsprdaemon-server derives rx_sign from that path segment, and the pskreporter forwarder then posted spots to PSKReporter under receiver callsign "B4-100-RX888MK2-STATUS". ~790 rows were misattributed on 2026-07-02 (17:54–18:40 UTC) before we set [instance] reporter_id = "AC0G/S" in both clients' configs as a stopgap.

Proposed unification (implementation PR/commits to follow from AC0G/B4):

  1. coordination.toml [station] reporter_id = "AC0G/S" (one key, site-wide) → rendered as STATION_REPORTER_ID in coordination.env.
  2. psk-recorder, meteor-scatter (and future clients): reporter resolution becomes [instance] reporter_id (explicit per-instance override) → STATION_REPORTER_ID (site default) → loud warning on radiod-hostname fallback, never silent.
  3. wspr-recorder uploader shim: default WD_RECEIVER_CALL from STATION_REPORTER_ID when unset.
  4. The existing STATION_WSPRNET_CALL / STATION_PSKREPORTER_CALL hooks remain as per-destination overrides for operators whose IDs genuinely differ per service.

Related, same class of bug (config that silently never loads): the %i/%I EnvironmentFile fix is applied to wspr-recorder and meteor-scatter units; psk-recorder@.service still has the %I-only line. Also see HamSCI/wspr-recorder#5.

— filed from AC0G/B4, 2026-07-02

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions