flux-pr-870
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 only partially matches intent. It adds `data_source_id` inside `trace` payloads (using `res.subgraphName`) rather than adding a fetch-operation-level source identifier (`source_id`) derived from planner/source metadata, so it does not implement the intended fetch node identification behavior. It also misses the default planner `IncludeInfo` propagation change in `execution/engine/engine_config.go` that the intended fix includes. JSON normalization/deduplication is implemented, but core tracing behavior differs.
Code Review
The patch likely does not fully satisfy the intended change: it appears to add data source IDs at the wrong trace layer, introduces high-risk custom normalization in a broad code path, and leaves planner-info propagation potentially incomplete.
The change adds `data_source_id` to `DataSourceLoadTrace` payloads and test expectations, but does not update fetch-tree node schema to emit per-fetch `source_id`. This likely fails the intended API/contract for correlating fetch operations to data sources.
`fetch.Trace.DataSourceID` is assigned three times consecutively in `loadSingleFetch`. This is harmless at runtime but indicates low patch quality and raises risk of nearby logic mistakes.
The patch sets `IncludeInfo` in one federation factory function only. It does not update default engine planner configuration construction, so code paths creating configuration from defaults may still miss planner info in traces.
A large custom recursive JSON normalizer was added in `printTraceExtension`, which broadens scope and complexity versus targeted trace-output compaction/dedup in loader-level trace data handling. This makes future tracing behavior harder to reason about.