Repository navigation
fix(ordination): align varpart2 fraction order and F-statistic rtol in unit tests - #260
Conversation
…n unit tests - vegan::varpart2 orders `part$indfract` rows as `[a] = X1 | X2` (unique_x1), `[c] = X2 | X1` (unique_x2), `[b]` (shared overlap, 0 df), and `[d] = Residuals`. Align both `test/unit/test_ordination.jl` (`ind[2]` vs `ind[3]`) and the partial-Condition two-way `ind_rows` fallback in `src/analysis/ordination.jl` to that exact ordering. - Add `rtol=1e-9` alongside `atol=1e-8` on `res.f_statistic` in the pure-Julia reference comparison (`F ~ 820` computed from 12-decimal rounded fixture matrices has `1.7e-12` relative difference, `1.4e-9` absolute). - Use distinct sample column names (`c1..c3`, `t1..t3`) across the two fixture runs in `_ord_with_study_root` so independent samples do not inadvertently form 2-sample repeated-measures blocks. Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 22 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Fork governance
🟣 critical · commit
Hypatia scan: 146 finding(s)
panic-attack assail: 11 finding(s)
pons asinorum: 4 finding(s)
rhodibot (RSR compliance): not_run — enrolled, but no report-back was received
panicbot (panic recovery, error handling): not_run — enrolled, but no report-back was received
echidnabot (formal verification: proofs/): not_run — enrolled, but no report-back was received
seambot (integration health: API routes): not_run — enrolled, but no report-back was received
finishingbot (release readiness): not_run — enrolled, but no report-back was received
accessibilitybot (WCAG on the React UI): not_run — enrolled, but no report-back was received
glambot (presentation quality): not_run — enrolled, but no report-back was received
cipherbot: not_applicable — no cryptography is implemented in this repository
sustainabot: not_applicable — fleet adapter slot reserved; no adapter exists yet (gitbot-fleet README)
Scope: static findings reported by each row's tool at the named commit. Purple, red, yellow and blue grade the worst finding present; orange is evidence missing, malformed or a scanner that did not run; grey is an explicit scope exclusion with its reason. No row is a security certification. report.json, badge.json and the raw findings are in the verdict-grid artifact on the linked run. 🟢 conformant · commit
Scope: K9 components L0–L2 against contract v1.0.0 at the named standards commit. L3 signature verification and routed coordination-dialect files are not certified. Green is limited to this scope. Orange is missing evidence; yellow is grandfathered debt or warnings; grey is an explicit scope exclusion. report.json, badge.json and the validator logs are in the k9-grid artifact on the linked run. |



Summary
Follow-up test alignment for constrained ordinations (#19 / #258) caught on the full
Julia testsCI run (259/265passing on first run,0runtime errors):vegan::varpart2fraction order (test/unit/test_ordination.jl,src/analysis/ordination.jl):vegan::varpart2orderspart$indfractrows with the two testable unique fractions first ([a] = X1 | X2,[c] = X2 | X1), followed by[b](shared overlap,0 df) and[d] = Residuals. Alignsind[2]/ind[3]intest_ordination.jland the partial-Condition(...)two-wayind_rowstable insrc/analysis/ordination.jlto that exact ordering.f_statisticrelative tolerance (test/unit/test_ordination.jl): Addsrtol=1e-9alongsideatol=1e-8when comparingpure_linear_rda(...).f_statistic(F ≈ 820) against the 12-decimal roundedordination_reference.jsonfixture (1.7e-12relative difference,1.4e-9absolute).test/unit/test_ordination.jl): Usesc1..c3andt1..t3acrossControl/run1andTreatment/run2in_ord_with_study_rootso independent samples do not inadvertently trigger repeated-measures complete-enumeration warnings.