Skip to content

retire: the dormant API routes, the unused dependencies and settings - #3295

Merged
colinmegill merged 32 commits into
edgefrom
retire/dormant-api
Oct 29, 2026
Merged

colinmegill merged 32 commits into
edgefrom
retire/dormant-api

Conversation

@colinmegill

Copy link
Copy Markdown
Member

Remove users/invite, snapshot, metrics, sendEmailExportReady,
math/correlationMatrix, mathUpdate, contributors, auth/deregister,
dataExport, dataExport/results and math/pca. These paths had no successful
request since July 7 in the retained access logs.

Remove notifyTeam, whose last successful call was September 21. Remove
dummyButton, which had two successful calls during September 26 through
October 26; the access-log summary does not record their exact timestamps.

Remove the matching CLI operations and documentation, the legacy button
and metrics callers, report correlation fetching, and the Rust legacyPca
handler, contract and routing switch. Mark all thirteen routes retired in
the characterization inventory and replace their cases with a shared 404
test. Unknown API GETs return 404 without going to the static-file proxy.

Remove aws-sdk v2 and the unused Mailgun, nodemailer, oauth, simple-oauth2,
request, googleapis, aiplatform, vertexai, mimelib, nan and p3p direct
packages and their unused type packages. Remove the periodic export test,
comment-language backfill and inactive PCA polling loop, together with
WEBSERVER_USERNAME, WEBSERVER_PASS, RUN_PERIODIC_EXPORT_TESTS,
ADMIN_EMAIL_DATA_EXPORT_TEST, BACKFILL_COMMENT_LANG_DETECTION and the
unused Mailgun settings.

Keep axios, dd-trace and ENCRYPTION_PASSWORD_00001 because they still have
readers. Feeds, famous votes, site-id integration, live pages, report
assets, topic moderation, database tables and columns stay in place.
Votes, comments and next-statement handling gain no new work or locks.

Dependencies removed from server/package.json: @google-cloud/aiplatform, @google-cloud/vertexai, aws-sdk (v2), googleapis, mimelib, nan, nodemailer, nodemailer-mailgun-transport, oauth, p3p, request, simple-oauth2 and their type packages; each verified unreferenced before removal. The exact hosted CI command passed: 2,386 server tests; Rust fmt, clippy and tests green.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx

colinmegill and others added 30 commits October 26, 2026 20:44
…helpers, old bundles and embed demos

Remove GET /share/<id>, /summary/<id>, /explore/<id>, /ot/<id>,
/iip/:conversation_id and /iim/:conversation_id. Each has no successful
request since July 7 in the access-log check through October 26.

Remove /embed, /embedPreprod, /embedReport, /embedReportPreprod and their
.html files, plus /styleguide and /dist/admin_bundle.js. The preproduction
and report demos, styleguide and old admin bundle have no successful
request since July 7. /embed had five 200 responses in the July 7 to
October 26 window; the check did not record their latest timestamp.
/embed.html had requests in that window; its last successful timestamp
was not recorded separately.

