Skip to content

test: lock the diffusion reference-PSNR ranking regression - #375

Merged
Dong1017 merged 3 commits into
mainfrom
cursor/diffusion-psnr-regression-474c
Nov 9, 2026
Merged

Dong1017 merged 3 commits into
mainfrom
cursor/diffusion-psnr-regression-474c

Conversation

@Dong1017

@Dong1017 Dong1017 commented Nov 9, 2026 •

Copy link
Copy Markdown
Collaborator

Governing Issue and delivery slice

Refs #364

  • Accepted scope / delegation: Add a small CPU regression for the known reference-PSNR ranking failure. Do not change production quality thresholds.
  • What this PR delivers: tests/test_diffusion_reference_psnr.py locks the ordering: a blurred frame can have higher PSNR than a sharp shift, while Laplacian variance ranks the pair the other way. The dependency-free case always runs. A NumPy twin runs only when NumPy is installed.
  • What it does not deliver: No change to ImageQualityGate, no new PASS condition for sharpness, luma, or frame difference, no H3 evidence-validator change, and no GPU, NPU, or model run. Issue 364 remains open.

Knowledge authorship declaration

Not applicable. This PR adds a CPU test only and does not change knowledge content.

{
  "schema_version": 1,
  "head_sha": "298f2cdeb41863c02f0bfbed3daf8cb99874664c",
  "human_only": false,
  "material_ai_authors": [
    {
      "tool": "Cursor",
      "model_id": "grok-4.7",
      "effort": "unknown",
      "role": "author"
    }
  ]
}

Changed artifacts and evidence

Requirement Actual change Check / evidence and result Remaining gap
Collect without NumPy No top-level NumPy import With NumPy blocked, unittest collected 3 tests: 2 passed and the NumPy twin skipped Standard Ready CI installs .[dev] only, so that twin stays skipped there
Real CPU execution with NumPy Same fixture through NumPy rolls and blur NumPy 1.26.4: 3 passed, 0 skipped. Ordering gap is greater than 2 dB on the fixed pattern Not a perceptual corpus
Do not pin a Generator sample Ordering and ratio bounds only Seed-0 iid sample was remeasured here at 7.612 dB and 11.008 dB. It is a comment, not an assertion. The theoretical 7.75 dB center is a different quantity None
Production gate unchanged Test file only ImageQualityGate has no sharpness, laplacian, luma, or temporal field. git diff --check clean. Ruff 0.17.4 passed on this file None

Checks and dependencies

  • Checks actually run (result and tested scope): PYTHONPATH=src python3 -m unittest tests.test_diffusion_reference_psnr with NumPy 1.26.4: 3 passed. The same command with NumPy imports blocked: 2 passed, 1 skipped. python3 -m ruff check tests/test_diffusion_reference_psnr.py: passed.
  • Failed, skipped, timed-out or not-run checks (if applicable): Full pytest and device or model runs were not run. A skipped NumPy twin is not treated as the ranking evidence.
  • Dependencies / shared interfaces / integration assumptions (if applicable): NumPy remains an image extra. This test does not add it to the default or dev extras.

Remaining work and Issue closure

  • Remaining Issue requirements / follow-up: Geometry and media-integrity gates, bilateral sharpness, luma, and temporal reports, and any future pass threshold stay on issue 364.
  • Goal-acceptance owner or accepted closure delegation: Not claimed.
  • Goal ready for acceptance? Not claimed

Handoff (only when an actual handoff or decision changed)

  • Accepted decision / status and link: Conservative issue 364 slice: CPU regression only.
  • Recipient and communication status: Re-review requested from zengchuang-hw and amy-why-3459 on head 298f2cdeb41863c02f0bfbed3daf8cb99874664c.
  • Application status and artifact/evidence: pending review
  • Relevant workspace state and next action: Do not merge from this change set.
Open in Web Open in Cursor 

Record that a blurred frame can outrank a sharp shift on PSNR while
Laplacian variance ranks them the other way. Noise that raises the
variance is not a quality pass, and the still-image gate is unchanged.

Agent-assisted-by: Cursor Grok 4.7 (author)
Signed-off-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Dong1017 <Dong1017@users.noreply.github.com>
@cursor

cursor Bot commented Nov 9, 2026

Copy link
Copy Markdown

