feat(data): preserve additive append-only recipe variants - #743
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
cquil11
marked this pull request as ready for review
August 14, 2026 22:00
cquil11
marked this pull request as draft
August 14, 2026 22:01
cquil11
marked this pull request as ready for review
August 14, 2026 22:01
|
Found 32 test failures on Blacksmith runners: Failures
...and 22 more test failures. View all on Blacksmith
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 9f82414. Configure here.
Oseltamivir
added a commit
that referenced
this pull request
Aug 15, 2026
#736 removed E2E normalized-interactivity gating on purpose — "compute each Pareto frontier from its selected axes without E2E normalized-interactivity gating" — and shipped with "full checks intentionally skipped for this focused change". Master went red: unit tests and e2e suites still asserted the gating. This updates the tests to the behaviour that was chosen. No src behaviour changes. Unit: - overview-data: an agentic point dominated on total tokens and slower on E2E is no longer dropped, so the tier-50 read lands on it (8100) instead of coming back null. - useThroughputData: buildGpuGroups keeps an e2e-dominated point, because eligibility is now decided downstream from the selected axes. The api-route-catalog digest for overview-data.ts was part of this fix until the rebase onto #743, which changed that file again and re-reviewed the entry. It is no longer touched here. E2E: - The "Advanced" x-axis popover is gone and all four modes are flat tabs, so the four specs that opened it now click the tab. Agentic also defaults to Interactivity rather than E2E Normalized Interactivity. - The derived-metrics stub moves to beforeEach. Cypress clears intercepts between tests, and these specs relied on the old default fetching during `before` while the stub was alive; React Query then held the result for the spec. Nothing fetches on load now, so a later switch into that mode issued a live request and rendered no chart. - The URL-restored-mode regression test now restores TTFT. It asked for Interactivity, which is the new default, so it could no longer fail. - overlay-optimal-only asserted that overlay points are hidden because trace-less rows cannot join the canonical frontier. They now stand or fall on the selected axes like any other point, and all five fixture configs are non-dominated there — throughput falls monotonically as interactivity rises — so the suite would have asserted five visible either way. It gets a sixth, deliberately dominated overlay config, so Optimal Only has something to drop; making that point non-dominated fails the test. Verified on b367003: 3372 unit tests, 600/602 e2e locally, and the four repaired specs 30/30 at retries=0. The two local e2e failures are inference-replay, which asserts a scrubber advances after a wall-clock cy.wait(800); it imports nothing touched here and passes in CI. 中文:#736 有意移除了端到端归一化交互性的前沿门控,并"刻意跳过完整检查",导致 master 转红:单测与 e2e 套件仍在断言已被移除的门控。本提交只把测试对齐到既定行为,不改动任何 源码行为。单测:概览档位读数不再因总 token 被支配而丢弃该点(改为 8100); buildGpuGroups 保留被 e2e 支配的点。overview-data.ts 的 API 文档摘要原本也在本次修复 范围内,但在 rebase 到 #743 后,该 PR 已再次修改此文件并重新复核了该条目,故此处不再 改动。E2E:Advanced 弹出菜单已移除,四个模式改为平铺标签页;派生指标 stub 移至 beforeEach(Cypress 会在测试间清除拦截);URL 恢复模式的回归测试改用 TTFT(原用 Interactivity 已与新默认值相同而无法失败);overlay-optimal-only 新增一个刻意被支配的 配置,否则该断言无论过滤器如何都会通过。已在 b367003 上验证:单测 3372 项通过,本地 e2e 600/602,四个修复套件在 retries=0 下 30/30。
Oseltamivir
added a commit
that referenced
this pull request
Aug 15, 2026
#736 removed E2E normalized-interactivity gating on purpose — "compute each Pareto frontier from its selected axes without E2E normalized-interactivity gating" — and shipped with "full checks intentionally skipped for this focused change". Master went red: unit tests and e2e suites still asserted the gating. This updates the tests to the behaviour that was chosen. No src behaviour changes. Unit: - overview-data: an agentic point dominated on total tokens and slower on E2E is no longer dropped, so the tier-50 read lands on it (8100) instead of coming back null. - useThroughputData: buildGpuGroups keeps an e2e-dominated point, because eligibility is now decided downstream from the selected axes. The api-route-catalog digest for overview-data.ts was part of this fix until the rebase onto #743, which changed that file again and re-reviewed the entry. It is no longer touched here. E2E: - The "Advanced" x-axis popover is gone and all four modes are flat tabs, so the four specs that opened it now click the tab. Agentic also defaults to Interactivity rather than E2E Normalized Interactivity. - The derived-metrics stub moves to beforeEach. Cypress clears intercepts between tests, and these specs relied on the old default fetching during `before` while the stub was alive; React Query then held the result for the spec. Nothing fetches on load now, so a later switch into that mode issued a live request and rendered no chart. - The URL-restored-mode regression test now restores TTFT. It asked for Interactivity, which is the new default, so it could no longer fail. - overlay-optimal-only asserted that overlay points are hidden because trace-less rows cannot join the canonical frontier. They now stand or fall on the selected axes like any other point, and all five fixture configs are non-dominated there — throughput falls monotonically as interactivity rises — so the suite would have asserted five visible either way. It gets a sixth, deliberately dominated overlay config, so Optimal Only has something to drop; making that point non-dominated fails the test. Verified on b367003: 3372 unit tests, 600/602 e2e locally, and the four repaired specs 30/30 at retries=0. The two local e2e failures are inference-replay, which asserts a scrubber advances after a wall-clock cy.wait(800); it imports nothing touched here and passes in CI. 中文:#736 有意移除了端到端归一化交互性的前沿门控,并"刻意跳过完整检查",导致 master 转红:单测与 e2e 套件仍在断言已被移除的门控。本提交只把测试对齐到既定行为,不改动任何 源码行为。单测:概览档位读数不再因总 token 被支配而丢弃该点(改为 8100); buildGpuGroups 保留被 e2e 支配的点。overview-data.ts 的 API 文档摘要原本也在本次修复 范围内,但在 rebase 到 #743 后,该 PR 已再次修改此文件并重新复核了该条目,故此处不再 改动。E2E:Advanced 弹出菜单已移除,四个模式改为平铺标签页;派生指标 stub 移至 beforeEach(Cypress 会在测试间清除拦截);URL 恢复模式的回归测试改用 TTFT(原用 Interactivity 已与新默认值相同而无法失败);overlay-optimal-only 新增一个刻意被支配的 配置,否则该断言无论过滤器如何都会通过。已在 b367003 上验证:单测 3372 项通过,本地 e2e 600/602,四个修复套件在 retries=0 下 30/30。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light.png)

Summary
recipe_fingerprintstorage and identity so two additive recipes at the same topology and concurrency cannot overwrite each otherWhy
Append-only producer runs contain only their new rows. Without logical snapshot assembly, the client treats that partial run as a new curve and drops inherited points. Without recipe identity, additive variants that share the App's prior coordinates can collide in ingestion or later consumers.
This PR separates:
Companion PRs
Live preview
Vercel team sign-in may be required because preview protection remains enabled.
The preview uses disposable Neon branch
append-only-poc-20260814(br-tiny-queen-aib16lin), which automatically expires at 2026-08-15 21:19:54 UTC.End-to-end verification
Test verification
git diff --checkpassed