Skip to content

bug(e2e): runtime-overrides-e2e test 14 fails — entrypoint hard-exits on invalid override #2698

@jyaunches

Description

@jyaunches

Summary

test/e2e/test-runtime-overrides.sh test 14 ("Config unchanged after rejected override") crashes the container and aborts the test script. Introduced by #2659.

Root Cause

PR #2659 tightened apply_model_override() to require NEMOCLAW_MODEL_OVERRIDE or NEMOCLAW_INFERENCE_API_OVERRIDE to be set before triggering. Test 14 was updated to pass NEMOCLAW_MODEL_OVERRIDE=test alongside NEMOCLAW_CONTEXT_WINDOW=notanumber.

The validation logic in scripts/nemoclaw-start.sh does return 1 when NEMOCLAW_CONTEXT_WINDOW is not a valid integer. Under set -euo pipefail, this kills the entrypoint before CMD runs. The container exits non-zero, and the test script (also under set -euo pipefail) aborts at the CFG=$(run_override ...) line without printing PASS/FAIL.

Expected Behavior

Invalid overrides should be rejected gracefully — log a security warning to stderr and skip the override, but continue starting the container. The config should remain unchanged (build-time defaults preserved).

Actual Behavior

Container exits immediately with code 1. Test cannot read config. Test script aborts.

Affected

  • Nightly runtime-overrides-e2e job on main (run 25118534977)
  • Sparky runtime-overrides dispatch (run 25118528500)

Fix

Change validation failures in apply_model_override() from return 1 to return 0 for non-security-critical rejections (malformed integers, invalid boolean, invalid API type). The security message is still logged to stderr, but the container starts normally with the config unchanged.

Symlink and control-character rejections should remain return 1 (those indicate tampering).

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ciCI workflows, checks, release automation, or GitHub Actionsarea: e2eEnd-to-end tests, nightly failures, or validation infrastructure

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions