Repository navigation
Fix PR 69 quoted-filter regression and coverage diagnostics - #312
hyperpolymath merged 1 commit into
Conversation
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>
Codex Review Summary: ❌ FailedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
|
db93540
into
codex/issue-65-descriptive-statistics
## 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>



Follow-up to JoshuaJewell#69. This stacked delivery keeps the Arena working branch intact while landing the reviewed fixes on the existing PR head.
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.