Skip to content

Feat/stipple typed studies UI - #73

Closed
hyperpolymath wants to merge 92 commits into
mainfrom
feat/stipple-typed-studies-ui
Closed

hyperpolymath wants to merge 92 commits into
mainfrom
feat/stipple-typed-studies-ui

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Base check

  • Base is hyperpolymath/MetaManifold-WebUI:main (not the upstream
    parent; application changes go to JoshuaJewell/MetaManifold-WebUI)

Changes

Engineering checklist

Required

  • bun run check passes (frontend/: typecheck 0 errors, tests,
    benchmarks)
  • scripts/check-spdx.sh / check-format.sh / check-lint.sh pass
    (advisory in CI — does not block merge)
  • Conventional commit subjects (see CONTRIBUTING.md; advisory in CI)
  • New source files carry the correct SPDX header (NOTICE explains
    the authorship rule)
  • No secrets, credentials, .env, or sequencing data included
  • No application-logic changes hidden inside alignment/tooling PRs

As applicable

  • CHANGELOG.md updated for user/developer-visible changes
  • docs/types/architecture.md updated if type boundaries moved
  • docs/testing/coverage.md updated if test coverage moved
  • New dependencies reviewed for licence compatibility
  • docs/reproducibility.md updated if environment requirements changed

Testing

… a better place one less R module at a time.
…nd working cutadapt -> vsearch-dada merge on default settings.
… of previously run stages. Created a versatile project structure.
….it was getting messy and altogether not worth it for now.
JoshuaJewell and others added 24 commits March 29, 2026 03:16
Squashed replacement for #6, which became undiffable after a history rewrite
on the fork severed its merge base.

Why this PR exists
------------------
PR #6 was opened from `hyperpolymath:main`. That branch was subsequently
rewritten with git-filter-repo to strip ~260 MiB of dead blobs (committed
node_modules, a long-gone `web/` directory, and three raw FASTQ pools that no
longer exist in the working tree): 269.35 MiB -> 9.23 MiB, ~96.6% reclaimed,
with the HEAD tree byte-identical at every stage.

The rewrite renamed every commit. GitHub resolves a merge base by SHA, so none
of the commits #6 shared with upstream matched afterwards and the base
collapsed to the repository's "Initial commit" of 2026-01-30. #6 therefore
reported 338 files / +65,566 / -22 - not new work, just the whole tree diffed
from January - and went CONFLICTING, which meant it ran no checks at all.

That is unrecoverable: the pre-rewrite head is readable through the API but is
on no ref, so `upload-pack` refuses to serve it.

What this PR is
---------------
One commit whose tree is byte-identical to `hyperpolymath:main` (tree
80269dd), applied on top of this repository's current `main` (ecefb1c).
The diff is 319 files / +23,681 / -6,076 and is reviewable as a normal change.

Per-commit granularity from the original 66 commits is lost; the content is
identical. Happy to split this into reviewable parts if you would prefer that.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X3hgXxWm6umMgZkjYyHnnm
Signed-off-by: Jonathan D.A. Jewell <jonathan.jewell@gmail.com>
…ntain permissions'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
…ntain permissions'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Sep 26, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 328 files, which is 228 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 6bb37e3f-b906-4d7f-b9f8-adfe07d3b52a

📥 Commits

Reviewing files that changed from the base of the PR and between e33e10f and eab8ea0.

⛔ Files ignored due to path filters (10)
  • data/MiSeq_SOP/run_A/F3D0_S188_L001_R1_001.fastq.gz is excluded by !**/*.gz
  • data/MiSeq_SOP/run_A/F3D0_S188_L001_R2_001.fastq.gz is excluded by !**/*.gz
  • data/MiSeq_SOP/run_A/F3D1_S189_L001_R1_001.fastq.gz is excluded by !**/*.gz
  • data/MiSeq_SOP/run_A/F3D1_S189_L001_R2_001.fastq.gz is excluded by !**/*.gz
  • data/MiSeq_SOP/run_B/F3D2_S190_L001_R1_001.fastq.gz is excluded by !**/*.gz
  • data/MiSeq_SOP/run_B/F3D2_S190_L001_R2_001.fastq.gz is excluded by !**/*.gz
  • docs/migration/api-inventory.csv is excluded by !**/*.csv
  • docs/migration/frontend-inventory.csv is excluded by !**/*.csv
  • frontend/bun.lock is excluded by !**/*.lock
  • renv.lock is excluded by !**/*.lock
📒 Files selected for processing (328)
  • .Rprofile
  • .bun-version
  • .editorconfig
  • .envrc
  • .gitattributes
  • .githooks/commit-msg
  • .githooks/pre-commit
  • .github/CODEOWNERS
  • .github/ISSUE_TEMPLATE/bug_report.yml
  • .github/ISSUE_TEMPLATE/config.yml
  • .github/ISSUE_TEMPLATE/feature_request.yml
  • .github/dependabot.yml
  • .github/pull_request_template.md
  • .github/workflows/ci.yml
  • .github/workflows/ui.yml
  • .gitignore
  • .gitmessage
  • CHANGELOG.md
  • CITATION.cff
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • Justfile
  • LICENSE
  • LICENSES/AGPL-3.0-only.txt
  • LICENSES/CC-BY-SA-4.0.txt
  • LICENSES/MPL-2.0.txt
  • Manifest.toml
  • NOTICE
  • Project.toml
  • R/_renv_dependencies.R
  • README.md
  • ROADMAP.md
  • SECURITY.md
  • bench/analysis_config/benchmark.jl
  • bench/comprehensive_benchmark.jl
  • bench/duckdb_aggregation/baseline.json
  • bench/duckdb_aggregation/benchmark.jl
  • bench/epistemic_parsing/baseline.json
  • bench/epistemic_parsing/benchmark.jl
  • bench/layer1_mock_recovery/datasets.yml
  • bench/layer1_mock_recovery/evaluate.jl
  • bench/layer1_mock_recovery/fetch.jl
  • bench/layer1_mock_recovery/report.jl
  • bench/layer1_mock_recovery/runner.jl
  • bench/permanova_nmds/baseline.json
  • bench/permanova_nmds/benchmark.jl
  • bench/table_loading/baseline.json
  • bench/table_loading/benchmark.jl
  • bench/tree_rendering/baseline.json
  • bench/tree_rendering/benchmark.jl
  • channels.scm
  • config/ci/databases.yml
  • config/ci/download_databases.jl
  • config/ci/lint_source.jl
  • config/ci/tools.yml
  • config/defaults/composition.yml
  • config/defaults/databases.yml
  • config/defaults/default_configs.md
  • config/defaults/pipeline.yml
  • config/defaults/primers.yml
  • config/defaults/tool_versions.yml
  • config/defaults/tools.yml
  • config/global_configs.md
  • config/schemas/analysis_config.ncl
  • config/schemas/analysis_config.schema.json
  • config/templates/analysis_config_chora.deed
  • data/MiSeq_SOP/pipeline.yml
  • docs/audit/type-system-reconnaissance.md
  • docs/compliance/fixme-index.md
  • docs/compliance/rsr-alignment.md
  • docs/compliance/standards-alignment.md
  • docs/issues/milestone3/01-tss-css-rss-offsets.md
  • docs/issues/milestone3/02-multinomial-dirichlet-multinomial.md
  • docs/issues/milestone3/03-occupancy-models.md
  • docs/issues/milestone3/04-constrained-ordinations.md
  • docs/issues/milestone3/05-ilr-basis-phylogenetic-sbp.md
  • docs/issues/milestone3/06-glm-gam-poi-bayesian-multiplicative.md
  • docs/issues/milestone3/README.md
  • docs/migration/BACKLOG.md
  • docs/migration/IMPLEMENTATION.md
  • docs/migration/README.md
  • docs/migration/STATUS.md
  • docs/migration/npm-deno-to-bun.md
  • docs/milestones/00-reconnaissance.md
  • docs/milestones/01-project-board-graphql.md
  • docs/milestones/02-baseline-tests-benchmarks.md
  • docs/milestones/02-deferred-issues.md
  • docs/milestones/02a-baseline-tests.md
  • docs/milestones/02b-benchmarks.md
  • docs/milestones/02c-cicd.md
  • docs/milestones/02d-project-board.md
  • docs/milestones/03-analysis-config-v1-milestone3.md
  • docs/milestones/03-analysis-config-v1.md
  • docs/milestones/04-project-board-and-prs.md
  • docs/milestones/BASELINE_TESTS_BENCHMARKS_CI_CD_PROJECT_BOARD_ESTABLISHED_Milestone2.md
  • docs/milestones/update-project-board-milestone3.sh
  • docs/release-notes/v0.1.0.md
  • docs/reproducibility.md
  • docs/testing/coverage.md
  • docs/testing/infrastructure.md
  • docs/testing/taxonomy-facets.md
  • docs/type-system/category-d-e-closure.md
  • docs/type-system/strict-mode-foundation.md
  • docs/types/architecture.md
  • docs/types/strict-mode-status.md
  • frontend/bench/baseline.json
  • frontend/bench/index.ts
  • frontend/bench/manifest.a2ml
  • frontend/index.html
  • frontend/package.json
  • frontend/playwright.config.ts
  • frontend/public/config.json
  • frontend/src/App.tsx
  • frontend/src/api/client.ts
  • frontend/src/api/errorMessage.ts
  • frontend/src/api/events.ts
  • frontend/src/api/figureColours.ts
  • frontend/src/api/types.ts
  • frontend/src/components/AdvancedAnalysisExpander.tsx
  • frontend/src/components/AnalysisConfigEditor.tsx
  • frontend/src/components/AnalysisControls.tsx
  • frontend/src/components/AnnotationPanel.tsx
  • frontend/src/components/AnnotationPanelControls.tsx
  • frontend/src/components/Breadcrumb.tsx
  • frontend/src/components/CardActions.tsx
  • frontend/src/components/CategorySetEditor.tsx
  • frontend/src/components/ChartCustomiser.tsx
  • frontend/src/components/ChartEditorInner.tsx
  • frontend/src/components/CladeCumulus.tsx
  • frontend/src/components/ComparisonPanel.tsx
  • frontend/src/components/CompositionPanel.tsx
  • frontend/src/components/ConfigAccordion.tsx
  • frontend/src/components/DangerBanner.tsx
  • frontend/src/components/DataTable.module.css
  • frontend/src/components/DataTable.tsx
  • frontend/src/components/DatabaseEditor.tsx
  • frontend/src/components/EditorCard.tsx
  • frontend/src/components/ErrorBoundary.tsx
  • frontend/src/components/EvidenceModeToggle.tsx
  • frontend/src/components/FilterEditor.tsx
  • frontend/src/components/JobBadge.module.css
  • frontend/src/components/JobBadge.tsx
  • frontend/src/components/NameDialog.tsx
  • frontend/src/components/PairEditor.tsx
  • frontend/src/components/PipelineStages.module.css
  • frontend/src/components/PipelineStages.tsx
  • frontend/src/components/PlotlyChart.tsx
  • frontend/src/components/PrimerListEditor.tsx
  • frontend/src/components/Skeleton.tsx
  • frontend/src/components/TaxaCompositionChart.tsx
  • frontend/src/components/Toast.tsx
  • frontend/src/components/VennPanel.tsx
  • frontend/src/components/alphaMetrics.tsx
  • frontend/src/components/annotationShared.ts
  • frontend/src/components/chartEditor.css
  • frontend/src/hooks/useAnalysis.ts
  • frontend/src/hooks/useApi.ts
  • frontend/src/hooks/useJobEvents.ts
  • frontend/src/hooks/useSSE.ts
  • frontend/src/layout/Layout.tsx
  • frontend/src/main.tsx
  • frontend/src/styles/app.css
  • frontend/src/types/__tests__/api-boundary.type-test.ts
  • frontend/src/types/__tests__/domain-state.type-test.ts
  • frontend/src/types/analysis_config.ts
  • frontend/src/types/api/cosmetics.ts
  • frontend/src/types/api/index.ts
  • frontend/src/types/api/tables.ts
  • frontend/src/types/components/index.ts
  • frontend/src/types/declarations.d.ts
  • frontend/src/types/domain/index.ts
  • frontend/src/types/plotly.ts
  • frontend/src/types/state/index.ts
  • frontend/src/utils/text.ts
  • frontend/src/utils/timeago.ts
  • frontend/src/views/CompositionsView.tsx
  • frontend/src/views/DatabasesView.tsx
  • frontend/src/views/DefaultConfigView.tsx
  • frontend/src/views/GroupView.tsx
  • frontend/src/views/JobsView.tsx
  • frontend/src/views/NotFoundView.tsx
  • frontend/src/views/PrimersView.tsx
  • frontend/src/views/RunView.tsx
  • frontend/src/views/SlugResolver.tsx
  • frontend/src/views/StudiesView.tsx
  • frontend/src/views/StudyView.tsx
  • frontend/src/vite-env.d.ts
  • frontend/tests/e2e/app.e2e.ts
  • frontend/tests/fixtures/gates/spdx-silence.txt
  • frontend/tests/fixtures/run-table-payload.json
  • frontend/tests/integration/api-client.test.ts
  • frontend/tests/manifest.a2ml
  • frontend/tests/unit/annotation-shared.test.ts
  • frontend/tests/unit/api-boundary-figure-colours.test.ts
  • frontend/tests/unit/api-error-message.test.ts
  • frontend/tests/unit/api-url.test.ts
  • frontend/tests/unit/component-contracts.test.ts
  • frontend/tests/unit/component-exports.test.ts
  • frontend/tests/unit/coupling-api-routes.test.ts
  • frontend/tests/unit/coupling-toolchain-pins.test.ts
  • frontend/tests/unit/figure-colours.test.ts
  • frontend/tests/unit/fuzz-totality.test.ts
  • frontend/tests/unit/job-event-bus.test.ts
  • frontend/tests/unit/plotly-chain.todo.test.ts
  • frontend/tests/unit/property-figure-colours.test.ts
  • frontend/tests/unit/rank-helpers.test.ts
  • frontend/tests/unit/reflexive-gates.test.ts
  • frontend/tsconfig.build.json
  • frontend/tsconfig.json
  • frontend/vite.config.ts
  • guix.scm
  • install.jl
  • install.sh
  • mise.toml
  • packaging/README.md
  • packaging/release-policy.toml
  • pipelinesteps.txt
  • precompile_exec.jl
  • renv/activate.R
  • renv/settings.json
  • scripts/check-blob-hygiene.sh
  • scripts/check-format.sh
  • scripts/check-lint.sh
  • scripts/check-spdx.sh
  • scripts/gen-tools-yml.sh
  • scripts/migrate_composition.jl
  • scripts/strip-history.sh
  • src/MetaManifold.jl
  • src/analysis/AnalysisConfig.jl
  • src/analysis/Execution.jl
  • src/analysis/analysis.jl
  • src/analysis/analysis_config.jl
  • src/analysis/clade_cumulus.jl
  • src/analysis/diversity.jl
  • src/annotation/funcdb.jl
  • src/core/categories.jl
  • src/core/composition_library.jl
  • src/core/config.jl
  • src/core/databases.jl
  • src/core/databases_library.jl
  • src/core/duckdb_store.jl
  • src/core/epistemic.jl
  • src/core/log.jl
  • src/core/primers_library.jl
  • src/core/project.jl
  • src/core/provenance.jl
  • src/core/r_runtime.jl
  • src/core/types.jl
  • src/core/validate.jl
  • src/pipeline/dada2.jl
  • src/pipeline/dada2/chimera.jl
  • src/pipeline/dada2/context.jl
  • src/pipeline/dada2/dada2_functions.r
  • src/pipeline/dada2/denoise.jl
  • src/pipeline/dada2/qc.jl
  • src/pipeline/dada2/taxonomy.jl
  • src/pipeline/dada2/taxonomy_remote.r
  • src/pipeline/merge_taxa.jl
  • src/pipeline/swarm.jl
  • src/pipeline/tools.jl
  • src/server/jobs.jl
  • src/server/routes/analysis.jl
  • src/server/routes/analysis_config.jl
  • src/server/routes/annotations.jl
  • src/server/routes/composition.jl
  • src/server/routes/config.jl
  • src/server/routes/databases.jl
  • src/server/routes/duckdb_helpers.jl
  • src/server/routes/events.jl
  • src/server/routes/jobs.jl
  • src/server/routes/pipeline.jl
  • src/server/routes/results.jl
  • src/server/routes/runs.jl
  • src/server/routes/studies.jl
  • src/server/server.jl
  • start.sh
  • test/fixtures/provenance/cd_hit_est_help_stdout.txt
  • test/fixtures/provenance/cutadapt_version_stdout.txt
  • test/fixtures/provenance/fastqc_version_stdout.txt
  • test/fixtures/provenance/multiqc_version_stdout.txt
  • test/fixtures/provenance/swarm_version_stderr.txt
  • test/fixtures/provenance/swarm_version_stdout.txt
  • test/fixtures/provenance/vsearch_version_stderr.txt
  • test/fixtures/provenance/vsearch_version_stdout.txt
  • test/integration/test_pipeline.jl
  • test/integration/test_server.jl
  • test/runtests.jl
  • test/unit/test_analysis.jl
  • test/unit/test_analysis_config.jl
  • test/unit/test_analysis_config_milestone3.jl
  • test/unit/test_analysis_duckdb.jl
  • test/unit/test_categories.jl
  • test/unit/test_composition.jl
  • test/unit/test_composition_library.jl
  • test/unit/test_config.jl
  • test/unit/test_config_hashing.jl
  • test/unit/test_dada2_commands.jl
  • test/unit/test_databases.jl
  • test/unit/test_databases_library.jl
  • test/unit/test_diversity.jl
  • test/unit/test_duckdb_store.jl
  • test/unit/test_execution.jl
  • test/unit/test_funcdb.jl
  • test/unit/test_install_pins.jl
  • test/unit/test_jobs.jl
  • test/unit/test_log.jl
  • test/unit/test_merge_taxa.jl
  • test/unit/test_merge_taxa_mappings.jl
  • test/unit/test_migrate_composition.jl
  • test/unit/test_primers_library.jl
  • test/unit/test_project.jl
  • test/unit/test_provenance.jl
  • test/unit/test_r_runtime.jl
  • test/unit/test_read_conservation.jl
  • test/unit/test_routes.jl
  • test/unit/test_tools.jl
  • test/unit/test_validation.jl
  • ui/Manifest.toml
  • ui/Project.toml
  • ui/README.md
  • ui/serve.jl
  • ui/src/BackendClient.jl
  • ui/src/Contracts.jl
  • ui/src/MetaManifoldUI.jl
  • ui/src/style.css
  • ui/test/browser.cjs
  • ui/test/fixture_server.jl
  • ui/test/runtests.jl

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


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.

@arena-ai-coding-agent

Copy link
Copy Markdown

Triaged 2026-09-26 (Arena backlog sweep).

Closing as a wrong-base duplicate — the live version of this work is JoshuaJewell#7, where this exact branch (feat/stipple-typed-studies-ui @ eab8ea0) is CLEAN/MERGEABLE.

Why this PR cannot work here:

  • Same head branch is already open upstream as parent feat(ui): Full Evidence Mode — epistemic editor, fiber visualizer #7 ("squashed replacement for feat(cladistics): CladeCumulus phylogenetic integration #6"). Per this repo's own PR template, application changes go to JoshuaJewell/MetaManifold-WebUI.
  • Fork main was rewritten with git-filter-repo (~260 MiB stripped), severing the merge base back to the initial commit — so this PR renders as a 338-file / +65k whole-tree diff and is CONFLICTING. That diff is base-mismatch noise, not the real change.
  • The real change (upstream main..this branch) is 319 files / +22.7k and merges cleanly upstream.

Nothing is lost: the branch is untouched, parent #7 stays open, and a proposed split of that 319-file change into reviewable stacked PRs is being prepared. Reopen if you disagree.

hyperpolymath added a commit that referenced this pull request Sep 26, 2026
…67 archive (#76)

## Summary

Triages the notification backlog (see
`docs/triage/2026-09-26-notification-backlog.md`). Docs + tooling only;
no application-logic changes.

**Already done alongside (not in this diff):**
- Closed fork #73 as a wrong-base duplicate of parent #7 (same branch,
clean upstream).
- Owner merged fork #75 mid-triage → fork #20 auto-closed. Post-merge
verification still owed once CI runs.
- Deleted stale branch `arena/01a0db67` at owner's request after
archiving it here.