@zengchuang-hw @amy-why-3459 Please review this CPU-only regression for #364. It locks the known case where a blurred frame outranks a sharp shift on reference PSNR, and where high-frequency noise raises Laplacian variance. It does not change ImageQualityGate thresholds, does not treat sharpness, luma, or frame difference as PASS, and does not claim #364 is complete.

@Dong1017 Dong1017 added the area:harness Harness module: profile, A/B loop, quality gates, evidence reports label Nov 9, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR review verdict — DO NOT PASS

Reviewed base 9f61a83f030bfa2ffe3b54eac1781593309d6380 and head 4ceba274a9e4592fd949cd9404e9a301349fd5ee (full diff, first review). Prior reviews: none. Test-only change: tests/test_diffusion_reference_psnr.py.

Blockers

  1. Shift-PSNR pin disagrees with this fixture (tests/test_diffusion_reference_psnr.py:64). sharp is iid uint8 from default_rng(0) at 128×128, and shifted is np.roll(sharp, 3, axis=1). Every pair is two independent samples on {0..255}:

    • Var = (256**2 - 1) / 12 = 5461.25
    • E[MSE] = 2 * Var = 10922.5
    • PSNR = 10 * log10(255**2 / 10922.5) ≈ 7.75 dB
      Lag-3 overlap inflates the standard error to about 0.05 dB. assertAlmostEqual(..., 7.61, delta=0.05) accepts only [7.56, 7.66], which sits about 0.1 dB below that center. The pin fails unless this seed is a multi-sigma low outlier. Re-run this seed and replace 7.61 with the measured value (expect about 7.75). Re-measure the blurred pin on line 65 in that same run (11.01 ± 0.05 was not recomputed here). _psnr itself (float64, peak 255**2, inf at MSE 0) matches the usual 8-bit definition.
  2. Laplacian ratio uses a false exact invariant (tests/test_diffusion_reference_psnr.py:66). _laplacian_variance pads with mode="edge". A 3-column circular roll is not an exact symmetry of that operator: on 128×128, on the order of 5% of the taps (the padded border and the strip whose neighborhood crosses the roll) differ from a shifted interior response. places=3 requires |ratio - 1| < 5e-4. That tolerance is tighter than the border mismatch, so the assertion is expected to fail for this fixture. If the claim is shift invariance, use a circular Laplacian. Otherwise set the tolerance from the same seed run that re-pins PSNR.

Failure path: ReferencePsnrRankingTest.test_blur_can_outrank_a_sharp_shift_on_psnr fails on the pin or the ratio before any production gate result is checked. Severity: the regression lock is wrong or unstable; production thresholds are unchanged.

Checked

  • Diff adds one unittest module. It does not modify ImageQualityGate thresholds or scoring.
  • Ranking direction in the docstring is consistent with the formulas: an 8-pass box blur of iid noise stays nearer the original than an independent roll (~7.75 dB), while edge-padded Laplacian energy drops.
  • _box_blur is a convex combination of rolls, so the uint8 cast truncates and does not wrap.

Not verified here

  • NumPy was not executed, so the seed-0 sample PSNR and the realized Laplacian ratio were not printed.
  • The ordered ImageQualityGate.__dataclass_fields__ list at lines 74-84 was not compared to inferrsi/model/validators/image.py (class body is not in the review seed). A name or order mismatch fails test_high_frequency_noise_raises_laplacian_variance_without_a_pass.

Follow-up (non-blocking)

_psnr, _laplacian_variance, and _box_blur are local. This file never calls a production reference-PSNR scorer, so a regression in the diffusion validator stays green. The field equality also fails on any new dataclass field, including fields other than sharpness.

I will re-read after the author pushes. Dong-bot review under the InferRSI queue; this comment does not approve.

Copy link
Copy Markdown
Collaborator

本次 review 范围:完整 diff(新 PR),base 9f61a83f030bfa2ffe3b54eac1781593309d6380,head 4ceba274a9e4592fd949cd9404e9a301349fd5ee。暂不能通过,需要先处理以下问题:

