Repository navigation
chore: update keywords - #13496
Merged
kgryte merged 11 commits intoJul 16, 2026
Merged
chore: update keywords#13496
Conversation
…-uniform/cdf` Adds the `univariate` keyword to the `keywords` array to align with the ecosystem-wide convention (present in 491/517 = 95% of packages under `stats/base/dists/`, and 100% of the sibling `bernoulli`, `poisson`, and continuous `uniform` distribution families). The `discrete-uniform` namespace's own top-level `package.json` already carries the keyword; only 3 of the 14 in-namespace sub-packages did.
…-uniform/ctor` Adds the `univariate` keyword to the `keywords` array to align with the ecosystem-wide convention (present in 491/517 = 95% of packages under `stats/base/dists/`, and 100% of the sibling `bernoulli`, `poisson`, and continuous `uniform` distribution families). The `discrete-uniform` namespace's own top-level `package.json` already carries the keyword; only 3 of the 14 in-namespace sub-packages did.
…-uniform/entropy` Adds the `univariate` keyword to the `keywords` array to align with the ecosystem-wide convention (present in 491/517 = 95% of packages under `stats/base/dists/`, and 100% of the sibling `bernoulli`, `poisson`, and continuous `uniform` distribution families). The `discrete-uniform` namespace's own top-level `package.json` already carries the keyword; only 3 of the 14 in-namespace sub-packages did.
…-uniform/kurtosis` Adds the `univariate` keyword to the `keywords` array to align with the ecosystem-wide convention (present in 491/517 = 95% of packages under `stats/base/dists/`, and 100% of the sibling `bernoulli`, `poisson`, and continuous `uniform` distribution families). The `discrete-uniform` namespace's own top-level `package.json` already carries the keyword; only 3 of the 14 in-namespace sub-packages did.
…-uniform/logcdf` Adds the `univariate` keyword to the `keywords` array to align with the ecosystem-wide convention (present in 491/517 = 95% of packages under `stats/base/dists/`, and 100% of the sibling `bernoulli`, `poisson`, and continuous `uniform` distribution families). The `discrete-uniform` namespace's own top-level `package.json` already carries the keyword; only 3 of the 14 in-namespace sub-packages did.
…-uniform/mean` Adds the `univariate` keyword to the `keywords` array to align with the ecosystem-wide convention (present in 491/517 = 95% of packages under `stats/base/dists/`, and 100% of the sibling `bernoulli`, `poisson`, and continuous `uniform` distribution families). The `discrete-uniform` namespace's own top-level `package.json` already carries the keyword; only 3 of the 14 in-namespace sub-packages did.
…-uniform/median` Adds the `univariate` keyword to the `keywords` array to align with the ecosystem-wide convention (present in 491/517 = 95% of packages under `stats/base/dists/`, and 100% of the sibling `bernoulli`, `poisson`, and continuous `uniform` distribution families). The `discrete-uniform` namespace's own top-level `package.json` already carries the keyword; only 3 of the 14 in-namespace sub-packages did.
…-uniform/mgf` Adds the `univariate` keyword to the `keywords` array to align with the ecosystem-wide convention (present in 491/517 = 95% of packages under `stats/base/dists/`, and 100% of the sibling `bernoulli`, `poisson`, and continuous `uniform` distribution families). The `discrete-uniform` namespace's own top-level `package.json` already carries the keyword; only 3 of the 14 in-namespace sub-packages did.
…-uniform/skewness` Adds the `univariate` keyword to the `keywords` array to align with the ecosystem-wide convention (present in 491/517 = 95% of packages under `stats/base/dists/`, and 100% of the sibling `bernoulli`, `poisson`, and continuous `uniform` distribution families). The `discrete-uniform` namespace's own top-level `package.json` already carries the keyword; only 3 of the 14 in-namespace sub-packages did.
…-uniform/stdev` Adds the `univariate` keyword to the `keywords` array to align with the ecosystem-wide convention (present in 491/517 = 95% of packages under `stats/base/dists/`, and 100% of the sibling `bernoulli`, `poisson`, and continuous `uniform` distribution families). The `discrete-uniform` namespace's own top-level `package.json` already carries the keyword; only 3 of the 14 in-namespace sub-packages did.
…-uniform/variance` Adds the `univariate` keyword to the `keywords` array to align with the ecosystem-wide convention (present in 491/517 = 95% of packages under `stats/base/dists/`, and 100% of the sibling `bernoulli`, `poisson`, and continuous `uniform` distribution families). The `discrete-uniform` namespace's own top-level `package.json` already carries the keyword; only 3 of the 14 in-namespace sub-packages did.
Contributor
Coverage Report
The above coverage report was generated for the changes in this PR. |
kgryte
marked this pull request as ready for review
July 16, 2026 17:53
kgryte
approved these changes
Jul 16, 2026
univariate keyword across stats/base/dists/discrete-uniform sub-packages
kgryte
deleted the
philipp/drift-stats-base-dists-discrete-uniform-2026-07-16
branch
July 16, 2026 17:53
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.
Description
This pull request adds the
univariatekeyword to thekeywordsarray of eleven@stdlib/stats/base/dists/discrete-uniformsub-packages that were missing it. Onlylogpmf,pmf, andquantilecarried the keyword; the other eleven (cdf,ctor,entropy,kurtosis,logcdf,mean,median,mgf,skewness,stdev,variance) did not. The keyword is a near-universal ecosystem convention (491/517 = 95% ofstats/base/dists/*/*packages carry it, including 100% of the siblingbernoulli,poisson, and continuousuniformfamilies), and the namespace's own top-levelpackage.jsonalready lists it. No source, tests, TypeScript declarations, or public API are touched.Namespace summary
package.jsonshape (top-level keys,scripts,stdlib,keywords),manifest.jsonshape, README section list,lib//test//benchmark//examples//docs/file lists, JSDoc@examplecounts, and per-package semantic features (public signature, validation prologue, error construction, JSDoc shape, dependencies) via direct source inspection oflib/main.js,lib/index.js,lib/factory.js,lib/native.js, plustest/test.jsstructure.package.jsontop-level key set, README section list (## Usage/## Examples/## C APIs/### Usage/### Examples), validation-prologue shape (per API arity), error-construction kind, benchmark / examples /docs/file names.univariatekeyword — 3/14 locally (below 75%) but 95% stdlib-wide and 100% across every sibling distribution family checked. This PR corrects it.keywordsarray contents beyondunivariate(e.g.probability,prob,symmetric— verified as intentional per-package/per-family choices),@returnstype annotations (number/PositiveNumber/Probability/integervary by mathematical object).Per outlier package
Each of the following packages had
"univariate"appended to the end of itskeywordsarray (matching the placement in sibling continuousuniform,bernoulli, andpoissonsub-packages). Every diff is a single+"univariate",line with a matching comma on the previous line; no other field is touched.cdf,entropy,kurtosis,mean,median,skewness,stdev,variance— the eight single-scalar and CDF packages missing the ecosystem-standardunivariatekeyword. Local conformance 3/14 (21%); ecosystem-wide conformance 491/517 (95%).logcdf— same missing keyword; local conformance 3/14; the siblinglogpmfpackage already carries it.mgf— same missing keyword; local conformance 3/14; the sibling continuousuniform/mgfpackage already carries it (14/14 in that family).ctor— same missing keyword; the class-based JavaScript wrapper. Siblingbernoulli/ctor,poisson/ctor, and continuousuniform/ctorall carryunivariate; this one did not.Validation
package.jsonfields,manifest.jsonshape, README section list,test//benchmark//examples//docs//lib/directory listings extracted for each of the 14 members.entropy,kurtosis,mean,median,skewness,stdev,variance), factory dists (cdf,logcdf,logpmf,mgf,pmf,quantile), and the class-basedctor. All three groupings were internally consistent — no semantic drift found.univariatefinding after the primary pass had missed it; the reviewer also verified.d.tsshape, C header shape,benchmark/c/benchmark.cboilerplate, README heading structure, copyright years, JSDoc@examplecounts, and test tape-block counts — all confirmed to have no drift.ctorlacks the native-addon scaffold (binding.gyp,manifest.json,src/,include/,lib/native.js) — intentional, since it is a JavaScript class with no C implementation.skewnesslackstest/fixtures/julia/cross-language fixture data — intentional, since the skewness of a discrete uniform distribution is always0and does not require numerical verification.mgflacks theprobabilitykeyword, present in 13/14 in-namespace siblings — excluded because moment-generating-function packages stdlib-wide consistently omitprobability(20/22 = 91%); the in-namespace majority is itself the outlier.symmetrickeyword is present only inlogpmf,pmf, andquantile— verified as an intentional narrow convention matching the identical 3-of-14 scoping in the sibling continuousuniformfamily.@returnstype annotations vary by mathematical object and reflect intentional semantic differences.Related Issues
No.
Questions
No.
Other
This is a follow-up drift audit of the same namespace corrected in #12669 (merged 2026-06-07). That PR normalized JSDoc summary phrasing across
mgfand fixed a typo inquantile; this run finds theunivariatekeyword gap missed by the earlier audit. All corrections here arepackage.jsonmetadata only — no source, tests, or declarations.Checklist
AI Assistance
If you answered "yes" above, how did you use AI assistance?
Disclosure
A cross-package drift audit of the
@stdlib/stats/base/dists/discrete-uniformnamespace was run using Claude Code. Structural and semantic features were extracted from each of the fourteen non-autogenerated members, the majority pattern was computed per feature, and outliers were validated against sibling packages before any change was applied. An adversarial independent review pass verified the primary findings and surfaced theunivariatekeyword gap that this PR corrects. Each candidate was checked against the ecosystem-wide convention (491/517 = 95% presence) and against sibling distribution families (bernoulli,poisson, continuousuniform, each at 100%) before applying. All proposed changes were reviewed before submitting.@stdlib-js/reviewers
Generated by Claude Code