Skip to content

0.2.3 — Per-PR parity gate (upstream-drift on every PR, required on main)

Choose a tag to compare

@wasomma wasomma released this 17 Aug 01:52
· 7 commits to main since this release
9a910aa

No engine or tool behavior changes; golden fixtures unchanged. CI and
docs only: the upstream-drift parity check now runs on every pull request
and is a required status check on main (paired with fpv-sim's new
parity workflow, so the two repos cannot diverge at merge time), and
describe_model / the pinned DESIGN_NOTES copy are corrected against the
code.

Docs

  • describe_model text (src/server/model.ts) corrected to match the
    code, in step with upstream fpv-sim's DESIGN_NOTES.md fix (fpv-sim
    PR #20): pathAtten samples 13 interior points and tops out near 3.9
    (the cap of 6 is never reached); WLS weights floor range at 300 m; the
    geometry-penalty cut angle is between the two strongest sensors'
    bearings to the current estimate, not their mean LOBs; the terminal
    search is an outward spiral, not an "expanding search" of unspecified
    shape; and the determinism entry names every main-stream consumer
    (including the display-only enemy-drone track noise) and the derived
    terrain streams. Two engine comments (fix.ts, drone.ts) that had
    inherited the upstream "mean bearings" / "expanding-square" wording are
    corrected — comments only, no code change; goldens unchanged.
  • docs/upstream/DESIGN_NOTES.md re-synced to upstream 74b161a
    (SNAPSHOT.md updated; that pin is the design-notes copy, distinct
    from the fixtures' _meta.source_commit).

Changed

  • CI: upstream-drift workflow bumped actions/checkout and
    actions/setup-node from v4 to v5 (Node 24 action runtime), clearing
    GitHub's Node 20 deprecation warning. The workflow still tests on
    Node 20, the package's stated minimum; setup-node v5's automatic
    package-manager caching does not engage because package.json has no
    packageManager field.
  • CI: upstream-drift now also runs on every pull request and on push
    to main, so a PR whose engine no longer reproduces the committed
    fixtures, or whose fixtures no longer match live upstream fpv-sim
    main, shows a red check before it merges instead of failing the
    weekly run afterwards. The weekly schedule and manual dispatch remain
    for catching upstream movement while this repo is quiet. Paired with
    fpv-sim's new parity workflow (which regenerates these fixtures from
    a PR's index.html on that side), divergence between the two repos
    surfaces at merge time on whichever side changes.
  • CI: the drift job is now a required status check on main
    (repository ruleset "main: require upstream-drift", no bypass actors),
    so a red upstream-drift run blocks the merge outright rather than
    merely flagging it. Repo setting, recorded here so it isn't invisible:
    renaming the job requires updating the ruleset's required context.