Repository navigation
Null-calibration bench + small-sample caveat (#193), with cross-PR integration repair - #214
Conversation
#193) Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
…nifold-webui # Conflicts: # README.md # config/defaults/pipeline.yml # frontend/src/api/types.ts # frontend/src/components/PipelineStages.tsx # frontend/src/components/differentialTable.ts # src/analysis/differential.jl Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
The squash merges of #196-#207 left main unable to build: PR-branch conflict resolutions overwrote each other's differential method registry, dropped the compositional include and cladistics routes, duplicated the clade-cumulus include and frontend panel import, and corrupted _differential_settings_error. - MetaManifold.jl: restore analysis/compositional.jl, include clade_cumulus.jl once; server.jl includes routes/cladistics.jl and routes/clade_cumulus.jl. - differential.jl: rebuild the 9-method registry and DifferentialConfig union (mn/dm optimiser + mc_samples), restore ancom_bc/aldex2/ songbird and multinomial dispatch branches alongside the two-part models; routes build the union config; config validation regains the mn/dm cross-key rules. - Frontend: union DifferentialMethod/config/diagnostics types, restore cladistics client imports, alias the cladistics panel so it no longer collides with the clade-cumulus panel, restore per-method CSV config lines and PipelineStages entries for all nine methods. - Tests that pinned pre-union method lists and the 11-column CSV are updated to the union reality. Frontend: tsc clean, bun test 87/87, production build passes. Julia: exercised by CI (no Julia runtime in the authoring sandbox). Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
|
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 39 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 |
…nifold-webui # Conflicts: # config/defaults/pipeline.yml # frontend/src/api/types.ts # frontend/src/components/PipelineStages.test.ts # frontend/src/components/PipelineStages.tsx # frontend/src/components/differentialTable.ts # frontend/src/views/StudyView.tsx # src/analysis/differential.jl # src/server/routes/analysis.jl # test/unit/test_differential.jl Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Fork governance
🟣 critical · commit
Hypatia scan: 141 finding(s)
panic-attack assail: 19 finding(s)
pons asinorum: 10 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. |
…nifold-webui # Conflicts: # README.md Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
|
…ion) (#218) Follow-up to #214: `main` CI still fails at 'Run validated-statistics tests first'. **Root cause** (reproduced against DuckDB locally): `_validated_duckdb_counts` selected bare count columns beside `GROUP BY <feature>`: ``` Binder Error: column "s1" must appear in the GROUP BY clause or must be part of an aggregate function ``` so `POST /api/v1/studies/{study}/runs/{run}/statistics/summaries` returned 500 and `test_validated_statistics.jl:180` failed on every branch. **Fix:** fetch rows `ORDER BY feature` and sum rows sharing a feature in Julia `BigInt`. Aggregating in SQL is not an option: `SUM` over HUGEINT counts overflows exactly the values this path exists to keep exact (the test sums 2^126 + 2^126). Per-cell missing/negative/non-integer validation is unchanged; the cell budget is now checked on aggregated features. Julia evidence is CI on this PR (no Julia runtime in the authoring sandbox; the SQL failure itself was reproduced with Python duckdb 2.0.0). --------- Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
…ute loading (#222) Follow-up to #214/#218. With the frontend, differential and validated-statistics suites green, the Julia suite stands at 817 pass / 3 fail / 14 error — every remaining failure inside the CladeCumulus testset from #207, masked until now by the broken build. - `_graft_jplace_queries` read `QueryCandidate.weight/.distal_length/.pendant_length`; the fields are `like_weight/distal_len/pendant_len` (FieldError on any valid graft). - `PLACEMENT_WEIGHT_SUM_TOL = 1e-5` marked a single retained placement at LWR 0.98 undecided; truncated candidate lists legitimately sum to slightly less than 1, so tolerance is 0.05 (0.40 still undecided). - The Newick label reader consumed `[&&NHX:B=92]` after `)` without capturing it; capture refs are threaded through `read_label_and_quoted`. - The sources route enumerated views via `SHOW TABLES` and then could not bind a session-registered DataFrame view on a fresh connection (500); it now uses `duckdb_tables()`. - `_load_run_table_df` rejected JSON3 `SubString` table names; arguments normalise to `String` at the boundary. - The FastTree mock in tests addressed `PH.Tools`, but `Phylogeny` imports only selected names from `Tools`; it now addresses `MetaManifold.Tools`. Julia evidence is CI on this PR (no Julia runtime in the authoring sandbox). --------- Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>



Why
This branch carries the fork-side resolution of #193 and, because the squash merges of #196–#207 left
mainunable to build the frontend or load the Julia package, the integration repair needed to land anything at all. A file-by-file audit (every squash commit matched its PR-head tree exactly) traced the breakage to PR-branch conflict resolutions overwriting each other:include("analysis/compositional.jl")whiledifferential.jlrequires..CompositionalModels.routes/cladistics.jlwithroutes/clade_cumulus.jl.DifferentialConfigreferenced undefinedmn_*/dm_*/max_*names, the ancom_bc/aldex2/songbird and multinomial dispatch branches were unreachable, and_differential_settings_errorcalled an undefinedkeys_.What
#193 (
ad7f5f2):bench/null_calibration/extracts the production NB R block and measures Wald/LRT null rejection (WebR + genuine MASS 7.3-65 reduced run executed; full grid +wald_trend/glmGamPoi QL/edgeR committed unrun —REPORT.mdbounds exactly what ran).nb_glmresults carrydiagnostics.calibration_caveat(everymlresult, scaled by the smaller group;glmGamPoithrough 12/group), surfaced in the panel and CSV header. No p-value or default changes.Merge (no-ff, by request): current
mainmerged in; conflicts resolved onto main-side structure with the #193 changes reapplied.Integration repair (
1335ccd): nine-method registry/config/dispatch union, compositional + cladistics/clade-cumulus routes restored, frontend type/config/CSV unions, panel import disambiguated, stale test pins updated to the union.Verification
tscclean,bun test87/87, production build passes.Refs #193 (fork-side bench + warning per maintainer decision; upstream default remains the upstream maintainer's call — draft in
bench/null_calibration/UPSTREAM_DRAFT.md).