flux-pr-891
graphql-go-tools (Go) · W2 · GPT-5.4
Tests passed. 1/1 commands passed. Strength: strong.
go test -C v2 ./... -count=1 -timeout=300sPartial score: 1/1
Trajectory
codex · partial order onlyprovider-native trajectory captured; validation and decision steps are appended with coarse ordering only
Quality
Equivalence Reasoning
behavioral
Code Review
The patch partially addresses typename validation and quote escaping, but it likely does not satisfy the intended change due to mismatched error contract (`INVALID_GRAPHQL`), different validation location/semantics, and non-idiomatic global metadata handling.
The patch emits `INVALID_GRAPHQL_RESPONSE` for invalid typename errors, while the intended change specifies an `INVALID_GRAPHQL` code. This is a behavioral/API mismatch for downstream error handling.
The implementation validates `value.__typename` during object traversal and can null objects on failure, rather than validating returned values in the `__typename` scalar selection context. This changes semantics and can trigger errors when `__typename` is not part of the selected field set.
Invalid typename errors are generated without datasource/source attribution; intended behavior requires descriptive subgraph-origin messaging for federated responses.
Storing possible typename metadata in a package-level `sync.Map` keyed by `*Object` creates implicit shared state and potential leaks/stale metadata concerns, instead of explicit schema metadata on the node itself.