Skip to content

docs(state): close T-NEON-FMA-FLOAT-ADM-DWT2-2026-06-06 in the ledger - #1331

Merged
lusoris merged 1 commit into
masterfrom
docs/close-t-neon-fma-float-adm-dwt2-2026-06-06
Sep 7, 2026
Merged

lusoris merged 1 commit into
masterfrom
docs/close-t-neon-fma-float-adm-dwt2-2026-06-06

Conversation

@lusoris

@lusoris lusoris commented Sep 5, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Ledger-only correction. The docs/state.md row for T-NEON-FMA-FLOAT-ADM-DWT2-2026-06-06 was self-contradictory: a 2026-06-27 note inside the T-MASTER-CI-TSAN-ARM-GOLDEN-2026-06-27 row said the bug "stays Open" for a correct re-attempt, while its Recently-closed row already recorded a 2026-08-30 closure — and that closure narrative described only the integer-path dropped-tap defect and cited a branch name (fix/adr-1057-arm-fma-drift) instead of a commit. Re-verified against origin/master: there is no defective code left to point at, so the row is rewritten in past tense with real commit shas and the stale "stays Open" note is marked superseded. No code or behaviour change.

Type

  • docs — documentation only

no docs needed: the diff touches only docs/state.md, changelog.d/changed/t-neon-fma-float-adm-dwt2-ledger-correction.md and the regenerated CHANGELOG.md — no CLI flag, public header, meson option, feature extractor, backend, MCP tool or output schema is added or changed.

