Refactors and extends the METANO inference stack: adds a rule-based MolecularClassifier for coarse molecule typing, hardens CharacterLevelChemicalTokenizer (marker handling, normalization, vocab markers), and introduces a SymbolicScorer with heuristic penalties and balanced-bracket checks. Implements BalancedBracketsLogitsProcessor to constrain generation, updates predict_neurosymbolic to a hybrid decode/repair flow (rescore neural candidates with symbolic heuristics, run constrained repair rounds), normalizes candidate scoring and deduplication, and adjusts defaults (e.g. sym_lambda, generation modes). MetanoModel now accepts a pretrained T5 instance from HF and model loading wraps that accordingly. Also updates README formatting and test_run outputs to show richer test diagnostics.
Add metano_inference.py implementing a full neuro-symbolic inference stack for METANO: ModelConfig, MolecularClassifier, a character-level chemical tokenizer, MetanoModel wrapper around T5, SymbolicScorer, BalancedBracketsLogitsProcessor, and predict_neurosymbolic + load_model_from_hf utilities. Include test_run.py to exercise loading a Hugging Face model and run a sample InChI prediction. This change provides end-to-end inference scaffolding and local test harness for the METANO IUPAC prediction workflow.