chore(sc-46275): drop the UserExperimentSettings table (phase 4) - #3574
Closed
dcschreiber wants to merge 2 commits into
Closed
Conversation
📊 Code Quality Score: 14/100
Was this score accurate? 👍 Yes · 👎 No Scored by GitVelocity · How are scores calculated? |
dcschreiber
force-pushed
the
chore/sc-46274/phase-3-remove-experiments-framework
branch
from
August 3, 2026 10:29
c6dfbe0 to
1e9c92d
Compare
dcschreiber
force-pushed
the
chore/sc-46275/phase-4-drop-userexperimentsettings-table
branch
from
August 3, 2026 10:29
62ff5cd to
0fa1202
Compare
dcschreiber
marked this pull request as draft
August 3, 2026 10:36
Nothing has read the experiments whitelist since the framework was removed a deploy ago. reader/migrations/0002 deletes the model and its table; reader/models.py is now empty. Reversing a DeleteModel recreates the schema, not the rows, so scripts/migrations/archive_user_experiment_settings.py dumps them to CSV first — it reads the table with raw SQL rather than the model this commit deletes, and must run before the deploy applies the migration. The Phase 2 flip scripts go too: the forward migration sourced its cohorts from this table and can no longer run, and its rollback window closed when the legacy fallback was removed. What they did is preserved in the Mongo archive collection they wrote.
dcschreiber
force-pushed
the
chore/sc-46274/phase-3-remove-experiments-framework
branch
from
August 3, 2026 10:38
1e9c92d to
70b7852
Compare
dcschreiber
force-pushed
the
chore/sc-46275/phase-4-drop-userexperimentsettings-table
branch
from
August 3, 2026 10:38
0fa1202 to
4d94a38
Compare
CI applied this branch's 0002 DeleteModel to the shared cauldron Postgres (sandbox web pods run migrate on boot) and to the shared pytest database (--reuse-db). Recreating the table through a follow-up migration lets the same CI machinery repair both databases on its next run. Squash 0002+0003 into one fresh-named delete migration before this branch merges. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
dcschreiber
marked this pull request as ready for review
August 3, 2026 11:40
dcschreiber
marked this pull request as draft
August 3, 2026 12:43
Contributor
Author
|
(Claude writing on Daniel's behalf) Closed: with the experiments framework staying in the codebase (see #3579), the model — and therefore its table — stays. Phase 4 is now a script run that archives and deletes the rows and unsets |
dcschreiber
deleted the
chore/sc-46275/phase-4-drop-userexperimentsettings-table
branch
August 4, 2026 11:50
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.
(Claude writing on Daniel's behalf)
Phase 4 of sc-46240 — sub-task sc-46275. The deploy after Phase 3.
Stacked on #3573 (Phase 3), which is itself stacked on #3572. Rebase onto master as each lands.
reader/migrations/0002deletes the model and its table;reader/models.pyis now empty.scripts/migrations/archive_user_experiment_settings.pydumps the rows to CSV first — reversing aDeleteModelrecreates the schema, not the data. It reads the table with raw SQL rather than the model this PR deletes, so it must be run before the deploy applies the migration.library_assistant_migration_archive).Deploy-day order
python scripts/migrations/archive_user_experiment_settings.pyagainst production and keep the CSV.🤖 Generated with Claude Code