Choose a reward¶
A run's reward is configuration, selected in the experiment document's reward: section or the
adapter's reward_spec argument. What to write depends on which of three situations you are in.
Your environment scores itself (Tier 1). Write nothing — omit the reward: section entirely.
That absence is meaningful: the environment's own reward is used, and asking for a composed
reward without naming one is an error, never a fallback.
You are on a MORPHEUS world. Pick one of the four shipped specifications by name:
paper is the appendix's stated formula, experiment the one the published training runs
optimised, eval8 the online evaluation's, verification_progress the standalone pass-fraction
signal. They differ — which is canonical is unresolved
— so match the specification to what you are reproducing. A world can also declare its own
reward, which MorpheusEnv adopts when you name none.
You are composing your own. Components you wrote and registered
— upright is built in tutorial L3, which also derives
the ceiling from the same file that scores the run:
reward:
spec:
name: balance
components:
- {type: upright, weight: 1.0, clip: [0.0, 1.0]}
- {type: effort, weight: 0.2}
Weights and clips are per-component and per-specification, so one component can count for more in one experiment than another without being rewritten; the document schema has every field.
Check it engages. A specification whose components can read nothing from your environment's
step records scores zero forever — the engine warns once when that is about to happen, and
skyfall-crl conformance --reward yourmod:Component checks a component's declared reads name
real fields. Do not reuse a shipped specification off MORPHEUS; all four read its operational
records.