Add JOSS 2.0 paper draft - #200
Open
pavelkomarov wants to merge 46 commits into
Open
Conversation
paper/paper.md and paper/paper.bib covering the updated package: seven method families, multidimensional support, variable step size, missing data, circular domains, robustdiff, tvrdiff, and hyperparameter optimization. References companion Taxonomy paper (arXiv:2512.09090). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix affiliations from Taxonomy paper (Pavel: ECE/UW, Kutz: Autodesk Research) - Remove ORCIDs and Zenodo forward reference - Add NSF grant acknowledgement (2112085) and Sasha Aravkin acknowledgement - Fix framing of method families (reorganization, not new families) - Remove citation count; describe impact qualitatively - Expand software design: variable step size correctness, robustdiff linear time, Huber TVR, optimization improvements (caching, robust loss, log q/r ratio), CI and non-tautological testing - Add references: Savitzky-Golay 1964, RTS 1965, Aravkin 2013, derivative package - Target ~1250 words Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Single-line paragraphs throughout - "implements" not "organizes" - Remove "time" as dimension name; use "sample spacing", "sample interval", etc. - Recapitulate optimization framework in Statement of Need - Fix derivative pkg description (drop ambiguous "missing data handling") - "Updated package design" replaces "The revision moved away from..." - Expand missing data and variable step into separate paragraphs - Emphasize both as new additions for practicality - Huber loss leads the robustness paragraph; piecewise smoothness is secondary - Remove `pip install pynumdiff[advanced]` sentence - "scales linearly" replaces "runs in time linear" - Deprecated interface sentence qualified "pending removal" - Comma/semicolon review throughout Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Comprehensive paper revision: capability table, architecture paragraph, spectral in family list, expanded Research Impact (docs/tutorials/license/ PySINDy), updated AI disclosure, three-step usage description - Add kalman1960, ahnert2007, pysindy references to paper.bib - Add .github/workflows/draft-pdf.yml to compile JOSS draft PDF on push Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Unicode ✓ doesn't survive the pandoc → LaTeX pipeline used by JOSS; $\checkmark$ renders correctly in the compiled PDF. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Sharper opening: "no single approach wins universally" - Colorful verbs: stitch together, sliver, piecemeal - Trimmed parenthetical definitions and redundant qualifiers - AI disclosure collapsed to one sentence - Softer hedges removed (evidenced by, a natural use case → natural) - ~130 words cut while preserving all substance Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…osure Em dashes replaced throughout: colons where introducing a list or elaboration, commas for appositives and trailing clauses, parentheses for inline asides. AI disclosure corrected: Claude implemented revisions from author feedback; authors did the reviewing and hand-editing, not Claude. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Variable Step→Var. step, Missing Data→Missing, Outlier Robust→Robust, Circular Domain→Circular; trim caption and intro sentence. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Trim two trailing sentences from Package design; compress Software architecture to two sentences. Restore 'Variable step' column header. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…'t have searchability issues like with pysindy
…ded suggested DOI, which is indeed correct
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add Maria Protogerou (UW Applied Mathematics) as an author, list wavelet fitting under method family (4), add the waveletdiff capability-table row, and credit PyWavelets among the delegated dependencies. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Trim ~18 words of filler from the Package design and Software architecture paragraphs so Table 1 no longer breaks across pages 2-3. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
actions/checkout@v4 -> v6 and actions/upload-artifact@v4 -> v7 (Node 24 runtime; inputs unchanged). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Recent code revisions and paper edits used Claude Opus 4.8 alongside the earlier Sonnet 4.6 drafting. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Drops "2.0" from the title, since the reviewed release is 0.2.3 and the mismatch was causing confusion, and notes the generation and version in the Summary instead. Replaces the vague changelog paragraph in State of the Field with concrete claims a reader can check against Table 1. Trims roughly 110 words of duplication to make room: the Statement of Need no longer restates the Summary's opening or the optimization details Software Design covers, the variable-spacing and missing-data paragraphs merge into one since Table 1 already enumerates them, the tvgamma equation moves to the docs, and the Research Impact section drops the repo inventory reviewers verify in the repo itself. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Auditing the paper against the v0.2 through v0.2.3 release notes turned up two omissions. Caching was dropped in the previous commit's trim, and suggest_method was never mentioned at all, though it is the clearest demonstration of what the unified interface buys a user. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ments Replaces the tvgamma initialization heuristic, three magic constants that belong in the docs, with the loss the optimizer actually minimizes. That makes the ground-truth-free claim concrete, since fidelity is measured by integrating the estimate back against the measured signal, and it lets the Huber sentence name which term it robustifies. Also renames Research Impact to Research Impact Statement to match the name JOSS uses, notes how AI-written code was verified as their disclosure policy asks, refreshes the date, and simplifies the Summary to name the 0.2.x series rather than explain the versioning convention. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The date field is the submission date, and the pre-review issue confirms that was 1 April 2026, so the refresh to August was wrong. Also drops the verification clause from the AI disclosure, since the existing sentence about reviewing and editing by hand already describes how outputs were checked. ORCIDs confirmed against the public registry by employment record. Komarov and Protogerou remain unlisted. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…tions The Research Impact Statement had shrunk the notebooks to a passing clause, which undersells them. JOSS accepts reproducible materials and benchmarks as impact evidence, and the seven notebooks demonstrate nearly every capability the paper claims, so they are now described by what they cover. Also corrects the claim that they live on the docs site; they live in the repository, and readthedocs carries the API documentation. The bibliography mixed two name encodings for van Breugel, so the 2020 and 2022 entries rendered and alphabetized differently, and in-text citations showed the given name. Comma form makes the surname unambiguous. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The table split across pages, stranding two rows under a repeated header. Six of its twelve rows carried no checkmarks, so the table now lists only methods with capabilities beyond the multidimensional support they all share, and the lead-in states the full count. Comma form alone left the CSL style treating "van" as a particle, so citations rendered as "Breugel et al." Bracing the surname inside comma form makes it a single unit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Restores the six methods dropped in the previous commit without bringing back the page break. The matrix spent half its height on empty cells because it was keyed by method, so it is now keyed by capability, listing the methods that have each. Every cell carries information, all twelve methods are named, and the table is shorter than either previous version. It also answers the question users actually ask. Someone with gaps in their data wants to know which methods tolerate that, rather than reading down a column of blanks. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…e row Keeps the matrix shape, which shows at a glance how many capabilities a method carries, while still naming all twelve. The six that support only multidimensional data share a single trailing row rather than six rows of empty cells, so the table stays short enough to hold one page. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The collapsed matrix did not work. Its first column is narrow, so the six method names in the trailing row stacked one per line, making the table no shorter than the version it replaced and splitting it across pages again. The capability-keyed table gives its methods column half the page, so twelve names wrap to two or three lines. Measured against the proof, it holds one page while still naming every method. Co-Authored-By: Claude Opus 5 <noreply@anthropic.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.
paper/paper.md and paper/paper.bib covering the updated package: seven method families, multidimensional support, variable step size, missing data, circular domains, robustdiff, tvrdiff, and hyperparameter optimization. References companion Taxonomy paper (arXiv:2512.09090).