Skip to content

SPEC: what the servers read from a feedback's info (episode r/l/s/mask) - #6

Merged
tactino merged 1 commit into
mainfrom
docs/spec-info-episode
Sep 29, 2026
Merged

tactino merged 1 commit into
mainfrom
docs/spec-info-episode

Conversation

@tactino

@tactino tactino commented Sep 29, 2026

Copy link
Copy Markdown
Member

SPEC.md says a feedback's info is free-form and that {} is valid. It never says what the servers read from it. They read one key:

  • episode = {r, l, s, mask}, each batched to m.
  • Only on a transition whose terminated or truncated is set.
  • That is where rollout/reward, rollout/length and rollout/success come from.

A client that leaves it out trains exactly the same, but those metrics read 0. plugrl-server's E44 found this the hard way. Its C++ client, written from this document, trained Pendulum normally and logged a return of 0 until it sent episode.

This adds a subsection to 5.4, "What the servers read from info", which covers:

  • The four fields and their meaning.
  • How the algorithms aggregate them: averaged since the last learn step; evaluation logs each episode.
  • How mask is treated: an entry whose mask is false is skipped, and a missing mask counts as true.
  • That nothing else is read.
  • What plugrl-env-client sends besides: a full-length episode, mean_success_rate, and is_step_success.
  • That {"episode": {...}} alone is unbatched correctly, because the server looks one level into nested maps for m.

The one-line pointer from the info paragraph is the only other change. The reference clients in examples/ still send {}, which stays valid.

…, mask} on a finished transition, and nothing else

A client written from this document trained normally but logged return 0
(plugrl-server E44): the servers' rollout metrics come only from
info["episode"], which the document did not mention.
@tactino
tactino merged commit a81cbaa into main Sep 29, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant