Repository navigation
feat(analysis): exact multiplicative zero replacement, TSS offsets, and epistemic receipts - #59
Merged
Merged
Conversation
arena-ai-coding-agent
Bot
requested a review
from hyperpolymath
as a code owner
September 24, 2026 08:13
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
- Implement exact Martín-Fernández (2003) multiplicative replacement and Martín-Fernández (2015) Bayesian Dirichlet replacement, strictly preserving total sample depth and subcompositional ratios (Refs #21) - Implement exact TSS offsets for NB_GLM, preserving raw count response tables and providing log(lib_sizes) offsets without double-normalization (Refs #16) - Add Standpoint, TaxonWarrant, ProjectionY, and SHA-256 Receipt verification to Epistemic.jl with URI encoding for the avec_fibre column, integrating with EpistemicTypes.jl, Protoctist.jl, and echo-types - Add disambiguate_zero (Val(:true_absence) vs Val(:undetected)), formalizing the boundary between biological absence and detection limits (Refs #18, absolute-zero) - Add comprehensive unit tests in test_execution.jl and test_analysis_config.jl Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
arena-ai-coding-agent
Bot
force-pushed
the
arena/01a0d269-metamanifold-webui
branch
from
September 24, 2026 08:14
2a870f2 to
e31e559
Compare
hyperpolymath
approved these changes
Sep 24, 2026
hyperpolymath
added a commit
that referenced
this pull request
Oct 17, 2026
… work (#178) ## Purpose Make the fork's anticipated upstream state concrete while Joshua's reviews/merges remain pending. This is a **draft baseline proposal**, not evidence that upstream has merged anything. The proposed file tree is exactly JoshuaJewell/main at `52feb605176a4b140f4b40c2b74d2f18adec1f72` plus: - upstream #59 at `3c9d352e1f6c85353c2d78ef1ebf28e5fb64c263` - upstream #60 at `ea974a2328f7f44ad9afeb2f10e5803cd4e31e62` - upstream #61 at `d9ea982dc97c958405e1ff6f57f1b0d8d9b221d1` Resulting tree: `b27daa7f1aa5fa84f320ddae522fa5f2a15ebef5`. ## Effect on fork main This deliberately removes fork-only content from the proposed active baseline: 74 files differ from current main. The existing main commit `491a3e0702ca8ca40e411860d6166523b298b3ac` is the first parent, and all three repair heads are additional parents, preserving the work in history. No existing branch is deleted or rewritten. Do not submit this integration branch upstream. **Before merging:** decide whether main should be the upstream-aligned baseline, with unfinished work isolated onto feature branches. This PR removes real fork features from the active tree, not just stale merge metadata. Recheck upstream and repair heads after Joshua's final decisions; their eventual file tree may change. ## Branch audit There were seven total branches when inspected: main and six additional branches. | Branches | Finding | Disposition | | --- | --- | --- | | repair/permanova-proofs | Clean pending upstream #59 | Keep until merged | | repair/documentation | Clean pending upstream #60 | Keep until merged | | repair/dada2-base-r | Clean pending upstream #61 | Keep until merged | | upstream/permanova-proofs, upstream/docs-community, upstream/dada2-base-r | All three have identical tree 2361ab8; old contaminated submissions, not independent WIP | Retire after baseline decision; no unique feature work needs completing on these branches | | main | Contains additional work beyond the repaired upstream contributions | Preserve and isolate selected changes | Compared with the old three branches, main changes only .gitignore, the differential fixture, the restored deferred-issues specification and removal of the duplicate root code of conduct. Their substantive work is preserved. ## Genuine work to isolate and finish These are code-review findings, not claims that the features have passed a fresh full validation. | Work | Evidence / remaining work | | --- | --- | | glmGamPoi dispersion | Actual implementation and configuration exist, but glmGamPoi is absent from renv.lock. Existing tests do not establish successful reference fits through this path. Pin dependencies and validate against trusted R fits before treating it as complete. | | Significance proof model | The Agda model makes noncomputed numbers unrepresentable, while the Julia documentation explicitly permits retained pairwise rows after an omnibus failure. Reconcile model and implementation; do not claim the proof establishes the Julia representation's behavior. | | Canonical JSON/JCS | Utility and fixtures exist; no production callers found beyond module inclusion/export. Establish conformance and choose an actual integration point before claiming end-to-end provenance. | | Memory occupancy | Measurement, algebra/proof integration, tests and scripts exist. Isolate the work, verify sibling dependency pins and real runtime measurements. This is distinct from biological occupancy modelling in issue #18. | | Wildcard-IP origin handling | Separate behavioral change in server middleware. Review address/port parsing and trust assumptions, then run host/origin, DNS-rebinding and CSRF regressions before submission. | | Plot title markup stripping | Small independent helper and usage change; suitable for a focused bugfix after checking its tests and behavior. | Repository layout changes, frontend major upgrades, community policies, automation and other tooling are separate fork-maintenance decisions, not prerequisites for the three upstream repairs. Do not carry forward the obsolete claim in fork AGENTS.md that locked ggplot2 requires tibble: the retained tibble dependency is used by installation/CI tooling. Open planning issues are not evidence of implemented branch WIP; several overlap or describe functionality already upstream. ## Validation - All six repair commits applied together without conflicts. - git diff --cached --check passes. - Local combined tree and GitHub-created tree match exactly. - Latest individual PR CI runs passed: #59 run 38976014775; #60 run 38998820680; #61 run 38998823755. - Combined baseline CI is separate and must be inspected before merging. --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Joshua Jewell <developer@joshuajewell.dev> Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Execution.prepare_analysis_table. Preserves total sample depth (nb_glm. Keeps raw counts inprepared(preserving integer negative binomial properties) and setsoffset = log(lib_sizes)instead of fractional scaling. (Refs feat(analysis): TSS/CSS/RSS offsets — exact normalization with DESeq2-style offsets, not alias to relative #16)Standpoint,TaxonWarrant,ProjectionY, and SHA-256Receiptverification insrc/core/epistemic.jl, withencode_avec_fibre/parse_avec_fibrefor theavec_fibrecolumn. Aligns directly withEpistemicTypes.jlandecho-types.disambiguate_zerodistinguishing certified biological absence (Val(:true_absence)) from observation limit (Val(:undetected)), connecting toabsolute-zeroand Issue feat(analysis): Occupancy models — presence/absence with imperfect detection, zero-inflated NB, hurdle models #18.Tests & Hygiene
check-spdx.sh: OK (279 files covered)check-format.sh: OK (326 files checked)check-blob-hygiene.sh: OKtest/unit/test_execution.jlandtest/unit/test_analysis_config.jl.