阻塞项

  1. CI full-check (3.10/3.11) 在收集阶段失败:tests/test_diffusion_reference_psnr.py:14 顶层 import numpy as np 报 ModuleNotFoundError: No module named 'numpy'。pyproject.toml 里 numpy 只在 image extra 中,dev extra 和基础依赖都没有它。期望修改:在 numpy 缺失时跳过整个模块(例如 unittest.skipUnless + importlib.util.find_spec("numpy"),或沿用仓库已有图像测试的做法),并确认 CI 里有哪个 job 实际安装了 image extra 并跑到了这个测试;如果没有,这个回归在 CI 里实际不会被执行,请在 PR 说明里写清。
  2. CI pr-references 失败:PR 描述第 8 行的 “This does not close Diffusion quality: reference PSNR ranks a blurred frame above a sharp one #364.” 被检测为关闭语法(GitHub 即使是否定句也会在合入时关闭 issue)。期望修改:改成不含 close 关键字的表述,只保留 Refs #364。

关于数值钉住的复核

我在本地(NumPy 2.5.4)按本 PR 的函数和 seed 复算了一遍:shifted PSNR = 7.6121 dB,blurred PSNR = 11.0078 dB,shifted/sharp Laplacian 方差比 = 1.000445,blurred/sharp = 0.000236。所以第 64–65 行的 7.61 / 11.01 在这个版本下是对的,另一条 review 里“应为约 7.75 dB”的推算与实测不符。但有两点仍希望调整:

  1. tests/test_diffusion_reference_psnr.py:66 的 assertAlmostEqual(ratio, 1.0, places=3) 要求 |ratio - 1| < 5e-4,实测偏差是 4.45e-4,余量非常小。边缘 mode="edge" padding 与循环 roll 并不严格对称,建议改用循环边界的 Laplacian,或放宽为显式 delta(例如 0.01)。
  2. 第 55–65 行把绝对数值绑定在 default_rng(0) 的具体随机流上。我不确定 NumPy 是否承诺 Generator.integers 的输出在各版本间完全不变,请确认;更稳妥的做法是只断言排序和足够大的间隔(例如 blurred_psnr - shifted_psnr > 2),具体数值只写在注释里。

非阻塞建议

  • 第 86 行起的 test_identical_frame_is_not_a_new_quality_gate 只断言 inf == inf 和同一帧方差相等,不会因为任何生产代码变化而失败,建议删除或改成有实际约束的断言。
  • 第 74–84 行的字段列表我对照了 head 上的 src/inferrsi/model/validators/image.py,名称和顺序一致。不过它会在任何无关字段新增时失败;如果意图只是“没有 sharpness 类字段”,可以改为断言不存在这类字段。

Copy link
Copy Markdown
Contributor

Independent check on 4ceba274a9e4592fd949cd9404e9a301349fd5ee against 9f61a83f030bfa2ffe3b54eac1781593309d6380. The readiness blockers are already recorded in Amy's review. This comment adds verification for that review.

I ran the exact module on NumPy 2.3.5 (3 passed). The shifted and blurred PSNR values were 7.612122 and 11.007766 dB, respectively. The shifted/sharp Laplacian variance ratio was 1.00044492. This independently confirms the sample values and the narrow tolerance margin. The ordering with a margin is the durable assertion for this source fixture. Test.

I also checked the dependency question. The Draft, Ready, Merge and Nightly workflows have no explicit installation of the image extra. Ready's full checks install only .[dev], and both currently fail collection at the NumPy import. Following the repository's optional-image test pattern will restore collection. The closure evidence should show a green normal suite and an actual run of this regression in a CPU environment with NumPy. If the regression should run in the standard Ready suite, a dependency-free fixture is an option. Dependency declarations · Existing optional test · Ready CI.

Run the blur-versus-shift ordering in dependency-free arithmetic, and
repeat it with NumPy only when that extra is installed. Drop the tight
seed pins so a Generator change cannot fail a still-valid ranking.

Agent-assisted-by: Cursor Grok 4.7 (author)
Signed-off-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Dong1017 <Dong1017@users.noreply.github.com>
@cursor

cursor Bot commented Nov 9, 2026

Copy link
Copy Markdown

@zengchuang-hw @amy-why-3459 Please re-review head 4be8581bd58855c4198650cf03674f4e02544128. The ranking test no longer imports NumPy at import time, so a dev-only environment can collect it. The dependency-free case always checks that blur PSNR exceeds the sharp shift by more than 2 dB. The NumPy twin ran here on NumPy 1.26.4 (3 passed). Seed-0 was remeasured at 7.612 dB and 11.008 dB and is not pinned. ImageQualityGate thresholds are unchanged.

