Skip to content

Commit f631afb

Browse files
Return outlier_fences as a Vector, not a Tuple (fixes E2E serialisability assertion) (#31)
With the malformed `@test` macro fixed in #29, the E2E suite now actually runs its "report is JSON-serialisable" assertion — and catches a latent bug: `descriptive_stats` returned `outlier_fences` as a `Tuple{Float64,Float64}`, but the report contract only allows Number/String/Bool/Nothing/**Vector**. Emit `[lower, upper]` as a `Vector` so the value round-trips as a JSON array. No consumer indexes it tuple-specifically (repo-wide grep). This is the last known-red piece of the E2E suite on `main`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 47679e0 commit f631afb

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

src/stats/descriptive.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ function descriptive_stats(data::Vector{Float64})
101101
"min" => sorted[1],
102102
"max" => sorted[end],
103103
"range" => sorted[end] - sorted[1],
104-
"outlier_fences" => (q1 - 1.5 * iqr_val, q3 + 1.5 * iqr_val),
104+
"outlier_fences" => [q1 - 1.5 * iqr_val, q3 + 1.5 * iqr_val],
105105
"normality_hint" => abs(skew) < 2 && abs(kurt) < 7 ?
106106
"Approximately normal" : "Possibly non-normal"
107107
)

0 commit comments

Comments
 (0)