Skip to content

feat(cladistics): CladeCumulus cumulative explorer with epistemic colours and drag-drop - #12

Merged
hyperpolymath merged 2 commits into
mainfrom
feat/clade-cumulus
Sep 18, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
feat/clade-cumulus

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Implements CladeCumulus — Cumulative Cladistic Explorer

  • Tree with cumulative frequencies bottom-up
  • Epistemic colour coding #2e7d32 present_in_every, #f9a825 some, #9e9e9e absent, #c62828 sans_fibre
  • Cloud sizing by residual count log(1+residual)*10+5
  • Drag-and-drop with live present_in_every_admissible_world validation via API
  • Evidence Mode toggle, clean non-cluttered UI
  • Backend routes: clade-cumulus tree and validate-drag
  • Frontend: CladeCumulus.tsx SVG tree, Evidence Mode gated

Project Board

Linked to https://github.com/users/hyperpolymath/projects/45

  • Status: In Progress -> Review
  • Method: CladeCumulus
  • Risk: Medium

Closes

Closes #10

Dependencies

  • Depends on AnalysisConfig v1 (epistemic bridge)
  • Branch includes AnalysisConfig as dependency for standalone review, will be rebased after first PR merges

Testing

  • Same test suite as AnalysisConfig
  • Manual drag-drop validation tested via API

UI

  • Only appears when Evidence Mode enabled
  • No silent switching

@coderabbitai

coderabbitai Bot commented Sep 18, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 56 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: de9fbbbd-d3e8-40d9-ade4-ad82575f7bbc

📥 Commits

Reviewing files that changed from the base of the PR and between 30ff6cd and 451dabe.

📒 Files selected for processing (2)
  • docs/milestones/03-analysis-config-v1.md
  • docs/milestones/04-project-board-and-prs.md

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hyperpolymath
hyperpolymath marked this pull request as ready for review September 18, 2026 16:15
hyperpolymath added a commit that referenced this pull request Sep 18, 2026
- 00-reconnaissance.md, 01-project-board-graphql.md, 02-deferred-issues.md were missing SPDX
- Now CC-BY-SA-4.0 for prose docs per check-spdx policy
- Fixes CI failure in PR #11 and #12 licence header check
@hyperpolymath
hyperpolymath merged commit abdcd0c into main Sep 18, 2026
@hyperpolymath
hyperpolymath deleted the feat/clade-cumulus branch September 18, 2026 16:15
@sonarqubecloud

Copy link
Copy Markdown

hyperpolymath added a commit that referenced this pull request Sep 18, 2026
…lestone 2 (#14)

## Milestone 2 — BASELINE TESTS + BENCHMARKS + CI/CD + PROJECT BOARD
ESTABLISHED

### 1. Full existing test suite and pathways documented
- Frontend: 581 pass, 5 todo (PlotlyChart etc DOM lane), 0 fail, 3350
expects, 415ms, coverage 40% funcs 47% lines, typecheck ~3s
- Julia: 27 unit files 6830 lines (diversity, merge_taxa, config,
validation, tools, analysis, duckdb_store, analysis_duckdb,
config_hashing, project, log, databases, merge_taxa_mappings, funcdb,
routes, composition, composition_library, primers_library,
databases_library, categories, read_conservation, r_runtime,
dada2_commands, jobs, provenance, install_pins, migrate_composition),
integration opt-in test_pipeline (DADA2 mock), server opt-in
test_server, CI timings 15-20 min, local sandbox RAM blocked 876Mi vs
2.5GB required per Justfile
- Recorded in docs/milestones/02-baseline-tests-benchmarks.md

### 2. Comprehensive benchmarks added
- Julia: bench/table_loading (sample_columns, filtered_counts,
filtered_df, taxonomy_levels, taxon_column), bench/epistemic_parsing
(avec_fibre_parse, epistemic_colour #2e7d32/#f9a825/#9e9e9e/#c62828,
cloud_size log, present_in_every, warrant_logic),
bench/duckdb_aggregation (aggregate_by_taxon, venn_taxa_present,
bar_chart, taxa_bar_chart, alpha_chart), bench/permanova_nmds (richness,
shannon, simpson, rarefy partial Fisher-Yates, normalise_counts,
alpha_boxplot, nmds_chart, run_nmds), bench/tree_rendering (CladeCumulus
build_tree bottom-up cumulative, colour, cloud_size, validate_drag_drop,
to_plotly_tree sunburst, to_json, svg_rendering),
bench/comprehensive_benchmark.jl runner
- Frontend: extended from 2 to 7 workloads (run-table-json-parse,
figure-colour-overrides, table-loading-sample-columns,
epistemic-parsing, duckdb-aggregation, permanova-nmds,
tree-rendering-clade-cumulus) with deterministic checksums (LCG
(i*9301+49297)%1000), all checksums verified, baseline.json updated
- Baselines: baseline.json per category with median seconds, fails on
>10% regression when CI=true

### 3. CI/CD extended
- File: .github/workflows/ci.yml
- Removed Codecov residue (codecov.yml, badge, codecov-action → local
artifact julia-coverage-lcov)
- Added frontend benchmark regression check >10% (Node script)
- Added Julia comprehensive benchmarks (5 categories + comprehensive)
- Added check benchmark regression >10%
- Upload artifacts: frontend-tests-benchmarks (junit, lcov,
results.json, baseline.json), julia-coverage-lcov,
julia-benchmarks-comprehensive
- Added new test categories analysis-config and cladistic-explorer (if
present)
- Runs on every push/PR, fail on >10% regression

### 4. Project board
- Board: https://github.com/users/hyperpolymath/projects/45 — Analysis
Layer & Cladistics Development (PVT_kwHOAGclzc4Bj75p)
- Fields: Status (Backlog, In Progress, Review, Done, Blocked), Method
(NB_GLM, CLR_LM, ILR_LM, LOGISTIC, CladeCumulus, Epistemic, Infra), Risk
(Low, Medium, High, Scientific)
- Issues: #3-#10, #13 already linked, now adding Milestone 2 issue
- PRs: #11, #12, #13 linked

### Commits
- 7dd8257 feat(bench): comprehensive benchmarks...
- b893cec docs(milestone): add Milestone 2 report

### Checklist
- [x] Tests documented with pass/fail and timings
- [x] Benchmarks for table_loading, epistemic_parsing,
duckdb_aggregation, permanova_nmds, tree_rendering
- [x] CI extended with regression gate >10%, artifacts, new categories
- [x] Project board created and linked, milestones as issues

Closes: Milestone 2

Project: https://github.com/users/hyperpolymath/projects/45
hyperpolymath added a commit that referenced this pull request Sep 18, 2026
…t doc)

- Board https://github.com/users/hyperpolymath/projects/45 PVT_kwHOAGclzc4Bj75p user-level PAT lacked read:org
- Fields Status (Backlog, In Progress, Review, Done, Blocked), Method (NB_GLM, CLR_LM, ILR_LM, LOGISTIC, CladeCumulus, Epistemic, Infra), Risk (Low, Medium, High, Scientific) via GraphQL createProjectV2Field updateProjectV2Field String! option id pitfall
- Issues #3-#10 #15 via REST, 13 items total, PRs #11 #12 #13 #14 linked via addProjectV2ItemById
- Automation planned add-to-project@v0.5.0 with PROJECT_PAT secret
- Security PAT redacted, should be revoked
- SPDX CC-BY-SA-4.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(cladistics): CladeCumulus — cumulative cladistic explorer with epistemic colours

1 participant