Skip to content

fix(records): triage the BUG-048 remainder and correct release notes - #1565

Merged
lusoris merged 2 commits into
masterfrom
fix/bug048-remainder-records
Sep 26, 2026
Merged

lusoris merged 2 commits into
masterfrom
fix/bug048-remainder-records

Conversation

@lusoris

@lusoris lusoris commented Sep 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Triages everything stale-branch merges removed (BUG-048) and fixes the records that still claimed that work shipped. Without this, the 1.0.0-rc.1 release notes would advertise GPU options, performance changes and tooling that the tree does not contain.

  • All 63 silent-revert ledger items (sections B–E) were re-checked at the merged train (dd51d00db): 30 restored, 6 moot, 22 missing, 5 need a decision.
  • The missing work is filed in docs/state.md by ADR-1341 phase:
    • RC2: T-BUG048-GPU-OPTION-PARITY-REMAINDER-2026-09-26 and T-BUG048-PERF-RESTORATIONS-2026-09-26.
    • RC3: T-BUG048-AI-SCRIPT-HELPERS-2026-09-26.
    • Deferred: T-BUG048-RECORD-DEBT-2026-09-26 (includes three option questions for the maintainer) and ADR-0694's never-filed T-CERT-ERR33-SWEEP.
  • Scores are unaffected by any missing item. A model that sets an option a GPU twin lacks keeps that feature on the CPU (libvmaf.c gates on vmaf_feature_extractor_honours_options(), ADR-1183). An explicit request for the twin with that option fails with "unknown option".

RC1 fixes in this PR:

  • Removes 14 changelog.d fragments that describe work not in the tree. One claim is made true instead: the dead integer_psnr_* aliases are dropped from extract_k150k_features.py, since libvmaf never emits such keys. The same file's docstring no longer claims automatic /dev/shm scratch selection.
  • Stops the CUDA AGENTS.md from documenting the resolution-aware dispatch that ADR-1143 deleted, and marks ADR-0753 superseded.
  • Points 11 VIF citations of ADR-0541 at ADR-0597, the number fix(gpu): mirror the CPU integer_adm option table on the CUDA, SYCL and HIP twins #1324 gave the luma-only VIF decision; ADR-0541 is now an unrelated dev-container ADR. The source-citation registry is regenerated with its own writer.
  • Runs test_pic_preallocation in the ASan job again. Its exclusion cited a SIGABRT from the release+LTO AVX-512 bug the fork already fixed. Under CI's exact ASan configuration (debug, b_lto=false, b_sanitize=address) it passes 3/3.

Type

  • Bug fix (records and CI coverage; no scoring change)

Checklist

  • Commits are signed and follow Conventional Commits.
  • Pre-commit and the pre-push gate passed locally.
  • No public C API, CLI flag or FFmpeg patch surface changes.

Bug-status hygiene

  • docs/state.md updated in this PR: five new open rows, two closed rows, and the ADR-1341 disposition table.

Netflix golden-data gate

  • No Netflix assertAlmostEqual(...) value was modified.

Deep-dive deliverables

  • Research digest — no digest needed: trivial (item-by-item evidence lives in the docs/state.md rows).
  • Decision matrix — no alternatives: only-one-way fix (phase placement follows ADR-1341; records are corrected to match the tree).
  • AGENTS.md invariant note — core/src/feature/cuda/AGENTS.md and tools/vmaf-tune/AGENTS.md corrected.
  • Reproducer / smoke-test command — below.
  • CHANGELOG fragment — changelog.d/changed/release-notes-bug048-corrections.md.
  • Rebase note — no rebase impact: records, docs and one CI exclusion list only.

Reproducer

bash scripts/ci/check-state-md-rows.sh
python3 -B scripts/ci/check-source-adr-citations.py
make docs-fragments-check
meson setup build-asan core -Denable_cuda=false -Denable_sycl=false \
  --buildtype=debug -Db_lto=false -Db_sanitize=address -Db_lundef=false
ninja -C build-asan test/test_pic_preallocation
ASAN_OPTIONS=detect_leaks=1 ./build-asan/test/test_pic_preallocation

Stale-branch merges removed work that the records still described as
present. All 63 items in sections B-E of the silent-revert ledger were
re-checked at the pre-RC1 train head: 30 are restored, 6 are moot, and
the rest are filed in docs/state.md by ADR-1341 phase. GPU option parity
and four performance restorations go to RC2; results stay correct
because models that set a missing option keep the feature on the CPU
(ADR-1183) and explicit requests fail with "unknown option". The
training-script helpers go to RC3, and record debt plus three open
option questions are deferred. ADR-0694's promised T-CERT-ERR33-SWEEP
row is filed as well.

The RC1 part is fixed here. Fourteen changelog fragments that claimed
the missing work are removed, so the 1.0.0 notes no longer advertise
it. The one trivial claim is made true instead: the dead integer_psnr_*
aliases are dropped from extract_k150k_features.py, whose docstring no
longer claims /dev/shm auto-selection. The CUDA AGENTS.md stops
documenting the resolution-aware dispatch that ADR-1143 deleted, and
ADR-0753 is marked superseded. Eleven VIF citations of ADR-0541 now
point at ADR-0597, the number #1324 gave that decision.

The ASan job runs test_pic_preallocation again. Its exclusion cited a
SIGABRT that belonged to the release+LTO AVX-512 bug already fixed in
the fork; under CI's exact ASan configuration the test passes 3/3.
@github-actions github-actions Bot added the type:bug Something isn't working label Sep 26, 2026
…itation

The CUDA integer_vif twin's init warning and help text now cite ADR-0597,
the luma-only VIF decision, instead of the unrelated ADR-0541. Quote the
warning in the option table so users can match the log line.
@lusoris
lusoris merged commit 52ead78 into master Sep 26, 2026
110 checks passed
@lusoris
lusoris deleted the fix/bug048-remainder-records branch September 26, 2026 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant