Skip to content

fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup)#2638

Draft
jucor wants to merge 1 commit into
spr/edge/a6494735from
spr/edge/970c79cf
Draft

fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup)#2638
jucor wants to merge 1 commit into
spr/edge/a6494735from
spr/edge/970c79cf

Conversation

@jucor

@jucor jucor commented Jul 18, 2026

Copy link
Copy Markdown
Collaborator

commit-id:970c79cf


Stack:


⚠️ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

@jucor
jucor marked this pull request as draft July 18, 2026 13:35
@jucor
jucor changed the base branch from edge to spr/edge/a6494735 July 18, 2026 13:37
@github-actions

Copy link
Copy Markdown

Delphi Coverage Report

File Stmts Miss Cover
init.py 2 0 100%
benchmarks/bench_pca.py 128 107 16%
benchmarks/bench_repness.py 81 65 20%
benchmarks/bench_update_votes.py 38 28 26%
benchmarks/benchmark_utils.py 34 24 29%
components/init.py 1 0 100%
components/config.py 165 133 19%
conversation/init.py 2 0 100%
conversation/conversation.py 1108 259 77%
conversation/manager.py 131 42 68%
database/init.py 1 0 100%
database/dynamodb.py 395 189 52%
database/postgres.py 306 206 33%
pca_kmeans_rep/init.py 5 0 100%
pca_kmeans_rep/clusters.py 257 21 92%
pca_kmeans_rep/corr.py 98 17 83%
pca_kmeans_rep/pca.py 136 18 87%
pca_kmeans_rep/repness.py 208 9 96%
regression/init.py 4 0 100%
regression/clojure_comparer.py 188 20 89%
regression/comparer.py 887 720 19%
regression/datasets.py 135 27 80%
regression/recorder.py 36 27 25%
regression/utils.py 138 94 32%
run_math_pipeline.py 261 114 56%
umap_narrative/500_generate_embedding_umap_cluster.py 210 109 48%
umap_narrative/501_calculate_comment_extremity.py 112 53 53%
umap_narrative/502_calculate_priorities.py 135 135 0%
umap_narrative/700_datamapplot_for_layer.py 502 502 0%
umap_narrative/701_static_datamapplot_for_layer.py 310 310 0%
umap_narrative/702_consensus_divisive_datamapplot.py 432 432 0%
umap_narrative/801_narrative_report_batch.py 785 785 0%
umap_narrative/802_process_batch_results.py 268 268 0%
umap_narrative/803_check_batch_status.py 183 183 0%
umap_narrative/llm_factory_constructor/init.py 2 2 0%
umap_narrative/llm_factory_constructor/model_provider.py 192 192 0%
umap_narrative/polismath_commentgraph/init.py 1 0 100%
umap_narrative/polismath_commentgraph/cli.py 270 270 0%
umap_narrative/polismath_commentgraph/core/init.py 3 3 0%
umap_narrative/polismath_commentgraph/core/clustering.py 108 108 0%
umap_narrative/polismath_commentgraph/core/embedding.py 104 104 0%
umap_narrative/polismath_commentgraph/lambda_handler.py 219 219 0%
umap_narrative/polismath_commentgraph/schemas/init.py 2 0 100%
umap_narrative/polismath_commentgraph/schemas/dynamo_models.py 160 9 94%
umap_narrative/polismath_commentgraph/tests/conftest.py 17 17 0%
umap_narrative/polismath_commentgraph/tests/test_clustering.py 74 74 0%
umap_narrative/polismath_commentgraph/tests/test_embedding.py 55 55 0%
umap_narrative/polismath_commentgraph/tests/test_storage.py 87 87 0%
umap_narrative/polismath_commentgraph/utils/init.py 3 0 100%
umap_narrative/polismath_commentgraph/utils/converter.py 283 237 16%
umap_narrative/polismath_commentgraph/utils/group_data.py 354 336 5%
umap_narrative/polismath_commentgraph/utils/storage.py 584 518 11%
umap_narrative/reset_conversation.py 159 50 69%
umap_narrative/run_pipeline.py 453 312 31%
utils/general.py 62 41 34%
Total 10874 7531 31%

