| """Additive NoNE science-specialist catalog. |
| |
| These families are appended after the accepted v18 catalog. Their order is a |
| checkpoint contract: existing capability rows and paged-family identities must |
| remain an exact prefix when this catalog grows. |
| |
| ``routing_claims`` permit relevant evidence to route toward a specialist. |
| ``readiness_claims`` are stricter corpus labels required before the growth plan |
| may report direct evidence readiness for that specialist. Registration and |
| transfer initialization never imply that a specialist has been trained. |
| """ |
| from __future__ import annotations |
|
|
| import hashlib |
| from dataclasses import dataclass |
| from typing import Final |
|
|
|
|
| NONE_SCIENCE_SPECIALIST_CATALOG_SCHEMA: Final = ( |
| "nnf.resynthesis.none_science_specialist_catalog.v1" |
| ) |
|
|
| MHC_CHEMICAL_PLAUSIBILITY: Final = ( |
| "mhc_chemical_plausibility_completeness" |
| ) |
| MHC_ROUTE_DISTANCE: Final = "mhc_literature_route_distance" |
| MHC_STARTING_MATERIAL: Final = "mhc_starting_material_practicality" |
| MHC_STEP_CONVERGENCE: Final = "mhc_step_count_route_convergence" |
| MHC_SAFETY_PROCESS: Final = "mhc_safety_process_compatibility" |
| MHC_SCALE_IMPURITY: Final = "mhc_scalability_impurity_burden" |
| MHC_EVIDENCE_UNCERTAINTY: Final = "mhc_evidence_quality_uncertainty" |
| MHC_LAB_MERIT: Final = "mhc_lab_investigation_merit" |
|
|
| NONE_SCIENCE_SPECIALIST_RUBRIC_FACTORS: Final = frozenset( |
| { |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_ROUTE_DISTANCE, |
| MHC_STARTING_MATERIAL, |
| MHC_STEP_CONVERGENCE, |
| MHC_SAFETY_PROCESS, |
| MHC_SCALE_IMPURITY, |
| MHC_EVIDENCE_UNCERTAINTY, |
| MHC_LAB_MERIT, |
| } |
| ) |
|
|
|
|
| @dataclass(frozen=True) |
| class NoNERouteInvestigationRubricFactor: |
| """One evidence-scored, post-forward route-investigation criterion.""" |
|
|
| factor_id: str |
| label: str |
| required_evidence: tuple[str, ...] |
| score_anchors: tuple[str, str, str, str, str] |
| critical_for_laboratory_merit: bool |
|
|
|
|
| NONE_ROUTE_INVESTIGATION_RUBRIC_FACTORS: Final[ |
| tuple[NoNERouteInvestigationRubricFactor, ...] |
| ] = ( |
| NoNERouteInvestigationRubricFactor( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| "chemical plausibility and completeness", |
| ( |
| "identity, structure, salt or parent form, stereochemistry, and charge", |
| "atom, valence, mass-balance, reagent, condition, and transformation checks", |
| "competing chemistry, selectivity, and unresolved molecular assumptions", |
| ), |
| ( |
| "chemically invalid, internally contradictory, or too incomplete to assess", |
| "identity is partly resolved but the proposed chemistry has major unsupported gaps", |
| "the transformation is plausible with explicit unresolved identity or reaction details", |
| "the complete chemistry is supported and important competing pathways are addressed", |
| "quantitative, independently corroborated chemistry survives edge-case analysis", |
| ), |
| True, |
| ), |
| NoNERouteInvestigationRubricFactor( |
| MHC_ROUTE_DISTANCE, |
| "distance from the standard literature route", |
| ( |
| "a provenance-bound nearest literature or patent comparator", |
| "structural, transformation, reagent, condition, and sequence deltas", |
| "novelty limits, hidden dependencies, and comparator-search uncertainty", |
| ), |
| ( |
| "no defensible standard-route comparator was identified", |
| "a comparator is asserted without enough primary-source route detail", |
| "the nearest precedent is identified but important route deltas remain unresolved", |
| "stepwise route distance is evidenced with explicit novelty limitations", |
| "a systematic prior-art comparison quantifies route distance and residual uncertainty", |
| ), |
| False, |
| ), |
| NoNERouteInvestigationRubricFactor( |
| MHC_STARTING_MATERIAL, |
| "starting-material practicality", |
| ( |
| "exact starting-material identity, form, purity, stability, and storage needs", |
| "commercial or preparative availability, cost, scale, suppliers, and regions", |
| "protecting-group, upstream synthesis, quality, and supply-chain burden", |
| ), |
| ( |
| "starting materials are undefined, implausible, or unavailable", |
| "identities are known but availability, quality, or preparation is unsupported", |
| "materials appear obtainable with substantial unresolved cost, stability, or supply risk", |
| "scale-appropriate supply or a validated preparation is supported with known constraints", |
| "quality, cost, regional resilience, and upstream dependencies are quantitatively controlled", |
| ), |
| False, |
| ), |
| NoNERouteInvestigationRubricFactor( |
| MHC_STEP_CONVERGENCE, |
| "step count and route convergence", |
| ( |
| "complete step inventory, longest linear sequence, and branch convergence", |
| "isolated or telescoped yields, selectivity, recycle, and material-flow assumptions", |
| "bottleneck steps, hidden operations, protecting groups, and route alternatives", |
| ), |
| ( |
| "the route is not sufficiently enumerated to count or compare", |
| "only fragments or a single reaction record are available", |
| "a nominal route is present but yields, branches, or hidden operations are incomplete", |
| "total and longest-linear steps, convergence, and material flow are supported", |
| "bottlenecks and alternative convergent designs are quantitatively compared", |
| ), |
| False, |
| ), |
| NoNERouteInvestigationRubricFactor( |
| MHC_SAFETY_PROCESS, |
| "safety and process compatibility", |
| ( |
| "reagent, solvent, intermediate, product, and waste hazards", |
| "thermal, pressure, gas, mixing, incompatibility, and containment evidence", |
| "safe operating envelope, controls, emergency response, and scale dependence", |
| ), |
| ( |
| "material safety evidence is absent, contradictory, or indicates an uncontrolled hazard", |
| "generic hazards are named without reaction- or process-specific analysis", |
| "major hazards are recognized but thermal, incompatibility, or containment gaps remain", |
| "process-specific hazards and controls support a bounded safe experiment", |
| "a scale-relevant safe operating envelope and failure response are quantitatively supported", |
| ), |
| True, |
| ), |
| NoNERouteInvestigationRubricFactor( |
| MHC_SCALE_IMPURITY, |
| "scalability and likely impurity burden", |
| ( |
| "mixing, heat and mass transfer, dosing, workup, isolation, and equipment constraints", |
| "impurity formation, fate, purge, carryover, specifications, and analytical detection", |
| "scale evidence, expected variability, control strategy, and unresolved process risks", |
| ), |
| ( |
| "no credible scale or impurity assessment is possible", |
| "bench outcome is reported without process or impurity evidence", |
| "scale-up appears plausible but major workup, transport, or impurity risks remain", |
| "unit operations and impurity fate are supported by an executable control strategy", |
| "demonstrated or quantitatively modeled scale behavior includes variability and purge proof", |
| ), |
| False, |
| ), |
| NoNERouteInvestigationRubricFactor( |
| MHC_EVIDENCE_UNCERTAINTY, |
| "evidence quality and explicit uncertainty", |
| ( |
| "primary-source locators, exact entity applicability, and independent corroboration", |
| "contradictions, negative results, temporal leakage, and source dependence", |
| "calibrated confidence, unknowns, assumptions, and evidence needed to resolve them", |
| ), |
| ( |
| "claims are invented, untraceable, contradicted, or presented without uncertainty", |
| "a weak or single source is used without adequate applicability checks", |
| "primary evidence and caveats exist but important contradictions or gaps remain", |
| "multiple relevant sources support the claim with calibrated explicit uncertainty", |
| "prospective or replicated evidence resolves conflicts and validates calibration", |
| ), |
| True, |
| ), |
| NoNERouteInvestigationRubricFactor( |
| MHC_LAB_MERIT, |
| "whether the proposal merits laboratory investigation", |
| ( |
| "a falsifiable hypothesis, smallest safe experiment, controls, and replicates", |
| "measurable endpoints, analytics, success criteria, and stop or go decisions", |
| "information gain, resources, failure modes, staged escalation, and feedback capture", |
| ), |
| ( |
| "the proposal is unsafe, non-falsifiable, or cannot produce interpretable evidence", |
| "the idea is speculative and blocked by prerequisite identity, safety, or evidence gaps", |
| "a testable proposal exists but prerequisite evidence or controls must be completed first", |
| "a bounded experiment with controls, endpoints, and stop or go criteria merits review", |
| "a staged high-information plan is investigation-ready with explicit failure handling", |
| ), |
| True, |
| ), |
| ) |
|
|
| NONE_ROUTE_INVESTIGATION_RUBRIC_FACTOR_ORDER: Final = tuple( |
| factor.factor_id for factor in NONE_ROUTE_INVESTIGATION_RUBRIC_FACTORS |
| ) |
| NONE_ROUTE_INVESTIGATION_CRITICAL_FACTORS: Final = tuple( |
| factor.factor_id |
| for factor in NONE_ROUTE_INVESTIGATION_RUBRIC_FACTORS |
| if factor.critical_for_laboratory_merit |
| ) |
|
|
|
|
| @dataclass(frozen=True) |
| class NoNEScienceSpecialistDefinition: |
| """One append-only science-specialist family contract.""" |
|
|
| family_id: str |
| description: str |
| routing_claims: frozenset[str] |
| readiness_claims: frozenset[str] |
| rubric_factors: tuple[str, ...] |
|
|
|
|
| NONE_V2_PLUS_SCIENCE_SPECIALIST_DEFINITIONS: Final[ |
| tuple[NoNEScienceSpecialistDefinition, ...] |
| ] = ( |
| NoNEScienceSpecialistDefinition( |
| "chemical_entity_resolution_registry_graph", |
| "cross-registry chemical entity resolution, public registry assertions, salt and parent linkage", |
| frozenset({"cas_assertions", "names", "structures"}), |
| frozenset({"registry_crosswalks"}), |
| (MHC_CHEMICAL_PLAUSIBILITY, MHC_EVIDENCE_UNCERTAINTY), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "tautomer_protomer_stereoisomer_ensemble", |
| "tautomer, protomer, stereoisomer, protonation-state, and microstate enumeration", |
| frozenset({"properties", "stereochemistry", "structures"}), |
| frozenset({"molecular_microstates"}), |
| (MHC_CHEMICAL_PLAUSIBILITY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "salt_solvate_polymorph_solid_state", |
| "salts, solvates, polymorphs, crystal packing, and solid-state form selection", |
| frozenset({"properties", "spectra", "structures"}), |
| frozenset({"solid_state_forms"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_STARTING_MATERIAL, |
| MHC_SCALE_IMPURITY, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "thermodynamics_phase_equilibrium", |
| "thermophysical properties, phase equilibria, activity coefficients, and solubility thermodynamics", |
| frozenset({"conditions", "properties", "structures"}), |
| frozenset({"thermophysical_measurements"}), |
| (MHC_CHEMICAL_PLAUSIBILITY, MHC_SAFETY_PROCESS), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "quantum_electronic_reactivity", |
| "electronic structure, charge, orbital, reactivity, and quantum-chemical evidence", |
| frozenset({"properties", "spectra", "structures"}), |
| frozenset({"quantum_chemistry"}), |
| (MHC_CHEMICAL_PLAUSIBILITY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "reaction_mechanism_transition_state", |
| "elementary mechanisms, transition states, selectivity origins, and competing reaction pathways", |
| frozenset({"conditions", "procedures", "reaction_records", "yields"}), |
| frozenset({"reaction_mechanisms"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_ROUTE_DISTANCE, |
| MHC_STEP_CONVERGENCE, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "catalysis_ligand_organometallic", |
| "homogeneous and heterogeneous catalysis, ligand effects, organometallics, and coordination chemistry", |
| frozenset({"catalysts", "conditions", "reaction_records", "yields"}), |
| frozenset({"catalyst_characterization"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_STEP_CONVERGENCE, |
| MHC_SAFETY_PROCESS, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "enzyme_biocatalysis_metabolic_transform", |
| "enzyme catalysis, metabolic transformations, biocatalytic conditions, and sequence-function transfer", |
| frozenset({"bioactivity", "omics", "reaction_records", "targets"}), |
| frozenset({"enzyme_transformations"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_STEP_CONVERGENCE, |
| MHC_LAB_MERIT, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "natural_product_biosynthesis", |
| "natural-product structures, biosynthetic pathways, dereplication, and analog generation", |
| frozenset({"literature_full_text", "omics", "structures"}), |
| frozenset({"natural_product_biosynthesis"}), |
| (MHC_CHEMICAL_PLAUSIBILITY, MHC_ROUTE_DISTANCE), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "carbohydrate_glycan_chemistry", |
| "carbohydrate stereochemistry, glycans, glycosylation, and carbohydrate-recognition biology", |
| frozenset({"bioactivity", "structures", "targets"}), |
| frozenset({"glycan_structures"}), |
| (MHC_CHEMICAL_PLAUSIBILITY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "lipid_membrane_pharmacology", |
| "lipids, membrane composition, permeability, membrane targets, and lipid pharmacology", |
| frozenset({"bioactivity", "properties", "structures", "targets"}), |
| frozenset({"lipid_membrane_assays"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_SAFETY_PROCESS, |
| MHC_LAB_MERIT, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "nucleic_acid_oligonucleotide_therapeutics", |
| "DNA/RNA structure, oligonucleotide design, chemical modifications, delivery, and target engagement", |
| frozenset({"clinical", "omics", "structures", "targets"}), |
| frozenset({"oligonucleotide_therapeutics"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_SAFETY_PROCESS, |
| MHC_LAB_MERIT, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "covalent_warhead_reactivity", |
| "covalent binders, electrophile tuning, residue selectivity, reactivity liabilities, and kinetics", |
| frozenset({"bioactivity", "kinetics", "structures", "targets"}), |
| frozenset({"covalent_binding_assays"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_SAFETY_PROCESS, |
| MHC_LAB_MERIT, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "radiochemistry_isotope_pharmacology", |
| "radioisotopes, radiolabeling, dosimetry, isotope stability, and radiopharmaceutical design", |
| frozenset({"clinical", "conditions", "hazards", "structures"}), |
| frozenset({"radiochemistry"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_SAFETY_PROCESS, |
| MHC_LAB_MERIT, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "solubility_permeability_transport", |
| "aqueous solubility, permeability, transporters, ionization, and absorption constraints", |
| frozenset({"admet", "bioactivity", "properties", "structures"}), |
| frozenset({"solubility_permeability"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_SAFETY_PROCESS, |
| MHC_LAB_MERIT, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "pkpd_dose_exposure", |
| "pharmacokinetics, pharmacodynamics, dose-response, exposure, clearance, and therapeutic windows", |
| frozenset({"clinical", "drug_labels", "properties"}), |
| frozenset({"pkpd_measurements"}), |
| (MHC_SAFETY_PROCESS, MHC_EVIDENCE_UNCERTAINTY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "drug_interaction_transporter_enzyme", |
| "drug-drug interactions, transporter and enzyme inhibition, induction, and interaction risk", |
| frozenset({"clinical", "drug_labels", "off_targets", "targets"}), |
| frozenset({"drug_interaction_measurements"}), |
| (MHC_SAFETY_PROCESS, MHC_EVIDENCE_UNCERTAINTY), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "toxicology_mechanism_pathology", |
| "mechanistic toxicology, organ pathology, dose response, adverse outcomes, and causal evidence", |
| frozenset({"clinical", "hazards", "negative_results", "toxicity"}), |
| frozenset({"toxicology_outcomes"}), |
| (MHC_SAFETY_PROCESS, MHC_EVIDENCE_UNCERTAINTY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "pharmacogenomics_precision_medicine", |
| "genotype-drug response, alleles, phenotypes, ancestry-aware evidence, and precision dosing", |
| frozenset({"clinical", "omics", "target_disease", "targets"}), |
| frozenset({"pharmacogenomic_associations"}), |
| (MHC_SAFETY_PROCESS, MHC_EVIDENCE_UNCERTAINTY), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "biomarker_companion_diagnostic", |
| "predictive and prognostic biomarkers, assay context, companion diagnostics, and patient stratification", |
| frozenset({"clinical", "omics", "targets"}), |
| frozenset({"biomarker_associations"}), |
| (MHC_EVIDENCE_UNCERTAINTY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "clinical_trial_protocol_outcomes", |
| "trial design, eligibility, interventions, endpoints, adverse events, failures, and outcome interpretation", |
| frozenset({"clinical", "negative_results", "regulatory_status"}), |
| frozenset({"clinical_trial_outcomes"}), |
| (MHC_SAFETY_PROCESS, MHC_EVIDENCE_UNCERTAINTY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "regulatory_chemistry_cmc", |
| "chemistry manufacturing and controls, specifications, comparability, stability, and regulatory evidence", |
| frozenset({"impurities", "manufacturing", "regulatory_status"}), |
| frozenset({"regulatory_cmc"}), |
| ( |
| MHC_SAFETY_PROCESS, |
| MHC_SCALE_IMPURITY, |
| MHC_EVIDENCE_UNCERTAINTY, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "formulation_delivery_stability", |
| "formulation composition, delivery systems, excipients, stability, degradation, and shelf life", |
| frozenset({"drug_labels", "impurities", "properties"}), |
| frozenset({"formulation_stability"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_SAFETY_PROCESS, |
| MHC_SCALE_IMPURITY, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "starting_material_supply_chain", |
| "starting-material availability, suppliers, trade, regional constraints, cost, and supply-chain resilience", |
| frozenset({"manufacturing", "production_volume", "trade_or_use"}), |
| frozenset({"starting_material_supply"}), |
| (MHC_STARTING_MATERIAL, MHC_SCALE_IMPURITY), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "process_analytical_control", |
| "process analytical technology, critical quality attributes, controls, sensors, and batch consistency", |
| frozenset({"analytical_assays", "impurities", "manufacturing", "process_scale"}), |
| frozenset({"process_analytical_control"}), |
| (MHC_SAFETY_PROCESS, MHC_SCALE_IMPURITY), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "reaction_calorimetry_thermal_runaway", |
| "reaction calorimetry, heat and gas evolution, thermal runaway, mixing, and safe operating envelopes", |
| frozenset({"conditions", "hazards", "process_scale"}), |
| frozenset({"reaction_calorimetry"}), |
| (MHC_SAFETY_PROCESS, MHC_SCALE_IMPURITY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "impurity_fate_purge_genotoxic", |
| "impurity formation, fate and purge, genotoxic alerts, carryover, specifications, and control strategies", |
| frozenset({"impurities", "process_scale", "toxicity", "yields"}), |
| frozenset({"impurity_fate_and_purge"}), |
| (MHC_SAFETY_PROCESS, MHC_SCALE_IMPURITY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "green_chemistry_lifecycle", |
| "solvent and reagent footprint, emissions, waste, energy, lifecycle burden, and greener route selection", |
| frozenset({"emissions_or_exposure", "process_scale", "trade_or_use"}), |
| frozenset({"green_chemistry_metrics"}), |
| (MHC_STARTING_MATERIAL, MHC_SAFETY_PROCESS, MHC_SCALE_IMPURITY), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "patent_family_claim_scope", |
| "patent families, claims, examples, legal status, assignees, and composition or process scope", |
| frozenset({"patent_full_text", "patent_metadata", "procedures"}), |
| frozenset({"patent_claims_and_families"}), |
| (MHC_ROUTE_DISTANCE, MHC_EVIDENCE_UNCERTAINTY), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "route_novelty_literature_distance", |
| "route novelty, precedent distance, convergence, hidden dependencies, and prior-art comparison", |
| frozenset( |
| { |
| "literature_full_text", |
| "patent_full_text", |
| "procedures", |
| "reaction_records", |
| } |
| ), |
| frozenset({"route_comparison_annotations"}), |
| ( |
| MHC_ROUTE_DISTANCE, |
| MHC_STARTING_MATERIAL, |
| MHC_STEP_CONVERGENCE, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "evidence_contradiction_temporal_provenance", |
| "contradictory findings, temporal evidence, retractions, source dependence, leakage, and calibrated uncertainty", |
| frozenset( |
| { |
| "literature_metadata", |
| "negative_results", |
| "patent_metadata", |
| "uncertainty", |
| } |
| ), |
| frozenset({"temporal_contradiction_annotations"}), |
| (MHC_EVIDENCE_UNCERTAINTY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "prospective_experiment_design_active_learning", |
| "information-gain experiment selection, controls, replicates, stopping criteria, failures, and uncertainty reduction", |
| frozenset({"failed_assays", "negative_results", "uncertainty"}), |
| frozenset({"prospective_experiment_outcomes"}), |
| (MHC_EVIDENCE_UNCERTAINTY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "laboratory_automation_closed_loop", |
| "automation-ready protocols, instrument actions, observations, repair, and closed-loop experimental feedback", |
| frozenset({"conditions", "procedures", "reaction_records", "yields"}), |
| frozenset({"laboratory_automation_runs"}), |
| ( |
| MHC_STEP_CONVERGENCE, |
| MHC_SAFETY_PROCESS, |
| MHC_EVIDENCE_UNCERTAINTY, |
| MHC_LAB_MERIT, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "medicinal_chemistry_sar_multiparameter_optimization", |
| "series-level medicinal chemistry, activity cliffs, and synthesis-aware multiparameter optimization", |
| frozenset( |
| { |
| "bioactivity", |
| "conditions", |
| "negative_results", |
| "properties", |
| "structures", |
| } |
| ), |
| frozenset({"medicinal_chemistry_multiparameter_series"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_SAFETY_PROCESS, |
| MHC_EVIDENCE_UNCERTAINTY, |
| MHC_LAB_MERIT, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "molecular_library_scaffold_hopping_novelty_diversity", |
| "scaffold hopping, bioisosteres, novelty-diversity control, and coverage-aware molecular library design", |
| frozenset( |
| { |
| "conformers", |
| "patent_metadata", |
| "properties", |
| "stereochemistry", |
| "structures", |
| } |
| ), |
| frozenset({"scaffold_hop_library_annotations"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_ROUTE_DISTANCE, |
| MHC_STEP_CONVERGENCE, |
| MHC_EVIDENCE_UNCERTAINTY, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "target_validation_causal_disease_mechanism", |
| "causal target validation, intervention direction, tissue context, confounding, and translational failure", |
| frozenset( |
| { |
| "clinical", |
| "literature_full_text", |
| "negative_results", |
| "omics", |
| "targets", |
| } |
| ), |
| frozenset({"causal_target_validation_annotations"}), |
| (MHC_EVIDENCE_UNCERTAINTY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "patent_enablement_markush_claim_chart_freedom_to_operate", |
| "patent enablement, example-to-claim mapping, Markush resolution, claim charts, and freedom-to-operate risk", |
| frozenset( |
| { |
| "patent_full_text", |
| "patent_metadata", |
| "procedures", |
| "structures", |
| } |
| ), |
| frozenset({"patent_enablement_markush_claim_charts"}), |
| (MHC_ROUTE_DISTANCE, MHC_EVIDENCE_UNCERTAINTY), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "reaction_condition_yield_failure_optimization", |
| "condition and yield optimization from positive and failed reactions with mechanism-consistent repair", |
| frozenset( |
| { |
| "conditions", |
| "negative_results", |
| "procedures", |
| "reaction_records", |
| "yields", |
| } |
| ), |
| frozenset({"reaction_condition_failure_outcomes"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_STEP_CONVERGENCE, |
| MHC_SAFETY_PROCESS, |
| MHC_SCALE_IMPURITY, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "translational_candidate_selection_clinical_feasibility", |
| "preclinical-to-clinical candidate selection across exposure, biomarkers, population, endpoints, and CMC feasibility", |
| frozenset( |
| { |
| "bioactivity", |
| "clinical", |
| "clinical_trial_outcomes", |
| "drug_labels", |
| "regulatory_status", |
| } |
| ), |
| frozenset({"translational_candidate_decisions"}), |
| ( |
| MHC_SAFETY_PROCESS, |
| MHC_SCALE_IMPURITY, |
| MHC_EVIDENCE_UNCERTAINTY, |
| MHC_LAB_MERIT, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "polypharmacology_combination_resistance_network", |
| "multi-target mechanisms, combination rationale, resistance escape, antagonism, and interaction burden", |
| frozenset( |
| { |
| "bioactivity", |
| "clinical", |
| "negative_results", |
| "off_targets", |
| "targets", |
| } |
| ), |
| frozenset({"polypharmacology_resistance_networks"}), |
| (MHC_SAFETY_PROCESS, MHC_EVIDENCE_UNCERTAINTY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "drug_repurposing_mechanism_evidence", |
| "indication transfer through mechanism concordance, exposure feasibility, clinical precedent, and contradiction analysis", |
| frozenset( |
| { |
| "bioactivity", |
| "clinical", |
| "drug_labels", |
| "literature_full_text", |
| "targets", |
| } |
| ), |
| frozenset({"repurposing_mechanism_evidence_graphs"}), |
| (MHC_SAFETY_PROCESS, MHC_EVIDENCE_UNCERTAINTY, MHC_LAB_MERIT), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "process_technoeconomic_supply_lifecycle_decision", |
| "process portfolio decisions across feedstocks, throughput, energy, waste, hazards, cost proxies, and supply resilience", |
| frozenset( |
| { |
| "emissions_or_exposure", |
| "hazards", |
| "impurities", |
| "process_scale", |
| "production_volume", |
| "trade_or_use", |
| } |
| ), |
| frozenset({"process_technoeconomic_lifecycle_decisions"}), |
| ( |
| MHC_STARTING_MATERIAL, |
| MHC_SAFETY_PROCESS, |
| MHC_SCALE_IMPURITY, |
| MHC_EVIDENCE_UNCERTAINTY, |
| ), |
| ), |
| NoNEScienceSpecialistDefinition( |
| "causal_counterfactual_end_state_scientific_planning", |
| "end-state-backward planning, counterfactual interventions, adaptive evidence acquisition, and execution closure", |
| frozenset( |
| { |
| "clinical_trial_outcomes", |
| "negative_results", |
| "procedures", |
| "reaction_records", |
| "uncertainty", |
| } |
| ), |
| frozenset({"counterfactual_end_state_execution_outcomes"}), |
| ( |
| MHC_CHEMICAL_PLAUSIBILITY, |
| MHC_ROUTE_DISTANCE, |
| MHC_STARTING_MATERIAL, |
| MHC_STEP_CONVERGENCE, |
| MHC_SAFETY_PROCESS, |
| MHC_SCALE_IMPURITY, |
| MHC_EVIDENCE_UNCERTAINTY, |
| MHC_LAB_MERIT, |
| ), |
| ), |
| ) |
|
|
| NONE_V2_PLUS_SCIENCE_SPECIALIST_FAMILIES: Final[ |
| tuple[tuple[str, str, frozenset[str]], ...] |
| ] = tuple( |
| ( |
| definition.family_id, |
| definition.description, |
| definition.routing_claims, |
| ) |
| for definition in NONE_V2_PLUS_SCIENCE_SPECIALIST_DEFINITIONS |
| ) |
|
|
| NONE_V2_PLUS_SCIENCE_SPECIALIST_IDS_SHA256: Final = hashlib.sha256( |
| "\n".join( |
| definition.family_id |
| for definition in NONE_V2_PLUS_SCIENCE_SPECIALIST_DEFINITIONS |
| ).encode("utf-8") |
| ).hexdigest() |
|
|
| _family_ids = tuple( |
| definition.family_id |
| for definition in NONE_V2_PLUS_SCIENCE_SPECIALIST_DEFINITIONS |
| ) |
| _route_rubric_ids = tuple( |
| factor.factor_id for factor in NONE_ROUTE_INVESTIGATION_RUBRIC_FACTORS |
| ) |
| if ( |
| len(_route_rubric_ids) != 8 |
| or len(set(_route_rubric_ids)) != len(_route_rubric_ids) |
| or set(_route_rubric_ids) != NONE_SCIENCE_SPECIALIST_RUBRIC_FACTORS |
| or any( |
| len(factor.score_anchors) != 5 |
| or not factor.required_evidence |
| or any(not value.strip() for value in factor.score_anchors) |
| for factor in NONE_ROUTE_INVESTIGATION_RUBRIC_FACTORS |
| ) |
| ): |
| raise RuntimeError("NoNE route-investigation scoring rubric is invalid") |
| if len(_family_ids) < 43 or len(set(_family_ids)) != len(_family_ids): |
| raise RuntimeError("NoNE science-specialist catalog is incomplete or duplicated") |
| if any(family_id.startswith("language_") for family_id in _family_ids): |
| raise RuntimeError("NoNE science-specialist family collides with language catalog") |
| if any( |
| not definition.routing_claims |
| or not definition.readiness_claims |
| or not definition.rubric_factors |
| or not set(definition.rubric_factors).issubset( |
| NONE_SCIENCE_SPECIALIST_RUBRIC_FACTORS |
| ) |
| for definition in NONE_V2_PLUS_SCIENCE_SPECIALIST_DEFINITIONS |
| ): |
| raise RuntimeError("NoNE science-specialist evidence or rubric contract is invalid") |
|
|