Skip to content

Fix PR 69 quoted-filter regression and coverage diagnostics - #312

Merged
hyperpolymath merged 1 commit into
codex/issue-65-descriptive-statisticsfrom
arena/7ea6ca86-metamanifold-webui
Nov 8, 2026
Merged

hyperpolymath merged 1 commit into
codex/issue-65-descriptive-statisticsfrom
arena/7ea6ca86-metamanifold-webui

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Follow-up to JoshuaJewell#69. This stacked delivery keeps the Arena working branch intact while landing the reviewed fixes on the existing PR head.

  • Correct the saved-table fixture: its numeric filter referenced Pident, absent from merged_aliases.
  • Execute text/include/exclude filters against the quoted identifier and assert exact counts and persisted provenance.
  • Preserve refusal of lossy numeric count filters before SQL construction.
  • Retain coverage after test failures and expose descriptive-statistics gaps in check annotations; Codecov still receives only passing runs.
  • Add explicit derived-record I/O and storage-limit regressions.

Local validation: bun 1.3.10, 68 frontend tests / 206 assertions, production build, TypeScript check, independent Python reference controls, REUSE 6.2.0, CI YAML parse and coverage-report shell fixture. The full pinned Julia 1.12.5 / R 4.5.0 suite runs on upstream PR #69 after this lands. No runtime dependencies, toolchain pins, generated outputs, scientific approvals, or issue #65 status are changed.

The saved-table fixture now includes the numeric metadata column its regression filters. Exercise quoted identifiers through real text/include/exclude predicates and assert exact selected counts and persisted provenance. Keep numeric count-filter refusal ahead of lossy SQL casts.

Retain coverage after a failed assertion, expose descriptive-statistics gaps through check annotations, and test record I/O/storage limits. Coverage remains informational; only a passing suite publishes to Codecov.

Signed-off-by: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com>

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

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ❌ Failed 2026-11-08T01:38:42.969389Z
We couldn’t complete this review. Comment @codex review to try again.
87c10a8 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Nov 8, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 8687a3bd-cd73-44e5-9844-3b2dcd7ef489

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
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@sonarqubecloud

sonarqubecloud Bot commented Nov 8, 2026

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit db93540 into codex/issue-65-descriptive-statistics Nov 8, 2026
3 checks passed
@hyperpolymath
hyperpolymath deleted the arena/7ea6ca86-metamanifold-webui branch November 8, 2026 01:40
hyperpolymath added a commit that referenced this pull request Nov 11, 2026
## Change and reason

The `Julia tests` job fails on
[JoshuaJewell#69](JoshuaJewell#69)
at head `1e58411`: 6590 pass, 9 fail (run 42435863478). All 9 failures
are in tests that
[#312](#312)
added without a Julia run. In each case the code is right and the test
expectation is wrong.

1. **Quoted-column filters** (`test_validated_statistics.jl`, 6
failures). The response has one entry per sample. Each sample has its
own count for the one remaining feature. The test read all four counts,
and their sum, from the first sample. It now checks every sample by
label: `2`, `20`, `200` and `"9007199254740993"`.
2. **Numeric count filter** (2 failures). The test sent `max` as
`9007199254740993` and expected the 422 count-filter refusal. The
request parser refuses an unsafe integer token first, with 400. The test
now sends a safe bound for the 422 case, and it asserts the 400 for the
unsafe token.
3. **Unreadable derived record** (`test_derived_analyses.jl`, 1
failure). The test read a directory and expected an I/O error. In Julia,
`read` on a directory returns no bytes and raises nothing. The test now
uses a Unix-domain socket path. Its open fails for every user, root
included.

No production code changes. This pull request targets the branch of
upstream PR 69. A merge here updates that pull request.

## Validation

Julia 1.12.5, from the repository root:

```bash
julia --project=. test/runtests.jl test_derived_analyses.jl test_validated_statistics.jl
```

- At `1e58411`: 487 pass, 9 fail. These are the same 9 failures as in
CI.
- At this head: 528 pass, 0 fail.
- I printed the real response for the filtered request. It has four
samples with counts `[2]`, `[20]`, `[200]` and `["9007199254740993"]`.
- I checked the directory behaviour directly: `read(directory)` returns
`UInt8[]`, and `read(socket path)` raises `SystemError`.

Not run: the full suite, the integration and server tests, and the
frontend tests. No workflow runs on this pull request, because `ci.yml`
on this branch starts only for pull requests into `main`. The upstream
CI runs after the merge.

## Scope

- The socket-path test also covers `src/analysis/derived_analyses.jl`
line 79, which CI listed as a coverage gap.
- Five uncovered patch lines remain from the CI list. They are not part
of this fix:
- `src/server/routes/validated_statistics.jl` 229 and 230: the catch
around `_body_filter_params`.
- `src/server/routes/validated_statistics.jl` 296: a float
`time_limit_seconds`.
  - `src/analysis/derived_analyses.jl` 127: the lost hardlink race.
- `src/canonical.jl` 220: this branch looks unreachable, because `repr`
of a finite `Float64` always contains a `.`.
- No lockfile change.

## Contribution checks

- [x] I followed
[CONTRIBUTING.md](https://github.com/JoshuaJewell/MetaManifold-WebUI/blob/main/CONTRIBUTING.md).
- [x] This branch starts at the head of PR 69 (`1e58411`) and contains
no merges from fork main.
- [ ] Every commit is signed and shows as Verified. (The managed signing
identity decides this.)
- [ ] CI has run and passes. (No workflow runs here. See Validation.)
- [x] Existing licensing, citation and acknowledgement text is
unchanged.

---
_Generated by [Claude
Code](https://claude.ai/code/session_0136P7ZoTPXfxg1C85rVNx78)_

Co-authored-by: Claude <noreply@anthropic.com>
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