Copilot AI 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.

Pull request overview

This PR updates the Delphi cold-start generator to copy the full vote history (including revotes) without DISTINCT ON deduplication, while avoiding Postgres ON CONFLICT ... DO UPDATE cardinality violations caused by the votes insert rule. It also adds an opt-in integration test plus a shared Postgres provisioning helper to validate the behavior against a real migrated schema.

Changes:

  • Update copy_votes_with_fresh_timestamps to copy all vote rows in (created, ctid) order and suppress the on_vote_insert_update_unique_table rule during the bulk insert.
  • Add an opt-in integration test that seeds revote history and asserts the copy preserves full row count and order with fresh timestamps.
  • Add a require_polis_postgres() test helper that provisions/validates a migrated Postgres (CI service or throwaway docker) for integration tests.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
delphi/scripts/generate_cold_start_clojure.py Copy full vote history (no dedup) and suppress the votes rule during the bulk insert to avoid ON CONFLICT cardinality errors.
delphi/tests/test_generator_vote_copy.py New integration test for full-history vote copying (revotes preserved, order preserved, fresh timestamps).
delphi/tests/conftest.py Adds shared Postgres provisioning/verification helper for opt-in integration tests.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread delphi/scripts/generate_cold_start_clojure.py Outdated
Comment thread delphi/tests/test_generator_vote_copy.py
@jucor
jucor force-pushed the spr/edge/a6494735 branch from 0552910 to 1082adf Compare July 21, 2026 11:11
@jucor
jucor force-pushed the spr/edge/970c79cf branch from 8997a33 to b4c926a Compare July 21, 2026 11:11
@jucor
jucor force-pushed the spr/edge/a6494735 branch from 1082adf to c35986a Compare July 21, 2026 19:49
@jucor
jucor force-pushed the spr/edge/970c79cf branch from b4c926a to 9c8853a Compare July 21, 2026 19:49
@jucor jucor changed the title fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup) fix(delphi): cold-start generator copies FULL revote history (no DIST… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a6494735 to edge July 22, 2026 00:51
@jucor jucor changed the title fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup) fix(delphi): cold-start generator copies FULL revote history (no DIST… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a6494735 to edge July 22, 2026 03:54
@jucor jucor changed the title fix(delphi): cold-start generator copies FULL revote history (no DIST… fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/a6494735 July 22, 2026 03:54
@jucor jucor changed the title fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup) fix(delphi): cold-start generator copies FULL revote history (no DIST… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a6494735 to edge July 22, 2026 06:16
@jucor jucor changed the title fix(delphi): cold-start generator copies FULL revote history (no DIST… fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/a6494735 July 22, 2026 06:16
@jucor jucor changed the title fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup) fix(delphi): cold-start generator copies FULL revote history (no DIST… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a6494735 to edge July 22, 2026 06:50
@jucor jucor changed the title fix(delphi): cold-start generator copies FULL revote history (no DIST… fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/a6494735 July 22, 2026 06:50
@jucor jucor changed the title fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup) fix(delphi): cold-start generator copies FULL revote history (no DIST… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a6494735 to edge July 22, 2026 08:11
@jucor jucor changed the title fix(delphi): cold-start generator copies FULL revote history (no DIST… fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/a6494735 July 22, 2026 08:11
@jucor jucor changed the title fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup) fix(delphi): cold-start generator copies FULL revote history (no DIST… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a6494735 to edge July 22, 2026 09:58
@jucor jucor changed the title fix(delphi): cold-start generator copies FULL revote history (no DIST… fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/a6494735 July 22, 2026 09:58
@jucor jucor changed the title fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup) fix(delphi): cold-start generator copies FULL revote history (no DIST… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a6494735 to edge July 22, 2026 11:21
@jucor jucor changed the title fix(delphi): cold-start generator copies FULL revote history (no DIST… fix(delphi): cold-start generator copies FULL revote history (no DISTINCT ON dedup) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/a6494735 July 22, 2026 11:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants