Skip to content

fix(analysis): refuse deferred ILR bases and fix 4-sample test gate - #63

Merged
hyperpolymath merged 1 commit into
mainfrom
arena/01a0da6d-metamanifold-webui
Sep 25, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
arena/01a0da6d-metamanifold-webui

Conversation

@arena-ai-coding-agent

Copy link
Copy Markdown

Summary of Changes

  1. Refusal of Deferred ILR Bases:

  2. Balance Row Labelling & Integrity:

    • Relabels ILR rows to balance_1..balance_n-1.
    • Records ILR provenance and diagnostics in diagnostics.checks["ilr"].
    • Prevents all-zero-taxa healing from restoring original taxon labels onto balance rows.
  3. CI Test Suite Fix:

    • Updates prepare_analysis_table keeps counts and hands over the offset test in test/unit/test_scaling.jl to use a 4-sample fixture (table_4), satisfying the min_samples_per_group=2 requirement (>= 2 * 2 = 4 samples).
    • Adds unit tests for deferred basis refusal and balance row labelling.
    • Updates RCall usage to rcopy(reval(...)).
  4. Documentation & Outreach:

    • Adds docs/owner-review-2026-09-25.md (with CC-BY-SA-4.0 SPDX header) and CHANGELOG entry.

- Refuse deferred ILR bases (phylogenetic, sequential_binary_partition,
  balance_dendrogram) at construction and in prepare_analysis_table.
- Relabel ILR rows to balance_1..n-1 and record basis/taxa diagnostics in
  checks["ilr"].
- Prevent taxon labels from being restored onto balance rows during healing.
- Update prepare_analysis_table test fixture in test/unit/test_scaling.jl
  to 4 samples to satisfy min_samples_per_group requirement.
- Add owner review document (docs/owner-review-2026-09-25.md).

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Sep 25, 2026

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: b866e1fd-2c7d-459d-8f1e-b0e9b8691738

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

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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 merged commit e26d6f2 into main Sep 25, 2026
5 of 6 checks passed
@hyperpolymath
hyperpolymath deleted the arena/01a0da6d-metamanifold-webui branch September 25, 2026 21:28
hyperpolymath added a commit that referenced this pull request Sep 25, 2026
## Why

Julia tests on `main` have been red since #60, and the reason was never
visible: the job log is served from a blob host that some environments
cannot reach, and the one annotation the step posted (the last 6000
bytes of output) was truncated by the checks API at 4096 bytes — which
cut it off exactly before the failing testset. For `e26d6f2` (#63) all
it shows is that `Scaling — TSS, CSS, RSS/TMM and size factors (issue
#16)` has a failure.

## What

The "Run tests" step, on failure only, now posts:

- one `::error` annotation per failing assertion (the Test.jl block
starting at `Test Failed at` / `Error During Test at`, up to 60 lines /
3500 bytes, max 8), and
- one summary annotation holding only the `Test Summary` rows whose Fail
or Error column is non-empty (found by the header's column positions),
plus the `ERROR:` line.

If no failure block is found (e.g. a load error), the old tail
annotation is posted as a fallback. The test command and its exit status
are unchanged.

## Verified

- YAML re-parses; spdx/format/blob-hygiene gates clean.
- The extraction shell was run against a synthetic Test.jl log (one
`Test Failed`, one `Error During Test` with `Got exception outside of a
@test`, nested summary) and produced exactly two failure annotations and
a summary with only the failing rows.

## Not claimed

This does **not** fix the red test. It makes the failure readable so the
next PR can fix it rather than guess. This PR's own CI run should fail
the same way as `main` and name the assertion.

Co-authored-by: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com>
hyperpolymath added a commit that referenced this pull request Oct 19, 2026
…hreshold

Compute the best reported weight in the existing query list, retain absent/invalid weights as missing throughout the viewer, and save a threshold with view settings. Avoid assigning a best location or weighted counts when candidate weights are incomplete.

Frontend-only reduction requested on upstream #63. bun 1.3.10: 46 tests, TypeScript and production build passed.
hyperpolymath added a commit that referenced this pull request Oct 22, 2026
…hreshold

Compute the best reported weight in the existing query list, retain absent/invalid weights as missing throughout the viewer, and save a threshold with view settings. Avoid assigning a best location or weighted counts when candidate weights are incomplete.

Frontend-only reduction requested on upstream #63. bun 1.3.10: 46 tests, TypeScript and production build passed.
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.

1 participant