Skip to content

docs: propagate recent develop fixes to sibling packages#12446

Open
Planeshifter wants to merge 4 commits into
developfrom
philipp/fix-propagation-2026-06-02
Open

docs: propagate recent develop fixes to sibling packages#12446
Planeshifter wants to merge 4 commits into
developfrom
philipp/fix-propagation-2026-06-02

Conversation

@Planeshifter
Copy link
Copy Markdown
Member

Description

Propagating fixes merged to develop between f7a08b6c (2026-06-01 15:24 -0500) and 2013317f (2026-06-02 05:02 -0500) to sibling packages with the same underlying defect.

Pattern: insert missing "be" in dtype-validation error messages

Source commit 839bce5a6 corrected '... First argument must an iterator protocol-compliant object. Value: \%s`.'to "must be an" in three@stdlib/iter packages. The identical missing-bedefect exists in theisStringArray( dtypes )guard of threerandom/array/tools/*-factorypackages, with the noun "array of strings" in place of "iterator protocol-compliant object". The fix matches the canonical phrasing already used in the neighbouringmust be a supported data type` guard in the same files.

Pattern: tidy doc drift in @stdlib/constants/float64

Source commit 8879b1d32 tidied two classes of doc drift in @stdlib/constants/float32: a corrupted Wikipedia URL where %27...%28 (i.e. an apostrophe and an open paren) replaced the literal parentheses, and a README top-level heading whose name did not match the exported constant. The same Wikipedia URL mojibake exists in the log10-e and log2-e packages under constants/float64; the same heading-vs-export mismatch exists in the nan, ninf, and pinf packages, whose READMEs lead with # NAN/# NINF/# PINF even though lib/index.js exports FLOAT64_NAN/FLOAT64_NINF/FLOAT64_PINF.

Pattern: align "stride length" wording in blas/ext/base/*cartesian-power

Source commit 0f2cc7c6e replaced stride length of the {first,second} dimension of \out`.withstride length for the ... dimension of `out`.indcartesian-square's README, matching the stride length for `x`.phrasing of the input-stride bullet in the same parameter list. The identical defect exists in thedcartesian-power, scartesian-power, and gcartesian-power` siblings, in both the JS and C-API parameter lists.

  • 0f2cc7c6e (docs: update descriptions)
    • @stdlib/blas/ext/base/dcartesian-power
    • @stdlib/blas/ext/base/scartesian-power
    • @stdlib/blas/ext/base/gcartesian-power

Pattern: align package.json descriptions with imperative mood

Source commit f7a08b6ce aligned three package descriptions ("Performs", "Returns", "Calculates") with the imperative-mood convention. An exhaustive sweep of all 5,637 package.json files under lib/node_modules/@stdlib/ surfaces only three remaining sites, each a mechanical drop-the-s substitution.

Related Issues

None.

Questions

No.

Other

Validation

  • Search scope: per pattern, scoped to the source commit's namespace first (random/array/tools/*-factory for the must an typo by analogy to the iter source; constants/float64/* for the URL and README-title drift; blas/ext/base/*cartesian-* for the stride-length wording; all 5,637 package.json files for the imperative-mood sweep), widened only when warranted by the pattern signature.
  • Two independent opus validation passes confirmed at every candidate site that (a) the defect text appears as cited, (b) surrounding context does not change the semantics, and (c) the proposed patch matches the source commit's exact fix shape. All 21 sites returned confirmed from both passes.
  • A sonnet style-consistency pass verified that each replacement matches the surrounding package's conventions — format() usage and must be a/an phrasing for the error messages, parallel for \x`wording for the stride-length bullets, namespace-prefixed exported-constant naming for the README headings, and the imperative-mood convention shared by siblingpackage.json` descriptions in the same namespace.

Deliberately excluded:

  • data.csv / data.json entries under @stdlib/error/tools/database/data/ that mirror the old must an iterator text: the database assigns stable error codes ("44" here) to message text and never rewrites existing entries on regeneration. Touching the records would invalidate the stable error-code → message contract; the build script will assign a new code for the corrected message on the next regeneration. Logged.
  • The expm1rel numerical-accuracy fix from 0a659c475: the identity-substitution method is specific to expm1(x)/x and does not generalise as a search signature.
  • The C f-suffix fix from 8879b1d32: an exhaustive sweep of all STDLIB_CONSTANT_FLOAT32_* macros in constants/float32/*/include/ found that every remaining decimal-literal macro is already correctly suffixed.
  • The BLAS // returns 4.0 annotation fix from f84f6d09d / 9f0e49e68: a full sweep across blas/base/** and blas/base/ndarray/** found no remaining i*amax-style decimal-as-integer annotations.
  • The to Findto find capitalisation fix from 9f0e49e68: a full sweep across lib/node_modules/@stdlib/ found that the only remaining \bto [A-Z][a-z]+ the\b matches are intentional title-case citations of the 1978 Blue paper "A Portable Fortran Program to Find the Euclidean Norm of a Vector".
  • Autogenerated namespace-TOC and related-packages docs from the stdlib-bot commits: generator-owned files.
  • chore: add missing classification keywords in @stdlib/math/base/assert (2013317f): the commit only touches package.json files, excluded for chore: sources per routine rules.

Checklist

AI Assistance

  • Yes
  • No

If you answered "yes" above, how did you use AI assistance?

  • Code generation (e.g., when writing an implementation or fixing a bug)
  • Test/benchmark generation
  • Documentation (including examples)
  • Research and understanding

Disclosure

This PR was authored by Claude Code on behalf of @Planeshifter as an automated propagation of fixes merged to develop over the prior 24 hours. Candidate source commits were filtered for generalisable patterns, sibling sites located via grep-able pattern signatures, and each proposed patch independently validated by parallel reviewer agents (two opus validation passes plus a sonnet style-consistency pass) before commits were applied in the primary worktree. A human will audit and promote the PR out of draft.


@stdlib-js/reviewers


Generated by Claude Code

claude added 4 commits June 2, 2026 13:22
Propagates the wording fix from 839bce5 ("refactor: align
iterator-validation error construction in three `@stdlib/iter`
packages") to sibling factory packages in `random/array/tools`. The
`isStringArray` check in each of `unary-factory`, `binary-factory`, and
`ternary-factory` threw with `'... Second argument must an array of
strings. Value: \`%s\`.'`, missing the verb "be"; corrected to "must be
an array of strings" to match the canonical phrasing used elsewhere in
the same files.
Propagates fixes from 8879b1d ("docs: tidy doc and C macro drift in
`@stdlib/constants/float32`") to sibling `float64` packages with the
same doc drift. Restores the canonical
`https://en.wikipedia.org/wiki/E_(mathematical_constant)` Wikipedia URL
in `log10-e` and `log2-e` (the percent-encoded form `E_%27...%28`
mojibake produced a broken link), and renames README top-level headings
in `nan`, `ninf`, and `pinf` to match the exported `FLOAT64_NAN`,
`FLOAT64_NINF`, and `FLOAT64_PINF` constant names.
Propagates the wording fix from 0f2cc7c ("docs: update descriptions")
to sibling READMEs in `blas/ext/base/dcartesian-power`,
`blas/ext/base/scartesian-power`, and `blas/ext/base/gcartesian-power`.
Replaces "stride length of the {first,second} dimension of \`out\`."
with "stride length for the {first,second} dimension of \`out\`." in
both the JS parameter list and the C API parameter list, matching the
parallel "stride length for \`x\`." phrasing already present in each
file.
Propagates the wording fix from f7a08b6 ("docs: align
\`package.json\` descriptions with imperative-mood convention") to
sibling packages whose \`description\` fields still use 3rd-person
present-tense verbs. Updates \`math/base/special/hyp2f1\`
("Evaluates" -> "Evaluate"), \`math/base/special/gammasgnf\`
("Computes" -> "Compute"), and \`object/none-own-by\`
("Tests" -> "Test").
@stdlib-bot
Copy link
Copy Markdown
Contributor

Coverage Report

Package Statements Branches Functions Lines
blas/ext/base/dcartesian-power $\color{green}462/462$
$\color{green}+100.00\%$
$\color{green}39/39$
$\color{green}+100.00\%$
$\color{green}4/4$
$\color{green}+100.00\%$
$\color{green}462/462$
$\color{green}+100.00\%$
blas/ext/base/gcartesian-power $\color{green}364/364$
$\color{green}+100.00\%$
$\color{green}34/34$
$\color{green}+100.00\%$
$\color{green}3/3$
$\color{green}+100.00\%$
$\color{green}364/364$
$\color{green}+100.00\%$
blas/ext/base/scartesian-power $\color{green}462/462$
$\color{green}+100.00\%$
$\color{green}39/39$
$\color{green}+100.00\%$
$\color{green}4/4$
$\color{green}+100.00\%$
$\color{green}462/462$
$\color{green}+100.00\%$
constants/float64/log10-e $\color{green}49/49$
$\color{green}+100.00\%$
$\color{green}1/1$
$\color{green}+100.00\%$
$\color{green}0/0$
$\color{green}+100.00\%$
$\color{green}49/49$
$\color{green}+100.00\%$
constants/float64/log2-e $\color{green}49/49$
$\color{green}+100.00\%$
$\color{green}1/1$
$\color{green}+100.00\%$
$\color{green}0/0$
$\color{green}+100.00\%$
$\color{green}49/49$
$\color{green}+100.00\%$
constants/float64/nan $\color{green}48/48$
$\color{green}+100.00\%$
$\color{green}1/1$
$\color{green}+100.00\%$
$\color{green}0/0$
$\color{green}+100.00\%$
$\color{green}48/48$
$\color{green}+100.00\%$
constants/float64/ninf $\color{green}60/60$
$\color{green}+100.00\%$
$\color{green}1/1$
$\color{green}+100.00\%$
$\color{green}0/0$
$\color{green}+100.00\%$
$\color{green}60/60$
$\color{green}+100.00\%$
constants/float64/pinf $\color{green}56/56$
$\color{green}+100.00\%$
$\color{green}1/1$
$\color{green}+100.00\%$
$\color{green}0/0$
$\color{green}+100.00\%$
$\color{green}56/56$
$\color{green}+100.00\%$
math/base/special/gammasgnf $\color{green}176/176$
$\color{green}+100.00\%$
$\color{green}13/13$
$\color{green}+100.00\%$
$\color{green}2/2$
$\color{green}+100.00\%$
$\color{green}176/176$
$\color{green}+100.00\%$
math/base/special/hyp2f1 $\color{red}1044/1112$
$\color{green}+93.88\%$
$\color{red}120/131$
$\color{green}+91.60\%$
$\color{green}8/8$
$\color{green}+100.00\%$
$\color{red}1044/1112$
$\color{green}+93.88\%$
object/none-own-by $\color{green}125/125$
$\color{green}+100.00\%$
$\color{green}10/10$
$\color{green}+100.00\%$
$\color{green}1/1$
$\color{green}+100.00\%$
$\color{green}125/125$
$\color{green}+100.00\%$
random/array/tools/binary-factory $\color{red}136/367$
$\color{green}+37.06\%$
$\color{green}2/2$
$\color{green}+100.00\%$
$\color{red}0/1$
$\color{green}+0.00\%$
$\color{red}136/367$
$\color{green}+37.06\%$
random/array/tools/ternary-factory $\color{red}136/373$
$\color{green}+36.46\%$
$\color{green}2/2$
$\color{green}+100.00\%$
$\color{red}0/1$
$\color{green}+0.00\%$
$\color{red}136/373$
$\color{green}+36.46\%$
random/array/tools/unary-factory $\color{red}137/362$
$\color{green}+37.85\%$
$\color{green}2/2$
$\color{green}+100.00\%$
$\color{red}0/1$
$\color{green}+0.00\%$
$\color{red}137/362$
$\color{green}+37.85\%$

The above coverage report was generated for the changes in this PR.

@Planeshifter
Copy link
Copy Markdown
Member Author

/stdlib merge

@stdlib-bot stdlib-bot added bot: In Progress Pull request is currently awaiting automation. and removed bot: In Progress Pull request is currently awaiting automation. labels Jun 2, 2026
@Planeshifter Planeshifter marked this pull request as ready for review June 2, 2026 16:08
@Planeshifter Planeshifter requested a review from a team June 2, 2026 16:08
@Planeshifter Planeshifter changed the title docs: propagate recent develop fixes to sibling packages (2026-06-02) docs: propagate recent develop fixes to sibling packages Jun 2, 2026
@Planeshifter Planeshifter requested a review from kgryte June 2, 2026 16:08
@stdlib-bot stdlib-bot added the Needs Review A pull request which needs code review. label Jun 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs Review A pull request which needs code review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants