The GitHub Actions job "Comment commands" on texera.git/main has succeeded. Run started by GitHub user ShawnGarello (triggered by ShawnGarello).
Head commit for run: 6a29c59c6312da95826b269fca2a6a14006fb34a / carloea2 <[email protected]> feat(pyamber): reject non-string state keys (#8959) ### What changes were proposed in this PR? Reject non-string state dictionary keys before serialization. Converting both 1 and "1" to the same JSON key silently loses a value. This introduces an explicit TypeError for non-string keys, including nested mappings. ### Any related issues, documentation, discussions? Closes #8215 Replaces #8216, which the stale bot closed. The original PR cannot be reopened by this account. ### How was this PR tested? Tested on freshly fetched main at d27b7b49877bcc52d80602e57f5b0e5f86291736 with Python 3.12 on Windows. The regression failed before the source change and passed after it. >From the amber directory, with generated protobuf bindings available on PYTHONPATH: ```text python -m pytest src/test/python/core/models/test_state.py::TestState::test_to_json_rejects_non_string_keys -q --tb=line -p no:cacheprovider python -m pytest src/test/python/core/models src/test/python/core/architecture/sendsemantics/test_partitioners.py --deselect src/test/python/core/models/test_tuple.py::TestTuple::test_hash -q --tb=line -p no:cacheprovider ruff check src/main/python src/test/python ruff format --check src/main/python src/test/python ``` The broader suites passed 351 tests with one expected failure. Ruff lint and formatting passed for all 216 Python files. The existing Windows pre-epoch hash fixture was deselected; the new hash regressions were run separately. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Codex (GPT-6) Report URL: https://github.com/apache/texera/actions/runs/38539481591 With regards, GitHub Actions via GitBox