Remove /__webpack_hmr, /cached/*, GET and ALL /font/*, and the old
/*embed*js/* proxy registration. The hot-reload endpoint had two 200
responses during the final 30 days of that window; the check did not
record their latest timestamp. The other three paths have no successful
request since July 7. Remove the unreachable catch-all proxy registration
and the never-enabled missing-file branch, which had no calls.

Remove the six corresponding Rust routing switches, nginx templates,
link handlers, dedicated pools, counters, contracts and conformance cases.
Drop their process settings and the legacy one-time-link router entry.
Move the nineteen registrations to the retired inventory and verify the
retired pages and demo filenames return 404 through the remaining proxy.

Keep feeds, famous votes, site-id integrations, the live embed.js,
conversation pages, home, privacy, terms, donate, signin, signout, report
bundles and styles, all six topic moderation routes, and every table and
column. The participation path gains no work, locks or waits.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
Remove users/invite, snapshot, metrics, sendEmailExportReady,
math/correlationMatrix, mathUpdate, contributors, auth/deregister,
dataExport, dataExport/results and math/pca. These paths had no successful
request since July 7 in the retained access logs.

Remove notifyTeam, whose last successful call was September 21. Remove
dummyButton, which had two successful calls during September 26 through
October 26; the access-log summary does not record their exact timestamps.

Remove the matching CLI operations and documentation, the legacy button
and metrics callers, report correlation fetching, and the Rust legacyPca
handler, contract and routing switch. Mark all thirteen routes retired in
the characterization inventory and replace their cases with a shared 404
test. Unknown API GETs return 404 without going to the static-file proxy.

Remove aws-sdk v2 and the unused Mailgun, nodemailer, oauth, simple-oauth2,
request, googleapis, aiplatform, vertexai, mimelib, nan and p3p direct
packages and their unused type packages. Remove the periodic export test,
comment-language backfill and inactive PCA polling loop, together with
WEBSERVER_USERNAME, WEBSERVER_PASS, RUN_PERIODIC_EXPORT_TESTS,
ADMIN_EMAIL_DATA_EXPORT_TEST, BACKFILL_COMMENT_LANG_DETECTION and the
unused Mailgun settings.

Keep axios, dd-trace and ENCRYPTION_PASSWORD_00001 because they still have
readers. Feeds, famous votes, site-id integration, live pages, report
assets, topic moderation, database tables and columns stay in place.
Votes, comments and next-statement handling gain no new work or locks.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
…roxy's 502 where no file server runs

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
…on and refresh leaves

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
The recordings guard requires the route inventory, its scope and its cases to change in a separate pull request from the code they describe; those updates follow once this merges.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
The recordings guard requires the route inventory, its scope and its cases to change in a separate pull request from the code they describe; those updates follow once this merges.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
The recordings guard now treats the inventory and scope as the census they are, so the retired entries, scope and cases return to this change.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
The recordings guard now treats the inventory and scope as the census they are, so the retired entries, scope and cases return to this change.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
…le settings go with the next re-record

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
… the key custody fields

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
…ired operations

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
…e retired legacy pca switch

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
… with the next re-record

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
…ges landed first; retirements re-applied over them

Content-only resolution: every removal this branch makes still happens, nothing a merged change removed comes back, the inventory lists each retired route once, the nginx map and the Rust route table carry the union.
…ages, self-hosting and share-bundle changes landed first; the dormant API retirements re-applied over them

Content-only resolution: every removal this branch makes still happens, nothing a merged change removed comes back, the inventory lists each of the 63 retired identities once with the shared 404 test, the nginx map and the Rust route table carry the union, and the health census is 118 fields.
…the deterministic vote safety tests landed on edge; the retirements kept, health census recounted
…e deterministic vote safety tests landed on edge; the retirements kept, health census recounted
…hange landed on edge; retirements kept, health census recounted
…le retirement orphaned

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ss9NfEMZS9Qm4FZ2npXDrx
…nge landed on edge; retirements kept, health census recounted
…landed first; the share-bundle retirement re-applied over it

Content-only resolution: the link-page and conversation-page code this branch removes stays removed, the participant statement list route checks edge added stay, the inventory lists each retired route once, and the health census is 124 fields.
…articipant statement list and the share-bundle retirement landed first; the dormant API retirement re-applied over them

Content-only resolution: every retired route stays retired, edge's additions stay, the inventory lists the 63 retired identities once with the shared 404 test, and the health census is 122 fields.
…d on edge; the dormant API retirement kept, health census 122
@github-actions

Copy link
Copy Markdown
Contributor

Delphi Coverage Report

File Stmts Miss Cover
polismath/init.py 2 0 100%
polismath/benchmarks/bench_pca.py 128 107 16%
polismath/benchmarks/bench_repness.py 81 65 20%
polismath/benchmarks/bench_update_votes.py 38 28 26%
polismath/benchmarks/benchmark_utils.py 34 0 100%
polismath/components/init.py 1 0 100%
polismath/components/config.py 165 70 58%
polismath/conversation/init.py 2 0 100%
polismath/conversation/conversation.py 1293 264 80%
polismath/conversation/group_vote_counts.py 38 2 95%
polismath/conversation/manager.py 131 42 68%
polismath/database/init.py 1 0 100%
polismath/database/dynamodb.py 392 176 55%
polismath/database/postgres.py 414 95 77%
polismath/delphi_storage/init.py 1 0 100%
polismath/delphi_storage/codec.py 295 22 93%
polismath/delphi_storage/embedding_spool.py 58 6 90%
polismath/delphi_storage/golden_corpus.py 60 9 85%
polismath/delphi_storage/import_report.py 51 3 94%
polismath/delphi_storage/legacy_import.py 171 16 91%
polismath/delphi_storage/postgres.py 49 22 55%
polismath/delphi_storage/production_import.py 612 131 79%
polismath/delphi_storage/resource.py 179 32 82%
polismath/delphi_storage/scan_pacing.py 77 0 100%
polismath/delphi_storage/writer.py 196 13 93%
polismath/empty_output.py 29 2 93%
polismath/engine_adapter.py 317 265 16%
polismath/job_child/init.py 364 51 86%
polismath/job_child/census.py 74 9 88%
polismath/job_child/input_bundle.py 101 7 93%
polismath/pca_kmeans_rep/init.py 5 0 100%
polismath/pca_kmeans_rep/clusters.py 257 38 85%
polismath/pca_kmeans_rep/corr.py 98 17 83%
polismath/pca_kmeans_rep/group_k_smoother.py 28 0 100%
polismath/pca_kmeans_rep/legacy_kmeans.py 197 8 96%
polismath/pca_kmeans_rep/pca.py 162 19 88%
polismath/pca_kmeans_rep/repness.py 226 5 98%
polismath/poller/init.py 4 0 100%
polismath/poller/admission.py 318 15 95%
polismath/poller/backfill.py 936 32 97%
polismath/poller/capacity.py 485 27 94%
polismath/poller/capacity_queue.py 248 13 95%
polismath/poller/coordinator_bridge.py 317 317 0%
polismath/poller/math_writer.py 113 3 97%
polismath/poller/promotion.py 112 4 96%
polismath/poller/readiness.py 368 13 96%
polismath/poller/rebuild_child.py 133 5 96%
polismath/poller/service.py 756 54 93%
polismath/poller/worker_pool.py 140 0 100%
polismath/queue/executor.py 221 111 50%
polismath/regression/init.py 4 0 100%
polismath/regression/clojure_comparer.py 188 20 89%
polismath/regression/comparer.py 891 640 28%
polismath/regression/datasets.py 126 27 79%
polismath/regression/recorder.py 36 27 25%
polismath/regression/utils.py 130 85 35%
polismath/replay/init.py 2 0 100%
polismath/replay/attribution_capture.py 49 0 100%
polismath/replay/axis_continuity.py 347 24 93%
polismath/replay/certify.py 999 59 94%
polismath/replay/crosslang.py 128 2 98%
polismath/replay/decision_ties.py 51 8 84%
polismath/replay/diagnostics.py 50 7 86%
polismath/replay/driver.py 73 1 99%
polismath/replay/dsn_admission.py 36 1 97%
polismath/replay/equiv_query.py 10 0 100%
polismath/replay/event_ingress.py 95 1 99%
polismath/replay/fixture_bundle.py 815 62 92%
polismath/replay/fixture_config.py 266 11 96%
polismath/replay/fixture_extract.py 285 12 96%
polismath/replay/fixture_generate.py 103 1 99%
polismath/replay/fixture_samples.py 157 14 91%
polismath/replay/fixture_selection.py 119 0 100%
polismath/replay/fixture_survey.py 147 11 93%
polismath/replay/legacy_pca.py 29 17 41%
polismath/replay/polarity.py 319 25 92%
polismath/replay/poller_equiv.py 776 99 87%
polismath/replay/prodclone.py 193 2 99%
polismath/replay/real_data.py 146 10 93%
polismath/replay/schedule.py 205 10 95%
polismath/replay/served_math.py 159 4 97%
polismath/replay/shard_bench.py 189 65 66%
polismath/replay/stagecompare.py 890 161 82%
polismath/replay/stages.py 256 40 84%
polismath/replay/stepcompare.py 86 1 99%
polismath/replay/store.py 120 11 91%
polismath/replay/tie_capture.py 107 19 82%
polismath/replay/types.py 58 6 90%
polismath/run_math_pipeline.py 284 93 67%
polismath/tools/engine_rebuild.py 230 11 95%
polismath/types.py 6 0 100%
polismath/utils/cli_flags.py 15 0 100%
polismath/utils/clj_hash.py 44 0 100%
polismath/utils/env_flags.py 13 0 100%
polismath/utils/general.py 63 39 38%
polismath/utils/output_profile.py 66 2 97%
polismath/utils/serialization.py 10 5 50%
polismath/utils/vote_convention.py 159 5 97%
umap_narrative/700_datamapplot_for_layer.py 514 470 9%
umap_narrative/701_static_datamapplot_for_layer.py 310 310 0%
umap_narrative/702_consensus_divisive_datamapplot.py 435 275 37%
umap_narrative/801_narrative_report_batch.py 666 218 67%
umap_narrative/803_check_batch_status.py 268 148 45%
umap_narrative/llm_factory_constructor/init.py 2 0 100%
umap_narrative/llm_factory_constructor/model_provider.py 232 106 54%
umap_narrative/narrative_data.py 178 55 69%
umap_narrative/numerical_stages.py 80 14 82%
umap_narrative/polismath_commentgraph/init.py 1 0 100%
umap_narrative/polismath_commentgraph/cli.py 268 268 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 80 6 92%
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 9 7 22%
umap_narrative/polismath_commentgraph/utils/converter.py 283 50 82%
umap_narrative/polismath_commentgraph/utils/group_data.py 332 279 16%
umap_narrative/polismath_commentgraph/utils/storage.py 609 481 21%
umap_narrative/reset_conversation.py 162 53 67%
umap_narrative/run_pipeline.py 355 203 43%
umap_narrative/topic_naming.py 148 11 93%
Total 25609 7377 71%

@colinmegill
colinmegill merged commit 7b42196 into edge Oct 29, 2026
44 checks passed
@colinmegill
colinmegill deleted the retire/dormant-api branch October 29, 2026 21:53
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