STET

flux-pr-1184

graphql-go-tools (Go) · W2 · GPT-5.1 Codex Mini

pass_with_warn

Tests passed. 1/1 commands passed. Strength: strong.

96.6% run pass rate
Tier 1
primary testspassednon equivalentunsure
go test -C v2 ./... -count=1 -timeout=300s
gold passagent pass

Partial score: 1/1

Publishable: yesCache: miss

Trajectory

codex · partial order only

provider-native trajectory captured; validation and decision steps are appended with coarse ordering only

session start
Session started
#1
tool call
Command started
#2

shell command

tool result
Command finished
#3

shell command exit code 0

tool call
Command started
#4

shell command

tool result
Command finished
#5

shell command exit code 0

tool call
Command started
#6

shell command

tool result
Command finished
#7

shell command exit code 0

tool call
Command started
#8

shell command

tool result
Command finished
#9

shell command exit code 0

tool call
Command started
#10

shell command

tool result
Command finished
#11

shell command exit code 1

tool call
Command started
#12

shell command

tool result
Command finished
#13

shell command exit code 0

tool call
Command started
#14

shell command

tool result
Command finished
#15

shell command exit code 0

tool call
Command started
#16

shell command

tool result
Command finished
#17

shell command exit code 0

tool call
Command started
#18

shell command

tool result
Command finished
#19

shell command exit code 0

tool call
Command started
#20

shell command

tool result
Command finished
#21

shell command exit code 0

tool call
Command started
#22

shell command

tool result
Command finished
#23

shell command exit code 0

tool call
Command started
#24

shell command

tool result
Command finished
#25

shell command exit code 1

tool call
Command started
#26

shell command

tool result
Command finished
#27

shell command exit code 0

tool call
Command started
#28

shell command

tool result
Command finished
#29

shell command exit code 0

tool call
Command started
#30

shell command

tool result
Command finished
#31

shell command exit code 0

tool call
Command started
#32

shell command

tool result
Command finished
#33

shell command exit code 0

tool call
Command started
#34

shell command

tool result
Command finished
#35

shell command exit code 0

tool call
Command started
#36

shell command

tool result
Command finished
#37

shell command exit code 0

tool call
Command started
#38

shell command

tool result
Command finished
#39

shell command exit code 0

tool call
Command started
#40

shell command

tool result
Command finished
#41

shell command exit code 0

tool call
Command started
#42

shell command

tool result
Command finished
#43

shell command exit code 0

tool call
Command started
#44

shell command

tool result
Command finished
#45

shell command exit code 0

tool call
Command started
#46

shell command

tool result
Command finished
#47

shell command exit code 0

tool call
Command started
#48

shell command

patch written
Patch captured
#49

Flux captured agent.patch for this trial

validation
Tests passed
#50

go

equivalence
Equivalence judgment
#51

non_equivalent

code review
Code review judgment
#52

unsure

decision
Final decision
#53

pass_with_warn

Quality

equivalence
non_equivalent
74% confidence
code review
unsure
3 findings
footprint
medium (0.38)
behavioral
100.0%
cost
$1.42 · 3.9M

Equivalence Reasoning

behavioral

The patch fixes the interface-entity filter bug and adds union-fragment handling, but it appears to miss core intent details: it rewrites any selection containing union fragments unconditionally (instead of conditional cleanup logic), and it does not apply the parent-valid-types object-fragment cleanup at top-level union/interface rewrite-decision points the way the intended fix does. This can change planner behavior and leave edge cases incorrect.

Code Review

correctness: 2/4edge case handling: 2/4introduced bug risk: 2/4maintainability idioms: 3/4

The patch likely fixes core nested-union planning failures and the entity-filter bug, but it does not fully match the intended change set; missing typename preservation and incomplete object-fragment cleanup integration make full correctness uncertain.

3 findings
Nested union flattening drops explicit __typename selections
major

The new `flattenFragmentOnUnion` does not preserve `__typename` from the fragment selection set before rewriting, so queries that explicitly requested it inside nested union fragments can lose that field in rewritten plans.

v2/pkg/engine/plan/abstract_selection_rewriter.go:452
Top-level object fragment validity checks appear incomplete
major

The task requires object fragment cleanup to validate membership in parent valid types, but top-level rewrite decision paths still appear to rely on legacy object-fragment checks and do not clearly route through the new parent-aware cleanup helper.

v2/pkg/engine/plan/abstract_selection_rewriter.go:168
Union flatten copies object fragments without recursive normalization
major

Inside `flattenFragmentOnUnion`, object fragments are copied as-is instead of being recursively flattened; nested interface/union fragments under those objects may remain unnormalized and can reintroduce planning inconsistencies.

v2/pkg/engine/plan/abstract_selection_rewriter.go:468