Skip to content

[Stack 7/27] Cold-start Clojure math blob generation and cluster visualization#2481

Merged
jucor merged 0 commit into
jc/uv-pip-cifrom
jc/cold-start-tooling
Mar 30, 2026
Merged

[Stack 7/27] Cold-start Clojure math blob generation and cluster visualization#2481
jucor merged 0 commit into
jc/uv-pip-cifrom
jc/cold-start-tooling

Conversation

@jucor
Copy link
Copy Markdown
Collaborator

@jucor jucor commented Mar 30, 2026

Summary

Stacked on #2484 (Speed up CI: replace pip with uv pip in Dockerfile (~2x faster installs)). Please review and merge #2484 first.
Next in stack: #2419 (Deep analysis of Python-Clojure discrepancies and fix plan)

Replaces #2432, which was auto-closed by a GitHub race condition (base branch deleted before PR could be retargeted during squash-merge of #2431).

Next in stack: #2419 (Deep analysis of Python-Clojure discrepancies and fix plan)

Developer tooling for generating fair Python-vs-Clojure comparisons and visualizing clustering differences.

Changes

  • generate_cold_start_clojure.py: Creates a temporary conversation in Postgres, replays votes via INSERT...SELECT, runs the Clojure math poller, and extracts the resulting math blob. Includes PollerMonitor with fatal error pattern detection for early abort. Supports --pause-math, --verbose, multi-dataset args.
  • visualize_cluster_comparison.py: Visual comparison of Python vs Clojure clustering with PCA sign-flip detection, synced axes, --all flag for batch comparison.
  • Cold-start math blobs generated for biodiversity and vw datasets (stored alongside existing math blobs).
  • datasets.py: has_cold_start_blob field; prefer cold-start blob for fairer comparison.
  • test_datasets.py: Updated for has_cold_start_blob field.
  • click dependency added for CLI scripts.

Test plan

  • 208 passed, 2 skipped, 8 xfailed, 0 failures
  • Scripts are developer tools — no automated tests, but manually verified

@jucor jucor changed the title [Stack 5/25] Cold-start Clojure math blob generation and cluster visualization [Stack 6/26] Cold-start Clojure math blob generation and cluster visualization Mar 30, 2026
@jucor jucor changed the base branch from edge to jc/disable-snapshot-tests March 30, 2026 11:08
@jucor jucor changed the base branch from jc/disable-snapshot-tests to jc/uv-pip-ci March 30, 2026 12:43
@jucor jucor force-pushed the jc/cold-start-tooling branch from 16fd44b to 1fe0cfa Compare March 30, 2026 12:48
@jucor jucor changed the title [Stack 6/26] Cold-start Clojure math blob generation and cluster visualization [Stack 7/27] Cold-start Clojure math blob generation and cluster visualization Mar 30, 2026
@jucor jucor merged commit e74ff24 into jc/uv-pip-ci Mar 30, 2026
@jucor jucor deleted the jc/cold-start-tooling branch March 30, 2026 12:54
@jucor jucor force-pushed the jc/cold-start-tooling branch from 1fe0cfa to e74ff24 Compare March 30, 2026 12:54
@github-actions
Copy link
Copy Markdown

Delphi Coverage Report

File Stmts Miss Cover
init.py 2 0 100%
benchmarks/bench_pca.py 76 76 0%
benchmarks/bench_repness.py 81 81 0%
benchmarks/bench_update_votes.py 38 38 0%
benchmarks/benchmark_utils.py 34 34 0%
components/init.py 1 0 100%
components/config.py 165 133 19%
conversation/init.py 2 0 100%
conversation/conversation.py 1118 336 70%
conversation/manager.py 131 42 68%
database/init.py 1 0 100%
database/dynamodb.py 387 233 40%
database/postgres.py 305 205 33%
pca_kmeans_rep/init.py 5 0 100%
pca_kmeans_rep/clusters.py 257 22 91%
pca_kmeans_rep/corr.py 98 17 83%
pca_kmeans_rep/pca.py 52 16 69%
pca_kmeans_rep/repness.py 361 48 87%
pca_kmeans_rep/stats.py 107 22 79%
regression/init.py 4 0 100%
regression/clojure_comparer.py 188 17 91%
regression/comparer.py 887 720 19%
regression/datasets.py 103 22 79%
regression/recorder.py 36 27 25%
regression/utils.py 137 118 14%
run_math_pipeline.py 260 114 56%
umap_narrative/500_generate_embedding_umap_cluster.py 210 109 48%
umap_narrative/501_calculate_comment_extremity.py 112 54 52%
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 265 265 0%
umap_narrative/803_check_batch_status.py 175 175 0%
umap_narrative/llm_factory_constructor/init.py 2 2 0%
umap_narrative/llm_factory_constructor/model_provider.py 157 157 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 477 18%
umap_narrative/reset_conversation.py 159 50 69%
umap_narrative/run_pipeline.py 453 312 31%
utils/general.py 62 41 34%
Total 10919 7646 30%

@jucor jucor restored the jc/cold-start-tooling branch March 30, 2026 13:11
@jucor jucor deleted the jc/cold-start-tooling branch March 30, 2026 13:24
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.

1 participant