Keep the ordering assertion, and note the 7.612 dB and 11.008 dB
sample so it is not confused with the 7.75 dB independent-pixel center.

Agent-assisted-by: Cursor Grok 4.7 (author)
Signed-off-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Dong1017 <Dong1017@users.noreply.github.com>
@cursor

cursor Bot commented Nov 9, 2026

Copy link
Copy Markdown

@zengchuang-hw @amy-why-3459 Please re-review the current head 298f2cdeb41863c02f0bfbed3daf8cb99874664c. It keeps the same NumPy-optional ranking fix as 4be8581b and adds only the remeasured 7.612 dB / 11.008 dB note. The reference check can now run against a body that uses Refs #364 alone.

Copy link
Copy Markdown
Collaborator

本次 review 范围:增量 4ceba274a9e4592fd949cd9404e9a301349fd5ee..4be8581bd58855c4198650cf03674f4e02544128(1 个新提交,只改 tests/test_diffusion_reference_psnr.py)。代码层面上次的问题基本都修好了,但当前 head 的 CI 还不完整,暂不能通过。

上次意见的处理情况

  • 顶层 import numpy 已去掉,NumPy 版本改为在 test_numpy_cpu_agrees_when_installed(第 106 行起)里按需 import 并 skipTest,只装 .[dev] 也能收集。✅
  • 不再钉住 default_rng(0) 的绝对数值,改成固定模式 _pattern() + 排序和间隔断言(第 96–98 行)。我在本地复算:shift PSNR = 8.085 dB,blur PSNR = 12.272 dB,间隔 4.19 dB(> 2);Laplacian 方差比 shifted/sharp = 1.0157(> 0.95),blurred/sharp = 0.0034(< 0.05),余量都充足。NumPy 2.5.4 下 NumPy 版本的 shift/blur 结果与纯 Python 版逐像素一致。✅
  • 空洞的 test_identical_frame_is_not_a_new_quality_gate 已删除,字段列表改为按关键字断言(第 139–140 行)。✅

