Add an AReno Algorithm
Start from AlgorithmSpec and registration in areno/api/algorithms.py; do not add factory branches.
Develop on a dedicated local branch. Commit changes locally, then update the remote GPU checkout by fetching and pulling that branch; never patch source on the remote host. Use ModelScope for any model or dataset references used by the validation workload.
python .agents/skills/areno-add-algorithm/scripts/inspect_algorithms.py
Workflow
- Define whether the algorithm is offline, rollout policy-only, or multi-role. Read references/ownership.md.
- Specify input records, sequence construction, masks, role models, loss inputs, and metrics before coding.
- Add the narrowest config type and preserve public defaults/compatibility.
- Put batch/materialization logic in the trainer and tensor mathematics in
areno/api/loss_fns/or advantage helpers. - Register one
AlgorithmSpec; load experimental implementations throughareno/experimental/when appropriate. - Add CPU tests for registration, config, masks, exact small-tensor math, and trainer dispatch.
- Run the new algorithm end to end for at least two consecutive successful training steps using a real model and representative data. Verify finite losses, metrics, and gradients on both steps. For rollout algorithms, also verify bounded GPU rollout/train logprob consistency.
Completion requires registry discovery, deterministic mathematical tests, evidence from at least two successful end-to-end training steps, and role lifecycle checks where applicable. A one-step smoke train is useful for diagnosis but does not complete algorithm validation.