chore: align stats/base/dists/lognormal log* package descriptions with namespace majority#13153
Closed
Planeshifter wants to merge 2 commits into
Closed
chore: align stats/base/dists/lognormal log* package descriptions with namespace majority#13153Planeshifter wants to merge 2 commits into
stats/base/dists/lognormal log* package descriptions with namespace majority#13153Planeshifter wants to merge 2 commits into
Conversation
…with namespace majority
Normalize `package.json` `description` to the `"Lognormal distribution
{noun}."` pattern used by 12/14 siblings in the
`stats/base/dists/lognormal` namespace (85.7% conformance), and matching
the dominant `"{Dist} distribution logarithm of cumulative distribution
function (CDF)."` template used across `exponential`, `gamma`, `beta`,
`gumbel`, `laplace`, `logistic`, `rayleigh`, and `weibull`.
No source, test, or behavioral changes.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016MpvUVp4pvm7okW5UysayX
…with namespace majority
Normalize `package.json` `description` to the `"Lognormal distribution
{noun}."` pattern used by 12/14 siblings in the
`stats/base/dists/lognormal` namespace (85.7% conformance), and matching
the dominant `"{Dist} distribution logarithm of probability density
function (PDF)."` template used across `gamma`, `beta`, `gumbel`,
`laplace`, `logistic`, `rayleigh`, and `weibull`.
No source, test, or behavioral changes.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016MpvUVp4pvm7okW5UysayX
Contributor
Coverage Report
The above coverage report was generated for the changes in this PR. |
kgryte
requested changes
Jun 26, 2026
kgryte
left a comment
Member
There was a problem hiding this comment.
I am not a fan of these changes. I think it was a mistake to unify around the "Lognormal distribution logarithm of..." description convention. They torture the English language and read awkwardly. In this case, the existing descriptions are better. As such, I am not inclined to merge this PR.
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
Aligning outliers in
stats/base/dists/lognormalwith namespace majority patterns (random namespace pick, seed2796326358).Namespace summary
@stdlib/stats/base/dists/lognormalcdf,ctor,entropy,kurtosis,logcdf,logpdf,mean,median,mode,pdf,quantile,skewness,stdev,variance)package.jsontop-level keys,package.jsondescription,package.jsonkeywords, README section sequence,manifest.jsontop-level keys, test/benchmark/examples filenames, public signature sequence, return kind, validation prologue sequence, error construction, JSDoc shape (@param/@returns/@throws/@example), dependency set fromlib/main.jsrequirecalls, REPL signature and section list, TypeScript declarations shape.package.jsontop-level key set (18 keys, 100%);package.jsondirectorieskeys (100%); REPL section listParameters/Returns/Examples/See Also(100%);returnKindvalue(100%);mu@paramtypenumber(100%); JSDoc@examplepresence (100%);errorConstructionnone(13/14 = 92.9% —ctorlegitimately throws);sigma@paramtypePositiveNumber(13/14 = 92.9%);package.jsondescription"Lognormal distribution {noun}."form (12/14 = 85.7%);test/fixtures/julia/REQUIRE+runner.jl(12/14 = 85.7%).manifest.json,binding.gyp,include.gypi,src/**,lib/native.js,benchmark/c/**,benchmark/benchmark.native.js,examples/c/**,test/test.native.js) at 10/14 = 71.4%;gypfilepackage.jsonkey at 10/14 = 71.4%;## C APIsREADME section /### Usage/### ExamplesC subsections at 10/14 = 71.4%;lib/factory.js+test/test.factory.jsat 5/14 = 35.7% (cleanly tied to input-arity packages);dtsExportShape(8function, 5interface+var, 1class— split by arity);returnsTag.type(6NonNegativeNumber, 6number, 1Probability, 1LogNormal— semantically determined per function);moduleJsdocSummarypattern (9"Lognormal distribution...", 5"Evaluate..."— split by function class); validation-prologue sequence (no single subsequence ≥ 75%, the four function classes — pure stats /(x|p, mu, sigma)evaluators / delegating wrappers / constructor — each justify a distinct prologue).stats/base/dists/lognormal/logcdfFixes description drift in
@stdlib/stats/base/dists/lognormal/logcdfrelative to both its namespace and the wider distributions ecosystem. Aligns with the"Lognormal distribution {noun}."form used by 12/14 namespace siblings (85.7%) and the"{Dist} distribution logarithm of cumulative distribution function (CDF)."template used acrossexponential,gamma,beta,gumbel,laplace,logistic,rayleigh, andweibull. Metadata-only change; no source, test, or behavioral changes.stats/base/dists/lognormal/logpdfAligns the
@stdlib/stats/base/dists/lognormal/logpdfpackage.jsondescription with the ecosystem template"{Dist} distribution logarithm of probability density function (PDF).", used by 7 of 9 sibling distributions checked (gamma,beta,gumbel,laplace,logistic,rayleigh,weibull). Also conforms to the within-namespace"Lognormal distribution {noun}."form shared by 12/14 siblings (85.7%). Metadata-only change; no source, test, or behavioral modifications.Validation
Checked:
package.jsonshape, README section list,manifest.jsonshape, test/benchmark/example filenames) across all 14 members.package.jsondescription/keywords) across all 14 members by reading eachlib/main.js,lib/index.js,lib/factory.js(where present),docs/types/index.d.ts,docs/repl.txt, andpackage.jsondirectly.logcdfandlogpdfdescription deviations are stylistic — inherited fromnormal/logcdf/logpdf— with no behavioral basis.package.json(andlogcdf'slib/index.jsJSDoc, which retains the same@modulesummary across the wider ecosystem). No tests, examples, or sibling-package documentation references them.exponential,gamma,laplace, andweibullsiblings that the proposed template matches the dominant ecosystem convention.Deliberately excluded:
logcdfsigma@paramtypeNonNegativeNumber(vs. 13/14 majorityPositiveNumber). Marked intentional deviation:logcdfdelegates tonormal/logcdfwithout asigma <= 0.0NaN guard and documentslogcdf( 2.0, 8.0, 0.0 ) === -Infinityas supported behavior; changing the annotation toPositiveNumberwould mis-document the contract, and adding a guard would alter observable behavior.logcdf/stdevempty validation prologue (vs. ~12/14 members with theisnan(mu) || isnan(sigma) || sigma <= 0.0 → NaNprologue). Marked intentional deviation:stdevdelegates tovariance(sqrt(NaN) === NaNpreserves behavior);logcdfdelegates tonormal/logcdf.logcdftest/fixtures/r/(vs. 12/14 withtest/fixtures/julia/). Marked intentional deviation: package uses an R reference toolchain instead of Julia; switching fixture generators is out of scope.ctorerrorConstruction: format, optional-parameter signature,classTypeScript shape,## lognormal/### Writable Properties/### Computed Properties/### MethodsREADME structure, and missing native bindings. Marked intentional deviation: a class constructor's documentation and validation surface legitimately differs from value-returning siblings.manifest.json,binding.gyp,src/,lib/native.js,benchmark/c/,examples/c/,test/test.native.js) at 10/14 = 71.4% — below the 75% threshold and excluded from drift detection. Open PRs feat: add C implementation forstats/base/dists/lognormal/cdf#10809, feat: add C implementation forstats/base/dists/lognormal/logpdf#10881, feat: add C implementation for stats/base/dists/lognormal/logcdf #10882, feat: add C implementation for stats/base/dists/lognormal/cdf #10883 are independently adding C implementations forcdf,logpdf,logcdf, and a secondcdfPR — no overlap with this run.moduleJsdocSummaryand JSDoc@returnsdescription style. Cross-distribution ecosystem still mixes"{Dist} distribution natural logarithm of..."(gamma, gumbel, laplace, logistic, rayleigh, weibull) with"Natural logarithm of... for a {Dist} distribution."(normal, lognormal, exponentiallogpdf, betaEvaluate the natural logarithm of...). No dominant ecosystem template; out of scope for a high-signal correction.bell-shapeonlogcdf, distinct moment-context terms on summary-statistic packages); none ≥75%-vs-namespace-majority drift.Related Issues
This pull request has no related issues.
Questions
No.
Other
Random namespace pick, seed
2796326358. Eligibility criteria: ≥8 non-autogenerated direct child packages. The chosen namespace had no autogenerated members, so the full membership is in scope.Checklist
AI Assistance
If you answered "yes" above, how did you use AI assistance?
Disclosure
This PR was authored by Claude Code via the cross-package drift-detection routine: structural and semantic features were extracted from every member of
stats/base/dists/lognormal, majority patterns were computed at a 75% conformance threshold, and three independent validation agents (opus semantic-review, opus cross-reference, sonnet structural-review) confirmed each correction was high-signal mechanical drift before any file was edited. All edits are purepackage.jsondescriptionrewrites; no source, test, or behavioral changes.@stdlib-js/reviewers
Generated by Claude Code