|
1 | | -# Tool Registry |
2 | | - |
3 | | -`docs/tool-registry.json` is the repo's curated tool memory. It is not an |
4 | | -auto-updating package index. It records which external tools are useful for |
5 | | -BioSymphony Ferm DoE, how they should be routed, what claim level they support, |
6 | | -what license boundary applies, and how the engine should fail closed when a |
7 | | -tool is absent. |
8 | | - |
9 | | -The `last_checked` dates and `current_signal` text on each entry are baselines |
10 | | -captured on a specific day. Before relying on a finding tied to one of these |
11 | | -tools, re-confirm the installed version matches the `current_signal` text, |
12 | | -especially for upstream branches under active development like `bofire main` |
13 | | -(see [`BACKEND_EVAL_FINDINGS.md`](BACKEND_EVAL_FINDINGS.md) for the as-of |
14 | | -dates that anchor each verified backend). |
15 | | - |
16 | | -Use it before: |
17 | | - |
18 | | -- adding or changing optional dependencies in `pyproject.toml` |
19 | | -- deciding whether a campaign should use BoFire, pydoe/pyDOE3, SALib, or a sidecar |
20 | | -- comparing BoFire, BayBE, Ax/BoTorch, ENTMOOT, OMLT, or TabPFN on the adaptive-backend fixture surface |
21 | | -- preparing an optional remote-compute run that installs external packages |
22 | | -- promoting a watchlist repo into an adapter |
23 | | -- making a current-version, active-maintenance, archived, or deprecated claim |
24 | | - |
25 | | -Validation: |
26 | | - |
27 | | -```bash |
28 | | -python3 skills/biosymphony-ferm-doe/scripts/tool_registry_check.py docs/tool-registry.json |
29 | | -python3 skills/biosymphony-ferm-doe/scripts/tool_registry_check.py docs/tool-registry.json \ |
30 | | - --out .runtime/validation/tool-registry-report.json \ |
31 | | - --md-out .runtime/validation/tool-registry-summary.md |
32 | | -nox -s tool_registry |
33 | | -``` |
34 | | - |
35 | | -The companion adaptive-backend surface is validated separately: |
36 | | - |
37 | | -```bash |
38 | | -python3 skills/biosymphony-ferm-doe/scripts/adaptive_backend_surface_check.py \ |
39 | | - docs/adaptive-backend-evaluation.json |
40 | | -nox -s adaptive_backend_surface |
41 | | -``` |
42 | | - |
43 | | -The validator treats stale `last_checked` values as warnings by default. Use |
44 | | -`--fail-on-stale` when preparing a dependency change or a paid remote run. |
45 | | - |
46 | | -The validator also checks that adopted optional packages appear in the declared |
47 | | -`pyproject.toml` extra, that declared Nox lanes exist, that remote-compute lane |
48 | | -manifests exist, and that the BoFire route reasons match the adapter constants. |
| 1 | +# BioSymphony Tool Registry |
| 2 | + |
| 3 | +- Status: `PASS` |
| 4 | +- Tools: `47` |
| 5 | +- Findings: `0 errors`, `0 warnings` |
| 6 | +- Checked on: `2026-06-21` |
| 7 | +- Pyproject alignment: `10` packages across `15` extras |
| 8 | +- Action lanes: `4` nox lanes, `0` remote lanes |
| 9 | + |
| 10 | +| Tool | Priority | Status | Extra | Claim | Route | |
| 11 | +| --- | --- | --- | --- | --- | --- | |
| 12 | +| bofire | P0 | adopted_optional | bofire | bofire_adapter_planning | non_box_constraints, multi_objective_responses, scale_fidelity_structure, ... | |
| 13 | +| frictionless | P0 | adopted_optional | contracts | contract_validation | table_contracts | |
| 14 | +| nox | P0 | adopted_optional | dev | execution_lane | local_validation, optional_lanes | |
| 15 | +| pubmed_mcp_adapter | P0 | adopted_optional | | live_citation_enrichment | dossier_citation_enrichment, bibtex_export | |
| 16 | +| ro_crate | P0 | adopted_optional | | provenance_metadata | compile_dossier, workflow_run_provenance, profile_validation_candidate | |
| 17 | +| salib | P0 | adopted_optional | sensitivity | sensitivity_screening | sensitivity_screening, assumption_attack, scale_recipe_uncertainty | |
| 18 | +| ax | P1 | evaluate_next | backend-eval | not_yet_evaluated | adaptive_orchestration_pilot, custom_generation_strategy, botorch_infrastructure | |
| 19 | +| baybe | P1 | evaluate_next | backend-eval | not_yet_evaluated | bofire_alternative_adapter, categorical_substance_encoding, transfer_learning_across_campaigns, ... | |
| 20 | +| biosteam | P1 | evaluate_next | | economic_context_sidecar | cost_rollup_sidecar, downstream_context | |
| 21 | +| botorch | P1 | adopted_optional | botorch | experimental_adapter | experimental_adaptive_adapter | |
| 22 | +| cwl | P1 | watch | | workflow_provenance_sidecar | provider_handoff_bundle | |
| 23 | +| eln_file_format | P1 | evaluate_next | | interchange_candidate | eln_export_candidate, run_packet_interchange, ro_crate_profile_reference | |
| 24 | +| entmoot | P1 | adopted_optional | entmoot | adapter_backed_nchoosek_bo | nchoosek_cardinality_bo, tree_based_surrogate, in_repo_adapter | |
| 25 | +| fedbatchdesigner | P1 | evaluate_next | | reference_sidecar | fed_batch_reference_example | |
| 26 | +| grobid_fulltext | P1 | evaluate_next | | evidence_extraction_sidecar | public_pdf_structuring, dossier_evidence_harvest, citation_context_extraction | |
| 27 | +| omlt | P1 | adopted_optional | omlt | omlt_adapter_planning | mip_surrogate_optimization, nchoosek_cardinality_bo, optional_in_repo_adapter | |
| 28 | +| petab_libpetab | P1 | evaluate_next | | calibration_contract_candidate | mechanistic_model_contract, parameter_estimation_fixture, petab_validation | |
| 29 | +| pixi | P1 | watch | | developer_tooling | dependency_locking | |
| 30 | +| pseudobatch | P1 | evaluate_next | | preprocessing_candidate | fed_batch_sample_withdrawal, ledger_preprocessing, growth_rate_transform_reference | |
| 31 | +| pydoe | P1 | watch | | adapter_backed_classical_doe | screening, rsm_fit, space_filling_scout | |
| 32 | +| pydoe3 | P1 | compatibility_only | pydoe3 | compatibility_adapter | extended_box_behnken, latin_hypercube_maximin, legacy_pydoe3_adapter | |
| 33 | +| pyomo_dae | P1 | evaluate_next | | deterministic_feasibility_sidecar | fed_batch_feasibility, dynamic_constraints | |
| 34 | +| pypesto | P1 | evaluate_next | | calibration_sidecar_candidate | mechanistic_parameter_estimation, uncertainty_quantification_sidecar, petab_sbml_pipeline | |
| 35 | +| pyplate | P1 | evaluate_next | | execution_recipe_sidecar | plate_arm_manifest, plate_recipe_export | |
| 36 | +| sbml_runtime_stack | P1 | evaluate_next | | simulation_sidecar | mechanistic_model_sidecar | |
| 37 | +| xopt | P1 | evaluate_next | | not_yet_evaluated | adaptive_backend_comparison, constrained_bo, multi_objective_bo, ... | |
| 38 | +| atlas | P2 | watch | | not_yet_evaluated | categorical_aware_bo | |
| 39 | +| bletl | P2 | boundary_only | | external_reference | external_biolector_ingest | |
| 40 | +| botorch_direct | P2 | watch | | not_yet_evaluated | cost_aware_acquisition, direct_surrogate_control | |
| 41 | +| cadet | P2 | boundary_only | | external_reference | downstream_external_sidecar | |
| 42 | +| cobrapy | P2 | boundary_only | | evidence_sidecar | metabolic_evidence_sidecar | |
| 43 | +| dwsim | P2 | boundary_only | | external_reference | external_flowsheet_export | |
| 44 | +| estim8 | P2 | boundary_only | | external_reference | fmi_modelica_parameter_estimation, external_bioprocess_model_ingest | |
| 45 | +| europe_pmc_api | P2 | watch | | metadata_harvest_watch | public_life_science_search, open_fulltext_lookup, annotation_harvest | |
| 46 | +| llambo | P2 | watch | | not_yet_evaluated | llm_warmstart_first_batch, optuna_sampler_pilot | |
| 47 | +| nextflow | P2 | watch | | workflow_sidecar | large_compute_pipeline | |
| 48 | +| obsidian_apo | P2 | boundary_only | | external_reference | dash_ui_reference, shap_explanation_reference | |
| 49 | +| openalex_official | P2 | watch | | metadata_harvest_watch | public_literature_context, citation_graph_harvest | |
| 50 | +| processoptimizer | P2 | watch | | not_yet_evaluated | scikit_optimize_migration_target | |
| 51 | +| pymoo | P2 | evaluate_next | | candidate_table_diagnostic | pareto_report, design_tournament | |
| 52 | +| smt | P2 | evaluate_next | | surrogate_diagnostic | scale_bridge_diagnostic | |
| 53 | +| snakemake | P2 | watch | | workflow_sidecar | batch_benchmark_dag | |
| 54 | +| tabicl_v2 | P2 | watch | | watch_only | foundation_model_surrogate_watch, tabpfn_comparison, larger_table_regression_watch | |
| 55 | +| tabpfn_v2 | P2 | adopted_optional | tabpfn | tabpfn_adapter_planning | foundation_model_surrogate_pilot, small_data_tabular_regression, optional_in_repo_adapter | |
| 56 | +| trieste | P2 | watch | | watch_only | complex_acquisition_reference, ask_tell_bo_watch, multi_fidelity_bo_watch | |
| 57 | +| pysamoo | Avoid | avoid | | not_applicable | | |
| 58 | +| scikit_optimize | Avoid | avoid | | not_applicable | | |
0 commit comments