## Changes

- `docs/triage/2026-09-26-notification-backlog.md` — every open PR/issue
on fork + parent triaged; CI outage diagnosed (file-based workflows
`startup_failure` repo-wide since 2026-09-25 22:19 UTC;
settings/platform-side, owner steps in runbook).
- `docs/triage/pr7-split/` — parent #7's 319-file change as 14 disjoint
stacks (`STACKS.md` review guide, `RUNBOOK.md` with merge-as-is vs
stacked-PRs options, `make-stacks.sh` regenerates + verifies: disjoint,
full coverage, sequential apply reproduces the branch tree exactly).
- `docs/triage/db67-rescue/` — archived deleted branch as a verified
byte-exact patch + restore instructions.
- `.gitignore` — track `docs/triage/`, ignore derived 4.5 MB stack
patches.

## Verification

- `scripts/check-spdx.sh`: OK (new .md/.sh carry fork-series headers).
- Format essentials (LF, final newline, no trailing WS in non-prose):
clean.
- `make-stacks.sh`: 14 stacks, disjoint, cover all 319 files, reproduce
branch tree exactly.
- `db67-rescue/deleted-branch.patch`: recreates the deleted branch tree
exactly.

## Note on CI

File-based workflows cannot start repo-wide right now (the outage
diagnosed in the report), so expect `startup_failure` — unrelated to
this docs-only change. Re-run once the owner fixes Actions.

---------

Co-authored-by: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com>
@hyperpolymath
hyperpolymath deleted the feat/stipple-typed-studies-ui branch September 27, 2026 05:23
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.

2 participants