Repository navigation
security: remove bundled royalty-bearing codec binaries - #2376
Conversation
…agent Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
Signed-off-by: Kajal Jain <kajalj@nvidia.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
…stirrup tests Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
…evel overrides Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
…uirement Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
…cript versions Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
…ever; re-enable per server Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
… uv.lock Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
|
/ok to test 9a7cb65 |
|
/claude review |
|
SHIP WITH CARE — packaging change to exclude royalty-bearing codec binaries from the shipped package/container, with per-server re-enable. Mechanism is sound; one container-build risk to confirm. What I verified
Findings
No verifier/scorer, async, or public-API surface touched. No test-coverage concern (packaging-only). |
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
|
/claude review |
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
|
/claude review |
|
SHIP WITH CARE — mechanism is sound (strip royalty-bearing codec binaries from the shipped package/container via a RISK (verify before merge) — NOTE — The rest (README, Dockerfile apt purge, longmt_eval/wmt_translation overrides.txt re-enabling |
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
|
/claude review |
|
SHIP WITH CARE — packaging/licensing change; no verifier, scorer, or async code touched, so no data-corruption or hang risk. The mechanism is sound but rests on one unenforced invariant. What this does: marks The load-bearing assumption (verify before merge): correctness here depends entirely on uv's per-server One inline RISK on Everything else (README, Dockerfile apt purge, uv.lock wheel removal) is consistent with the stated intent. |
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Kajal Jain <kajalj@nvidia.com>
|
/claude review |
|
SHIP WITH CARE — clean packaging change; one operability risk in the recovery script. This drops the codec-bearing packages (
Note (not blocking): One inline RISK on the script's install target. Nothing here touches verifiers, scoring, or async paths. |
Removing bundled codecs from the deps. --------- Signed-off-by: Kajal Jain <kajalj@nvidia.com> Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…#2483) Cherry-picks from `main` to `r0.5.1`: - #2392 — `feat(docker): install enroot and declare bash in Gym container` - #2376 — `security: remove bundled royalty-bearing codec binaries` **Conflict resolution:** `responses_api_agents/osworld_agent/pyproject.toml` was already deleted on `r0.5.0`/`r0.5.1`, so the codec removal for that file was resolved by keeping it deleted. --------- Signed-off-by: Kajal Jain <kajalj@nvidia.com> Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…nto r0.5.1 (#2486) Cherry-pick of #2376 into `r0.5.1`. **Conflict resolution:** `responses_api_agents/osworld_agent/pyproject.toml` is not present on `r0.5.1` (deleted), so kept it deleted. Signed-off-by: Kajal Jain <kajalj@nvidia.com> Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
The spec was called image_gate_rejects_pre_2376 and its query cited NVIDIA-NeMo/Gym#2376 and that PR's merge date. None of that is needed to state the task: the gate is what encodes the cutoff, and the spec only has to name a tag that must be rejected. Renamed to image_gate_rejects_unsafe_tag, and the query now points at the gate in SKILL.md for the cutoff instead of restating it. Not restating the date also removes a way to pass without working: the spec no longer hands the agent the threshold it is supposed to read out of the gate. Also makes the delta spec satisfiable. Composition resolves the runner's image through VSS_GYM_EVAL_TAG, which is fail-closed (${VAR:?}) with deliberately no default, and the task never supplied one -- so an agent following the skill correctly would have been stopped by the gate the delta contract requires. The query now exports a placeholder tag, and a new check asserts the fail-closed behaviour directly: with the tag unset, `docker compose config` must fail and name VSS_GYM_EVAL_TAG. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Siming Song <simings@nvidia.com>
Removing bundled codecs from the deps.