STET

flux-pr-1184

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

fail_high_conf

Tests: unknown. 0/1 commands passed. Strength: missing.

57.1% run pass rate
Tier 1
primary equivalenceunknownneeds generated testsweak signal riskall commands ignoredunknown all commands ignored gold failure mode unsetnon equivalentfail
go test -C v2 ./... -count=1 -timeout=300s
gold failagent

Partial score: 0/0

Publishable: yesWeak signal risk: 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 1

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 0

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
Validation recorded
#50
equivalence
Equivalence judgment
#51

non_equivalent

code review
Code review judgment
#52

fail

decision
Final decision
#53

fail_high_conf

Quality

equivalence
non_equivalent
92% confidence
code review
fail
3 findings
footprint
low (0.16)
behavioral
cost
$1.42 · 3.5M

Equivalence Reasoning

behavioral

The patch only partially addresses the intent. It adds some union-fragment flattening and fixes `entitiesImplementingInterface` plus parent-type checks in `objectFragmentNeedCleanup`, but it does not update rewrite-decision logic to account for union inline fragments (e.g., `unionFieldSelectionNeedsRewrite` / interface-side union cleanup paths). As a result, queries with nested union fragments can still skip required rewriting and produce incorrect plans. It also lacks the fuller recursive cleanup/flatten behavior from the intended change (notably union cleanup checks and robust nested object/union handling).

Code Review

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

Patch addresses two requested pieces (entity filtering bug and parent-type check for object fragments) and adds union flattening, but it likely does not fully satisfy the intended nested abstract-fragment behavior and carries notable edge-case risk.

3 findings
Union flattening can discard valid fragments when union member lists are empty
major

The new `flattenFragmentOnUnion` returns immediately if both `unionMemberEntityNames` and `unionMemberTypeNames` are empty. That can drop a valid inline union fragment selection instead of rewriting it using parent-allowed types.

v2/pkg/engine/plan/abstract_selection_rewriter.go:456
Object fragments inside union fragments are copied instead of recursively flattened
major

Inside `flattenFragmentOnUnion`, object inline fragments are appended via `CopySelection` rather than being normalized recursively. Nested abstract fragments under those object branches may remain unrewritten in federated plans.

v2/pkg/engine/plan/abstract_selection_rewriter.go:482
Object cleanup fix is partial for nested abstract fragments
minor

The helper now validates parent-type membership, but the cleanup change is narrow and does not add corresponding union-fragment cleanup pathways, so nested union-in-object scenarios are still under-protected.

v2/pkg/engine/plan/abstract_selection_rewriter_helpers.go:168