.gitignore
.pre-commit-config.yaml
.python-version
LICENSE
README.md
coverage.json
pyproject.toml
retrocast-config.yaml
uv.lock
.github/release-drafter.yml
.github/workflows/publish-pypi.yml
.github/workflows/publish-release.yml
.github/workflows/release-drafter.yml
.github/workflows/tests.yml
.github/workflows/typing.yml
.github/workflows/update-major-minor-tags.yml
data/0-assets/model-configs/aizynthfinder/config_mcts.yaml
data/0-assets/model-configs/aizynthfinder/config_retrostar.yaml
data/0-assets/model-configs/dms/dms_dictionary.yaml
data/0-assets/model-configs/synplanner/search-config-high.yaml
data/0-assets/model-configs/synplanner/search-config.yaml
data/0-assets/model-configs/synplanner/search-eval-config-high.yaml
data/0-assets/model-configs/synplanner/search-eval-config.yaml
data/1-benchmarks/definitions/paroutes-n1-full-buyables.manifest.json
data/1-benchmarks/definitions/paroutes-n1-full.manifest.json
data/1-benchmarks/definitions/paroutes-n5-full-buyables.manifest.json
data/1-benchmarks/definitions/paroutes-n5-full.manifest.json
data/1-benchmarks/definitions/random-n5-10-seed=20251030.manifest.json
data/1-benchmarks/definitions/uspto-190.manifest.json
docs/adapters.md
docs/api_usage.md
docs/cli-usage.md
docs/format_spec.md
docs/log.md
scripts/02-compare.py
scripts/03-compare-paired.py
scripts/04-rank.py
scripts/05-tournament.py
scripts/06-check-seed-stability.py
scripts/batch-run.sh
scripts/verify-hash.py
scripts/aizynthfinder/1-download-assets.py
scripts/aizynthfinder/2-prepare-stock.py
scripts/aizynthfinder/3-run-aizyn-mcts.py
scripts/aizynthfinder/4-run-aizyn-retro-star.py
scripts/askcos/1-gather-askcos-results.py
scripts/dev/canonicalize-stock.py
scripts/dev/check-stock-overlap.py
scripts/dev/create-tarball.sh
scripts/directmultistep/1-download-assets.sh
scripts/directmultistep/2-run-dms.py
scripts/directmultistep/3-combine-results.py
scripts/directmultistep/ingest-dms-legacy.py
scripts/directmultistep/run-ingest.sh
scripts/dreamretroer/1-create-time-summary.py
scripts/multistepttl/1-serialize-pickles.py
scripts/paroutes/01-cast-paroutes.py
scripts/paroutes/02-create-subsets.py
scripts/paroutes/03-visualize-routes.py
scripts/retrochimera/1-gather-chimera-results.py
scripts/retrostar/1-download-assets.sh
scripts/retrostar/2-run-og-retro-star.py
scripts/synllama/1-convert-to-json.py
scripts/synplanner/1-download-assets.py
scripts/synplanner/2-run-synp-eval.py
scripts/synplanner/3-run-synp-rollout.py
scripts/syntheseus/1-run-synth-bfs-local-retro.py
scripts/syntheseus/2-run-synth-retro0-local-retro.py
src/retrocast/__init__.py
src/retrocast/api.py
src/retrocast/chem.py
src/retrocast/exceptions.py
src/retrocast/typing.py
src/retrocast.egg-info/PKG-INFO
src/retrocast.egg-info/SOURCES.txt
src/retrocast.egg-info/dependency_links.txt
src/retrocast.egg-info/entry_points.txt
src/retrocast.egg-info/requires.txt
src/retrocast.egg-info/top_level.txt
src/retrocast/adapters/__init__.py
src/retrocast/adapters/aizynth_adapter.py
src/retrocast/adapters/askcos_adapter.py
src/retrocast/adapters/base_adapter.py
src/retrocast/adapters/common.py
src/retrocast/adapters/dms_adapter.py
src/retrocast/adapters/dreamretro_adapter.py
src/retrocast/adapters/factory.py
src/retrocast/adapters/multistepttl_adapter.py
src/retrocast/adapters/paroutes_adapter.py
src/retrocast/adapters/retrochimera_adapter.py
src/retrocast/adapters/retrostar_adapter.py
src/retrocast/adapters/synllama_adapter.py
src/retrocast/adapters/synplanner_adapter.py
src/retrocast/adapters/syntheseus_adapter.py
src/retrocast/cli/__init__.py
src/retrocast/cli/adhoc.py
src/retrocast/cli/handlers.py
src/retrocast/cli/main.py
src/retrocast/curation/__init__.py
src/retrocast/curation/filtering.py
src/retrocast/curation/generators.py
src/retrocast/curation/sampling.py
src/retrocast/io/__init__.py
src/retrocast/io/blob.py
src/retrocast/io/data.py
src/retrocast/io/provenance.py
src/retrocast/metrics/__init__.py
src/retrocast/metrics/bootstrap.py
src/retrocast/metrics/diversity.py
src/retrocast/metrics/ranking.py
src/retrocast/metrics/similarity.py
src/retrocast/metrics/solvability.py
src/retrocast/models/__init__.py
src/retrocast/models/benchmark.py
src/retrocast/models/chem.py
src/retrocast/models/evaluation.py
src/retrocast/models/provenance.py
src/retrocast/models/stats.py
src/retrocast/utils/__init__.py
src/retrocast/utils/logging.py
src/retrocast/utils/serializers.py
src/retrocast/visualization/__init__.py
src/retrocast/visualization/adapters.py
src/retrocast/visualization/model_performance.py
src/retrocast/visualization/plots.py
src/retrocast/visualization/report.py
src/retrocast/visualization/routes.py
src/retrocast/visualization/theme.py
src/retrocast/workflow/__init__.py
src/retrocast/workflow/analyze.py
src/retrocast/workflow/ingest.py
src/retrocast/workflow/score.py
src/retrocast/workflow/verify.py
tests/__init__.py
tests/conftest.py
tests/helpers.py
tests/smoke_test.py
tests/test_chem.py
tests/adapters/conftest.py
tests/adapters/test_aizynth_adapter.py
tests/adapters/test_askcos_adapter.py
tests/adapters/test_base_adapter.py
tests/adapters/test_common.py
tests/adapters/test_dms_adapter.py
tests/adapters/test_dreamretro_adapter.py
tests/adapters/test_factory.py
tests/adapters/test_multistepttl_adapter.py
tests/adapters/test_paroutes_adapter.py
tests/adapters/test_retrochimera_adapter.py
tests/adapters/test_retrostar_adapter.py
tests/adapters/test_synllama_adapter.py
tests/adapters/test_synplanner_adapter.py
tests/adapters/test_syntheseus_adapter.py
tests/cli/__init__.py
tests/cli/test_adhoc.py
tests/cli/test_cli.py
tests/cli/test_handlers.py
tests/curation/__init__.py
tests/curation/test_filtering.py
tests/curation/test_sampling.py
tests/io/__init__.py
tests/io/test_roundtrip.py
tests/metrics/__init__.py
tests/metrics/test_bootstrap.py
tests/metrics/test_ranking.py
tests/models/__init__.py
tests/models/test_molecule.py
tests/models/test_pharma_routes.py
tests/models/test_reaction_step.py
tests/models/test_route.py
tests/models/test_route_hashing.py
tests/models/test_route_properties.py
tests/models/test_route_signatures.py
tests/testing_data/paroutes.json.gz
tests/testing_data/pharma_routes.json.gz
tests/testing_data/model-predictions/aizynthfinder-mcts/results.json.gz
tests/testing_data/model-predictions/aizynthfinder-mcts/summary.json
tests/testing_data/model-predictions/aizynthfinder-retro-star/results.json.gz
tests/testing_data/model-predictions/aizynthfinder-retro-star/summary.json
tests/testing_data/model-predictions/askcos/results.json.gz
tests/testing_data/model-predictions/dms-flash-fp16/summary.json
tests/testing_data/model-predictions/dms-flash-fp16/ursa_bb_results.json.gz
tests/testing_data/model-predictions/dreamretro/results.json.gz
tests/testing_data/model-predictions/multistepttl/ibuprofen_multistepttl/2025_10_13__132140__prediction.pkl
tests/testing_data/model-predictions/multistepttl/ibuprofen_multistepttl/2025_10_13__132140__tree.pkl
tests/testing_data/model-predictions/multistepttl/paracetamol_multistepttl/2025_10_13__133407__prediction.pkl
tests/testing_data/model-predictions/multistepttl/paracetamol_multistepttl/2025_10_13__133407__tree.pkl
tests/testing_data/model-predictions/retro-star/results.json.gz
tests/testing_data/model-predictions/retro-star/summary.json
tests/testing_data/model-predictions/retrochimera/results.json.gz
tests/testing_data/model-predictions/synllama/results.json.gz
tests/testing_data/model-predictions/synplanner-mcts/results.json.gz
tests/testing_data/model-predictions/synplanner-mcts/summary.json
tests/testing_data/model-predictions/syntheseus-retro0-local-retro/results.json.gz
tests/testing_data/model-predictions/syntheseus-retro0-local-retro/summary.json
tests/utils/test_serializers.py
tests/workflow/__init__.py
tests/workflow/test_pipeline.py
tests/workflow/test_verify.py