A framework for recursive self-training. An agent attempts tasks, successful attempts shape the training data, and the trained model attempts the next round in repeated generations.
The included materials-adsorption task asks the agent to discover adsorption rules from descriptors of initial atomic structures. Scoring labels are hidden from the agent during an episode. The example uses MS-agent, local Docker Compose, llama.cpp inference, and GPU supervised fine-tuning (SFT).
The source setup guide covers prerequisites, locked dependencies, model preparation, container builds, and run commands. The example uses Linux x86-64, Python 3.12, a local Docker Engine with Compose, and an NVIDIA GPU with a compatible CUDA toolchain. Installation is source-only.
The two example configurations serve different purposes:
- Smoke configuration: one episode to attempt a training-data export. An accepted rewrite is not guaranteed.
- Training configuration: two generations with one SFT phase between them. Smoke and training use separate output paths and task archives.
The runtime and recovery reference describes network exposure, credentials in logs, output state, and recovery after interruption. Repeated smoke attempts need fresh output paths. A new training run identifier still uses the configured task archive.
The cleanup task reference covers a second task: remove disposable files while preserving a container's viability. It includes native-orchestrator and MS-agent smoke configurations, plus a three-generation training example.
The source and provenance indexes are:
- Materials task source index: task workflow, scoring, archive, and training-row selection.
- Compact task assets: dataset provenance, calibration limits, attribution, and checksums.
The framework also includes generic task interfaces, other inference backends, and other training objectives.
No repository-wide first-party license has been selected. Public source availability does not grant general reuse rights. Third-party notices identify component-specific terms. The OC20Dense-derived data has separate attribution requirements and CC BY 4.0 terms. Model weights are not included and have their own upstream terms.