Assert generated advances exactly for the publishers a mixed distributor write changes - #104
Merged
Merged
Conversation
…tor write changes The regenerate step of feed-refresh runs the refresh tests against the freshly regenerated feeds. The mixed-distributor test wrote Bedrock and Vertex fixture data over the committed feeds and asserted a fixed list of publishers (amazon, google, mistral, openai) kept their generated timestamp. That list only holds while the committed distributor rows agree with the fixtures. The 2026-09-21 dispatch (run 35615312366) failed because live Vertex dates for gemini-2.5-flash-image and gemini-3.1-flash-lite-image had drifted from the fixture, so the fixture write changed the google feed and generated advanced, as designed. The test now checks the property the writer guarantees: for every publisher, generated equals the requested timestamp when the feed changed semantically and the committed value when it did not, plus at least one publisher stays unchanged so the preservation branch is exercised. The anthropic assertion that generated advances stays as the changed branch. The Cohere special case folds into the same loop. Verified on the committed feeds and on locally regenerated feeds with the drifted Vertex rows.
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.
The second
feed-refreshdispatch after #101 and #102 (run 35615312366) passed the check step and the checker tests, then failed one refresh test in the regenerate step: "mixed distributor write preserves generated for every semantically unchanged publisher".That test writes Bedrock and Vertex fixture data over the committed feeds and asserted a fixed list of publishers kept their
generatedtimestamp. The list only holds while the committed distributor rows agree with the fixtures. Live Vertex dates for two Gemini image models drifted from the fixture, so the fixture write changed the google feed andgeneratedadvanced, which is the writer's designed behaviour.The test now asserts the property the writer guarantees: for every publisher,
generatedequals the requested timestamp when the feed changed semantically and the committed value when it did not, plus at least one publisher stays unchanged so the preservation branch is exercised. The existing anthropic assertion keeps the changed branch covered. The Cohere special case folds into the same loop.Verification
node refresh/test/run.mjson the committed feedsnode refresh/test/run.mjson locally regenerated feeds (drifted Vertex rows)node test/run.mjson locally regenerated feedsnpm testTest-only change. After merge,
feed-refreshgets dispatched on main again to open the feed PR and close #100.🤖 Generated with Claude Code