-
Notifications
You must be signed in to change notification settings - Fork 12
Say that a server-declared prompt is recorded as sent and is not the task #742
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,6 +3,9 @@ | |
| # What a policy reports about itself through its ``meta``; a remote policy nests the server's meta under | ||
| # ``SERVER``, and the harness records the result under ``POLICY_META``. ``TYPE`` names the policy at the top | ||
| # level and the vendor under ``SERVER``, so a reader composes a prefix with a field: f'{SERVER_META}.{TYPE}'. | ||
| # The block under ``SERVER`` is the handshake metadata as the server sent it. The client reads its declared | ||
| # stack and ``compress_images`` from it and records the rest without a check. A ``prompt`` in it is the | ||
| # deployment's own declaration, fixed for that deployment. The instruction an episode sent is ``keys.TASK``. | ||
|
Comment on lines
+6
to
+8
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Rule diff-comments violated: AGENTS.md reference: AGENTS.md:L7-L8 Useful? React with 👍 / 👎. |
||
| TYPE = 'type' | ||
| CHECKPOINT_PATH = 'checkpoint_path' | ||
| EXPERIMENT_NAME = 'experiment_name' | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -103,6 +103,7 @@ def cancel(self): | |
|
|
||
| @property | ||
| def meta(self) -> dict[str, Any]: | ||
| # The server block is the handshake as the server sent it, recorded whole and read nowhere here. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Rule diff-comments violated: AGENTS.md reference: AGENTS.md:L7-L8 Useful? React with 👍 / 👎. |
||
| return flatten_dict({policy_keys.TYPE: 'remote', policy_keys.SERVER: self._session.metadata}) | ||
|
|
||
| def close(self): | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For servers that return different
promptvalues between sessions, this tells downstream users to treat valid per-episode metadata as a fixed deployment property. The framework does not define that semantic:Session.metaexplicitly covers both model and episode facts (positronic/policy/base.py:76-79), andPolicyServer._serve_sessionmerges each newly created session's metadata into that connection's handshake (positronic/offboard/server.py:334-348). The mock test only demonstrates passthrough and cannot establish ownership or lifetime, so qualify this as a convention of the observed deployment or define and enforce a protocol-level contract before documenting it generally.Useful? React with 👍 / 👎.