Skip to content

Release polish: the Final freeze, skew-safe rendering, tone round-trip, orphan pruning#368

Merged
ryan-johnson2 merged 3 commits into
develfrom
release-polish
Jul 4, 2026
Merged

Release polish: the Final freeze, skew-safe rendering, tone round-trip, orphan pruning#368
ryan-johnson2 merged 3 commits into
develfrom
release-polish

Conversation

@ryan-johnson2

Copy link
Copy Markdown
Contributor

The deferred-items polish batch (all from docs/release-audit-2026-07.html §5):

  • Final freeze: passes landing after Finalized never join the heat/class/live windows — an official result can no longer shift under a delayed catch-up pass. Rulings (and Revert) unaffected.
  • Version-skew rendering: unknown timer kinds render labeled (previously mislabeled as RotorHazard + a field-access crash); unknown metrics read unsupported, not a DNF dash.
  • Start-tone round-trip: editing any round erased its stored start tone (wholesale round replace vs a partial form) — the stored procedure now survives verbatim under the form's fields.
  • Housekeeping: per-event bridge/presence tasks exit on event deletion; spawner sets prune; intra-batch CompetitorSeen dedup.
  • Zoom test debt: full RssiGraph zoom/pan suite incl. the deferred-capture marker-click regression; NaN-guarded pan coordinates.

Verification: cargo workspace + xtask lint clean; 621 rd-console + 35 components tests; both svelte-checks 0 errors; prettier/eslint clean.

🤖 Generated with Claude Code

ryan-johnson2 and others added 3 commits July 4, 2026 19:22
…trip, orphan pruning + zoom tests

The release-polish batch over the deferred audit items:

- FINAL FREEZE (audit round-2 §4 deferral, the top remaining integrity item):
  a pass landing at/after a heat's Finalized transition never joins its window
  (heat, class, and live folds) — a delayed RotorHazard catch-up pass, tagged
  or untagged, could silently change an official result with no command and no
  audit entry. Rulings are unaffected: Revert re-opens marshaling, not the
  observation record.
- Version-skew rendering: an unmodeled timer kind now tags/labels/tones as
  unknown with an update nudge (it mislabeled as RotorHazard and field access
  CRASHED the Timers page); an unmodeled result metric labels 'unsupported'
  instead of a DNF-reading em dash.
- Start-procedure round-trip: the rounds form models only the min/max delay but
  the server replaces the round wholesale — editing any round ERASED a stored
  start tone (and would flatten a future non-randomized mode). The stored
  procedure now round-trips verbatim under the form's fields, the same
  preserved-seeding pattern that saved bracket chains.
- Housekeeping: bridge + presence tasks EXIT when their event is deleted (the
  log Arc kept orphans polling forever) and the spawners prune their attached
  sets; the presence reconciler dedups CompetitorSeen within a poll batch.
- Test debt: the RSSI zoom/pan surface gets its suite — wheel/buttons/Fit, and
  the deferred-capture regression (a plain marker click selects while zoomed;
  a real drag captures and pans). Pan/zoom coordinates are NaN-guarded against
  coordinate-less synthetic pointer events.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ryan-johnson2 ryan-johnson2 merged commit 8e1510a into devel Jul 4, 2026
3 checks passed
@ryan-johnson2 ryan-johnson2 deleted the release-polish branch July 4, 2026 19:29
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