Skip to content

fix: make nested response values immutable - #111

Merged
xxvw merged 2 commits into
mainfrom
agent/deep-response-immutability
Jul 27, 2026
Merged

xxvw merged 2 commits into
mainfrom
agent/deep-response-immutability

Conversation

@xxvw

@xxvw xxvw commented Jul 27, 2026 •

Copy link
Copy Markdown
Member

Summary

  • recursively freeze JSON-shaped maps and lists exposed by public response models
  • defensively copy nested values in result rows, metadata, response information, and mapping failures
  • reject cyclic map/list inputs with a clear validation error
  • update immutability requirements and regression coverage

Related Issue

Closes #108

Type of Change

  • Feature
  • Bug fix
  • Test
  • Documentation
  • Refactor
  • Build / CI
  • Release

Checklist

  • I created a branch before making changes.
  • I did not commit directly to main.
  • I used this pull request template.
  • I linked the relevant issue where possible.
  • I added or updated tests.
  • I updated documentation if needed.
  • Unreleased notes are consolidated in feat: improve environment-based client setup #113 to avoid cross-PR conflicts.
  • I ran mvn clean verify.
  • I did not include names of automated development tools in project artifacts.
  • I did not expose API tokens, secrets, private keys, account IDs, database IDs, customer data, or sensitive data.
  • I did not add new runtime dependencies without an issue and maintainer approval.

Testing

mvn -B clean verify

111 tests passed with no failures.

Notes

The recursive copy is intentionally limited to JSON-shaped Map and List containers. Scalar values retain their existing representation. Merge #113 after this pull request to add the consolidated changelog entry.

@xxvw xxvw mentioned this pull request Jul 27, 2026
16 of 18 tasks
@xxvw
xxvw marked this pull request as ready for review July 27, 2026 06:50
@xxvw
xxvw merged commit c135a19 into main Jul 27, 2026
6 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.

[Bug]: Deep-freeze nested response collections

1 participant