阻塞项

  1. 当前 head 上 pr-references 仍是 failure:这次检查在 23:14 UTC 跑的时候读到的还是旧描述(第 8 行 “This does not close Diffusion quality: reference PSNR ranks a blurred frame above a sharp one #364.”)。PR 描述在 23:15 UTC 已经改成只有 Refs #364,内容上没问题,但这个 check 需要在当前 head 上重新跑并通过。
  2. full-check (3.10/3.11) 在当前 head 上是 cancelled,“Tests (smoke + unit)” 步骤没有跑完,所以目前没有证据表明 dev-only 环境下这个模块能收集并通过。期望:重跑 full-check 并拿到 green 结果。
  3. PR 描述里的 head 对不上:knowledge-model-policy 块里的 head_sha 和 Handoff 一节的 “Re-review requested … on head” 写的都是 298f2cdeb41863c02f0bfbed3daf8cb99874664c,而当前 head 是 4be8581bd58855c4198650cf03674f4e02544128,并且 298f2cde 不在 4ceba274..4be8581b 这段历史里。请更新成当前 head;declarations 这次显示 success,我不确定它会不会校验这个字段,请作者确认。

非阻塞建议

  • 第 96–98 行在 helper 里用的是裸 assert,python -O 下会被去掉;建议改成从测试方法里调 self.assertGreater / self.assertLess,或者让 helper 返回数值,由测试来断言。
  • 第 133–136 行的 noise 是 (3x + 5y) % 256 的线性斜坡,Laplacian 只在取模回绕的地方非零,并不是噪声;把变量名或注释改成“高频图案”会更准确。

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

PR review verdict — PASS
Reviewed base 9f61a83f030bfa2ffe3b54eac1781593309d6380 and head 298f2cdeb41863c02f0bfbed3daf8cb99874664c (incremental 4ceba274a9e4592fd949cd9404e9a301349fd5ee..298f2cdeb41863c02f0bfbed3daf8cb99874664c).

Earlier findings

  1. Absolute shift/blur PSNR pins are removed. tests/test_diffusion_reference_psnr.py now uses a fixed 64×64 pattern and locks the ranking with blurred_psnr - shifted_psnr > 2.
  2. The shifted Laplacian ratio is no longer required to equal 1.0 to 3 decimal places. The check is one-sided: shifted/detail > 0.95 and blurred/detail < 0.05, which fits an edge-padded 4-neighbor Laplacian after a circular shift.

Verified on this diff

  • _shift(..., 3) is a circular right rotate, the same index mapping as np.roll(..., 3, axis=1).
  • _blur is eight circular 5-point averages and truncates toward zero, matching the NumPy twin's astype(np.uint8) path for nonnegative values.
  • _psnr uses float MSE, peak 255**2, and returns inf when MSE is 0.
  • _laplacian_variance is the edge-padded kernel [[0,1,0],[1,-4,1],[0,1,0]] with population variance (divide by N).
  • test_blur_can_outrank_a_sharp_shift_without_numpy always runs the ranking assertion. test_numpy_cpu_agrees_when_installed skips only on ImportError.
  • The gate check walks ImageQualityGate.__dataclass_fields__ and rejects field names containing sharpness, laplacian, luma, or temporal.

Analytic check of the fixed pattern (phase 17x+31y, residue at most 12): one blur pass has gain about 0.855 on the sawtooth fundamental and kills harmonics k≥2 by pass 8, so blur-versus-sharp PSNR lands near 12 dB. A 3-pixel shift leaves MSE near 10^4 (row 0 SSE is 632256 over 64 pixels, about 8.2 dB). The gap stays above 2 dB. Blurred Laplacian power collapses onto that attenuated fundamental, so the ratio stays under 0.05. The 0.95 shift ratio is the edge-padding border term (252 border pixels) and should clear 0.95. This was derived from the operators in the diff, not from executing the test module.

Not verified here

Tests were not executed in this environment. CI on head 298f2cdeb41863c02f0bfbed3daf8cb99874664c was not rechecked.

Optional follow-ups

  • The module comment cites NumPy 1.26.4 seed-0 figures of about 7.612 dB and 11.008 dB. Those figures sit outside the assertions. At 128×128, PSNR of the independent-pixel MSE center (~7.75 dB) is within about 0.01 dB of E[PSNR]; a 0.14 dB gap is sample fluctuation, which is why that pin was dropped.
  • The NumPy test repeats the ranking inequalities on that runtime's shift and blur. Array equality with _shift / _blur is unchecked.

Dong1017 commented Nov 9, 2026

Copy link
Copy Markdown
Collaborator Author

@amy-why-3459 @zengchuang-hw — quick timeline note on #375 (comment). This is a race, not a claim that the review was wrong.

That comment (23:18:13 UTC / 07:18:13 Asia/Shanghai) reviewed incremental 4ceba274..4be8581 and treated 4be8581 as the current head. By then the branch head was already 298f2cdeb41863c02f0bfbed3daf8cb99874664c (author date 23:15:34 UTC / 07:15:34 Asia/Shanghai), and the PR body already listed that SHA.

298f2cde is one commit ahead of 4be8581: compare. Diff is +2 comment lines in tests/test_diffusion_reference_psnr.py only (remeasured seed-0 7.612 / 11.008 dB note; no assertion change).

On 4be8581, pr-references did fail and full-check was cancelled after the next push. On current head 298f2cde, Ready checks for that SHA completed successfully, including pr-references (finished 23:16:09 UTC) and full-check 3.10 / 3.11. Earlier re-review ping for this head: #375 (comment)

Please continue from current head 298f2cde. No new scope; human review still needed.

@amy-why-3459 amy-why-3459 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

PR review verdict — PASS
Reviewed base 9f61a83f030bfa2ffe3b54eac1781593309d6380 and head 298f2cdeb41863c02f0bfbed3daf8cb99874664c(增量 4be8581bd58855c4198650cf03674f4e02544128..298f2cdeb41863c02f0bfbed3daf8cb99874664c)。

  • 增量只有 1 个提交,tests/test_diffusion_reference_psnr.py 第 125–126 行新增 2 行注释,不改断言。
  • 上次评论的阻塞项均已解决:当前 head 上 pr-references、full-check (3.10/3.11)、installed-package (3.10/3.11)、declarations、lint-and-smoke 全部 success;PR 描述里的 head_sha 与当前 head 一致。上次第 3 点是我读到旧 head 造成的时序问题,感谢 @Dong1017 指出,这一点撤回。
  • 之前确认过的修复保持不变:无顶层 NumPy import、只断言排序和间隔、ImageQualityGate 阈值未改。

可选(非阻塞):_assert_blur_outranks_shift(第 95–97 行)仍是裸 assert,python -O 下会被去掉,后续可改为由测试方法用 self.assertGreater / self.assertLess 断言。

@cursor

cursor Bot commented Nov 9, 2026

Copy link
Copy Markdown

LGTM

PR review verdict — PASS
Reviewed base 9f61a83f030bfa2ffe3b54eac1781593309d6380 and head 4be8581bd58855c4198650cf03674f4e02544128.
Incremental range 4ceba274a9e4592fd949cd9404e9a301349fd5ee..4be8581bd58855c4198650cf03674f4e02544128.

Prior DO NOT PASS on 4ceba274 is resolved in tests/test_diffusion_reference_psnr.py:

  1. Shift-PSNR pin. The seed-0 iid fixture and the absolute pins 7.61 ± 0.05 / 11.01 ± 0.05 are gone. The ranking lock is a fixed 64×64 pattern and a gap check in _assert_blur_outranks_shift: blurred_psnr - shifted_psnr > 2. The module docstring keeps the NumPy 1.26.4 sample (~7.612 dB shift, ~11.008 dB blur) separate from the independent-pixel center near 7.75 dB, and does not assert either number.
  2. False exact Laplacian invariance. The shift stays circular (_shift matches np.roll(..., 3, axis=1)) and the 4-neighbor Laplacian stays edge-clamped, so a ratio of 1.0 to 3 decimals was the wrong contract. The helper now uses one-sided slack: shifted/sharp > 0.95, blurred/sharp < 0.05. Comment on that helper says this is ordering, not a campaign threshold.

Verified by inspection:

  • The dependency-free test always calls the ranking helper. The NumPy twin uses the same circular 5-point, 8-pass blur and the same roll, then the same helper. ImportError skips only the twin.
  • _psnr is the 8-bit definition (peak 255**2, math.inf when MSE is 0). Laplacian variance divides by N, same as ndarray.var().
  • Final int() truncation and astype(np.uint8) agree on this non-negative in-range average.
  • ImageQualityGate is checked only so field names do not contain sharpness, laplacian, luma, or temporal.

Not verified here: the tests were not executed, and NumPy was not imported.

Optional: bare assert in _assert_blur_outranks_shift omits the measured gap from the failure text. self.assertGreater would print it.

@zengchuang-hw zengchuang-hw left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

PR review verdict — PASS

Incremental review 4ceba274a9e4592fd949cd9404e9a301349fd5ee..298f2cdeb41863c02f0bfbed3daf8cb99874664c. Reviewed target main, PR base 9f61a83f030bfa2ffe3b54eac1781593309d6380, and current head 298f2cdeb41863c02f0bfbed3daf8cb99874664c. My previous review. The regression-test slice is ready.

本轮已解决

  • The dependency-free fixture collects and runs with NumPy unavailable. It asserts the inverted PSNR ranking and a margin, and the optional NumPy path repeats the same fixture. The seed-0 values are explanatory comments. The diff changes one test file within #364.
  • The current PR description uses Refs #364 and declares this head. pr-references and full-check on Python 3.10 and 3.11 passed on the current revision. The intervening main change from #376 touched the layout docs and import-gate test, with no overlap with this regression or its CI definitions. Ready CI · Knowledge policy.

批准前必做(Before I can approve)

None.

非阻塞问题或建议

Amy's suggestion to move the helper's bare assertions into unittest assertions would preserve the checks under python -O. Ready CI uses standard Python. Prior suggestion.

Independent verification on CPU with Python 3.12.1 and NumPy 2.3.5 passed all three targeted tests. With the NumPy import blocked, two passed and the optional twin skipped. Ruff and git diff --check passed. The review covers the synthetic CPU regression. Video quality on real media, model and device runs, and #364's remaining acceptance criteria were outside this review.

Direct delegation from zengchuang-hw. Acting independent reviewer: Codex, using the GitHub account zengchuang-hw. Scope: review the current #375 revision and its applicable evidence. Authorized review actions: post findings and submit a revision-bound Approve when the criteria are met.

@Dong1017
Dong1017 merged commit e77f7f6 into main Nov 9, 2026
9 checks passed
@Dong1017
Dong1017 deleted the cursor/diffusion-psnr-regression-474c branch November 9, 2026 23:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:harness Harness module: profile, A/B loop, quality gates, evidence reports

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants