# BERTose/AFFINose Training Code Release Audit Date: 2026-06-10 ## Current Hugging Face State Fresh no-token readback showed the public inference/model repositories are open. Training and reproducibility code is published in a dedicated public companion repository. | Repository | Public | Gated | Snapshot | Training code present | |---|---:|---:|---|---:| | `supanthadey1/bertose-glycan-encoder` | yes | no | `62e2bb88557c` | no | | `supanthadey1/bertose-iar-resolver` | yes | no | `68938794e4af` | no | | `supanthadey1/affinose-interaction-model` | yes | no | `f13784cb11c7` | no | | `supanthadey1/bertose-affinose-inference` | yes | no | `8b9eee2aac0c` | no | | `supanthadey1/bertose-affinose-training-code` | yes | no | see current Hub head | yes | Conclusion: the Hugging Face release is split cleanly between inference artifacts and the dedicated training/reproducibility companion. ## Published Release Contents The public Hugging Face training-code repository is staged from: ```text huggingface_release/bertose-affinose-training-code/ ``` It contains: ```text 130 files, approximately 54 MB ``` The repository is a curated public training/reproducibility companion. It includes code, configs, vocabulary/split metadata, package-local dependencies, and provenance notes. It intentionally does not include the multi-GB corpora, intermediate mappings, checkpoints, generated figures, or full result bundles. ## Reproducibility Gap Fixed The original code release had a concrete import gap: ```python from training.multimodal_dataset import MultimodalGlycanDataset, create_multimodal_dataloaders from training.multimodal_masking import MultimodalMaskingStrategy ``` `train_multimodal.py` imported those modules, but they were missing from the release package. Added files: - `code/training/multimodal_dataset.py` - `code/training/multimodal_masking.py` - `code/training/masking.py` - `code/training/__init__.py` Related package-local utility gaps were also repaired: - `code/model/tokenizer.py` - `code/model/wurcs_bpe_tokenizer.py` - `code/downstream_tasks/__init__.py` - `code/downstream_tasks/utils/__init__.py` - `code/downstream_tasks/utils/tokenizer.py` - `code/downstream_tasks/utils/wurcs_bpe_tokenizer.py` - `code/downstream_tasks/utils/dataset.py` - `code/downstream_tasks/utils/baseline_results.py` `code/training/train_wurcs_bpe.py` was updated so it imports the BPE tokenizer from the package-local release tree instead of an old nested development path. ## Verification The following checks passed on the repaired local package: - Static first-party import resolution over `code/**/*.py`. - Runtime import check for the repaired BERTose training, tokenizer, model dataset, and downstream utility modules. - No `__pycache__` or `.pyc` files in the repaired release folder. - No Hugging Face token-looking strings found in the repaired folder. - Full staged-folder SHA256 verification using `SHA256SUMS`. - SHA256 coverage check for all staged files except `SHA256SUMS` itself. The following checks passed on the uploaded Hugging Face repository with `token=False`: - `private=False` and `gated=False`. - Required public files are present, including the repaired training modules. - Model card license metadata is `apache-2.0`, and each public repo contains an Apache-2.0 `LICENSE` file. - Full no-token snapshot download succeeds. - Downloaded snapshot passes `SHA256SUMS` verification and coverage checks. - Downloaded snapshot has no `.secrets`, `__pycache__`, `.pyc`, or `.DS_Store` artifacts. - Downloaded snapshot has no Hugging Face token-looking strings. - Runtime import check passes from the downloaded snapshot. These checks prove release packaging, public access, checksum integrity, token hygiene, and import completeness for the repaired surface. They do not prove a full end-to-end retraining run. ## Known Scope Limits 1. Full retraining requires large data artifacts that are intentionally not bundled here, including full pretraining corpus pickles and multi-GB intermediate mapping files. 2. Full model checkpoints are hosted in the separate public inference/model repositories listed above. 3. ESM-C protein embeddings required for AFFINose training are not redistributed here. Users should generate or provide them according to the ESM-C access rules. 4. Historical executable names such as `code/bertint/` and versioned script names are retained for provenance, while public-facing documentation uses AFFINose. 5. Cluster scripts under `provenance/compute_provenance/` preserve original Nova compute context. They are provenance records, not portable launchers for every environment. 6. The public release metadata and repository license files declare Apache License 2.0 for the BERTose/AFFINose code, notebooks and released model artifacts. Third-party dependencies and external models, including EvolutionaryScale ESM-C, retain their own licenses and access terms. 7. A small synthetic-data smoke test for `train_multimodal.py` would be a useful future addition for users who want to validate the training loop without the multi-GB corpus. ## Published Hugging Face Repository Repository: ```text supanthadey1/bertose-affinose-training-code ``` Type: ```text model ``` Access contract: ```text Public, not gated, no token required for download. ```