Verification

  1. The float-ADM follow-up the row asked for has landed. a6c4dfffb (PR fix: 6 real-code-fix bundle (matrix-v2 follow-up + NEON FMA re-dispatch) #853) put the kernel in a dedicated non-contracting TU core/src/feature/arm64/float_adm_dwt2_neon.c, compiled with -ffp-contract=off (core/src/meson.build:722-759), and re-wired adm_dwt2_dispatch() in core/src/feature/adm.c to call float_adm_dwt2_neon() under VMAF_ARM_CPU_FLAG_NEON. The scalar adm_dwt2_s (core/src/feature/adm_tools.c) carries the matching function-scoped guard (__attribute__((optimize("-ffp-contract=off"))) for GCC, #pragma clang fp contract(off) in the body for Clang) — deliberately function-scoped, since the file-scoped variant is what made PR fix(arm64): FMA-safe float-ADM DWT2 bit-exactness — guard scalar adm_dwt2_s (closes T-NEON-FMA, ADR-1057) #1060 drift the akiyo golden and get reverted by fix(ci): repair master red — TSan operator-new dup + revert #1060 ARM golden drift #1063. Both sides are non-contracting, so the 1-ULP FMA gap that motivated the row cannot arise.
  2. The integer-path defect named in the closure row is gone. core/src/feature/arm64/adm_neon.c now loops for (int idx = 0; idx < 4; idx++) at both sites (lines 181, 260); the idx < 3 dropped 4th filter tap was fixed by a013c1410 (PR fix(arm64): adm_dwt2_8_neon dropped the 4th filter tap at j=0 (ADR-1057 rediagnosed) #1134) and hardened to bit-exactness by 89a8e3258 (PR fix(arm64): make adm_dwt2_8_neon bit-exact with the scalar kernel #1154), with 6d61106ed (PR fix(arm64): NEON parity tests for every uncovered kernel, and 7 defects they found #1156) adding NEON parity tests for the remaining uncovered kernels.
  3. A permanent gate exists and runs by default. core/test/test_float_adm_dwt2_neon.c runs the production adm_dwt2_s and float_adm_dwt2_neon on the same input and asserts mismatches == 0 by bit pattern (not ==), plus a geometry sweep and a signed-zero case; registered in core/test/meson.build as test('test_float_adm_dwt2_neon', …, suite : ['fast', 'simd']).

Exactly one ledger row exists for the bug id, in ## Recently closed.

Bug-status hygiene (ADR-0165)

  • docs/state.md updated in this PR — the T-NEON-FMA-FLOAT-ADM-DWT2-2026-06-06 row in ## Recently closed is rewritten in past tense citing a6c4dfffb / a013c1410 / 89a8e3258 / 6d61106ed / 195f88a22, the Open-section tombstone comment is updated to the same shas, and the stale "stays Open" sentence in the T-MASTER-CI-TSAN-ARM-GOLDEN-2026-06-27 row is marked superseded.

Netflix golden-data gate (ADR-0024)

  • I did not modify any assertAlmostEqual(...) score in the Netflix golden Python tests.

Deep-dive deliverables (ADR-0108)

  • Research digest — no digest needed: trivial change (ledger bookkeeping only, no code touched).
  • Decision matrix — no alternatives: only-one-way fix (the row must state what master actually contains).
  • AGENTS.md invariant note — no rebase-sensitive invariants.
  • Reproducer / smoke-test command — pasted below under "Reproducer".
  • CHANGELOG fragment — changelog.d/changed/t-neon-fma-float-adm-dwt2-ledger-correction.md; CHANGELOG.md regenerated with bash scripts/release/concat-changelog-fragments.sh --write.
  • Rebase note — no rebase impact: docs-only ledger edit, no tracked source or build file changed.

Reproducer

# exactly one ledger row for the bug id, and it is in "Recently closed"
grep -c '^| \*\*T-NEON-FMA-FLOAT-ADM-DWT2-2026-06-06\*\*' docs/state.md   # -> 1
awk '/^## Recently closed/,/^## Confirmed not-affected/' docs/state.md \
  | grep -c '^| \*\*T-NEON-FMA-FLOAT-ADM-DWT2-2026-06-06\*\*'            # -> 1

# the code the row used to describe as defective is fixed on master
grep -n 'idx <' core/src/feature/arm64/adm_neon.c                        # -> idx < 4 (x2)
grep -n 'float_adm_dwt2_neon' core/src/feature/adm.c
grep -n 'fp-contract' core/src/meson.build

# the bit-exactness gate runs in the default fast suite
meson test -C build --suite=fast test_float_adm_dwt2_neon

# rendered changelog matches the fragment tree
bash scripts/release/concat-changelog-fragments.sh --check

Known follow-ups

None. T-NEON-FMA-FLOAT-ADM-DWT2-REVERT-2026-06-06 (the separate revert-tracking row) already sat in ## Recently closed and is unchanged.

@lusoris lusoris added this to the 1.0.0 — First release milestone Sep 5, 2026
@lusoris
lusoris force-pushed the docs/close-t-neon-fma-float-adm-dwt2-2026-06-06 branch 3 times, most recently from 2706b80 to df968a5 Compare September 6, 2026 09:35
The ledger row for T-NEON-FMA-FLOAT-ADM-DWT2-2026-06-06 was
self-contradictory: a 2026-06-27 note inside the
T-MASTER-CI-TSAN-ARM-GOLDEN-2026-06-27 row said the bug "stays Open"
for a correct re-attempt, while its Recently-closed row already
recorded a 2026-08-30 closure — and that closure narrative described
only the integer-path dropped-tap defect and cited a branch name
(`fix/adr-1057-arm-fma-drift`) instead of a commit.

Re-verified against origin/master, with no defective code left to point
at:

- The float-ADM follow-up the row asked for landed in `a6c4dfffb`
  (PR #853): the kernel lives in a dedicated non-contracting TU
  `core/src/feature/arm64/float_adm_dwt2_neon.c`, built with
  `-ffp-contract=off` (`core/src/meson.build`), and
  `adm_dwt2_dispatch()` in `core/src/feature/adm.c` calls
  `float_adm_dwt2_neon()` under `VMAF_ARM_CPU_FLAG_NEON`. The scalar
  `adm_dwt2_s` carries the matching function-scoped guard, so both
  sides of the comparison are non-contracting and the 1-ULP FMA gap
  that motivated the row cannot arise.
- The integer `idx < 3` dropped filter tap in `adm_dwt2_8_neon` was
  fixed by `a013c1410` (PR #1134) and hardened to bit-exactness by
  `89a8e3258` (PR #1154); `6d61106ed` (PR #1156) added NEON parity
  tests for the remaining uncovered kernels.
- `core/test/test_float_adm_dwt2_neon.c` gates NEON-vs-scalar
  bit-exactness by bit pattern and is registered in the default `fast`
  suite.

The row stays in "Recently closed" (exactly one row for the id),
rewritten in past tense with real commit shas, and the stale "stays
Open" note is marked superseded so the next session does not
re-investigate. Documentation only — no code or behaviour change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@lusoris
lusoris force-pushed the docs/close-t-neon-fma-float-adm-dwt2-2026-06-06 branch from df968a5 to 192a794 Compare September 7, 2026 06:55
@lusoris
lusoris marked this pull request as ready for review September 7, 2026 07:19
@lusoris
lusoris merged commit a49c3f5 into master Sep 7, 2026
111 of 112 checks passed
@lusoris
lusoris deleted the docs/close-t-neon-fma-float-adm-dwt2-2026-06-06 branch September 7, 2026 07:48
@lusoris lusoris added the type:docs Documentation updates label Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:docs Documentation updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant