Skip to content

Assert generated advances exactly for the publishers a mixed distributor write changes - #104

Merged
thossullivan merged 1 commit into
mainfrom
fix/mixed-distributor-generated-test
Sep 21, 2026
Merged

thossullivan merged 1 commit into
mainfrom
fix/mixed-distributor-generated-test

Conversation

@thossullivan

Copy link
Copy Markdown
Owner

The second feed-refresh dispatch 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 generated timestamp. 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 and generated advanced, which is the writer's designed behaviour.

The test now asserts 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 existing anthropic assertion keeps the changed branch covered. The Cohere special case folds into the same loop.

Verification

Check Result
node refresh/test/run.mjs on the committed feeds exit 0
node refresh/test/run.mjs on locally regenerated feeds (drifted Vertex rows) exit 0
node test/run.mjs on locally regenerated feeds exit 0
npm test exit 0

Test-only change. After merge, feed-refresh gets dispatched on main again to open the feed PR and close #100.

🤖 Generated with Claude Code

…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.
@thossullivan thossullivan added the model-eol model lifecycle automation label Sep 21, 2026
@thossullivan
thossullivan merged commit 580b3d8 into main Sep 21, 2026
6 checks passed
@thossullivan
thossullivan deleted the fix/mixed-distributor-generated-test branch September 21, 2026 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

model-eol model lifecycle automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feed refresh automation failed

1 participant