flux-pr-891
graphql-go-tools (Go) · W2 · GPT-5.1 Codex Mini
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
The patch implements arena-based error object creation and fixes scalar quote escaping, but the `__typename` validation behavior does not fully match intent: it validates at object level using broad `PossibleTypeNames` rather than per-`__typename` selection context (so type-condition-specific contexts can be over-accepted), and it uses a different extension code (`INVALID_TYPENAME` vs expected GraphQL error code convention used by the task/gold).
Code Review
The patch partially implements runtime typename checks and arena-based error building, but it likely does not satisfy the intended PR semantics due to mismatched error contract and object-level validation design that is weaker for selection-context correctness.
The patch emits code "INVALID_TYPENAME" with message "__typename ... is not valid..." via a custom path. The intended change uses a specific subgraph-focused message and extension code semantics for GraphQL invalid typename handling, so this is likely to fail expected tests/contract checks.
Validation is performed from `walkObject` using a single `PossibleTypeNames` list per object. This design can miss/overconstrain cases where allowed typename sets should be composed per __typename field selection context (especially under abstract types and merged selections).
Using `%q` for scalar mismatch messages re-escapes payload text, which can reintroduce over-escaped output for JSON-like values instead of the intended plain quoted interpolation.