Skip to content

docs: fix descriptions - #14436

Merged
kgryte merged 6 commits into
developfrom
philipp/drift-strided-base-2026-08-20
Aug 20, 2026
Merged

docs: fix descriptions#14436
kgryte merged 6 commits into
developfrom
philipp/drift-strided-base-2026-08-20

Conversation

@Planeshifter

Copy link
Copy Markdown
Member

Description

What is the purpose of this pull request?

This pull request corrects copy-paste documentation drift across six packages in the @stdlib/strided/base namespace. Each carried a summary or parameter description cloned from a sibling and never updated, so it contradicted the package's own package.json description and its other documentation surfaces. All changes are documentation-only: no source behavior, exported signatures, parameter names, parameter types, or test expectations change.

Namespace summary. 48 direct member packages analyzed. Features extracted: file tree, package.json key/scripts/directories sets, README section structure, JSDoc tag presence, error construction, and per-surface summary/parameter-description consistency. Features with a clear (≥75%) majority: file layout, package.json shape (47/48), empty scripts (48/48), format-based error construction, README ## Usage/## Examples (48/48), and the convention that a package's @module, README, and JSDoc summaries mirror its package.json description (48/48). Features excluded for lacking a clear majority: README ## Notes (37%), ## C APIs (37%), ## See Also (73%, and auto-populated), the include/src/manifest.json C-implementation triple, and public signatures / validation prologues (the namespace is functionally heterogeneous). The six corrected packages are the outliers on the summary-consistency convention.

cmap

The @module summary in lib/index.js and the README title blockquote dropped "complex", describing cmap as operating on single-precision floating-point arrays. cmap operates on single-precision complex floating-point arrays (Complex64Array); the package.json description, the main.js/ndarray.js JSDoc, and the README API sections already state so. A leftover from the real-valued smap sibling.

zmap

The same drift at double precision: the @module summary and README blockquote omitted "complex" while the package operates on Complex128Array. Both surfaces now match the package's own package.json description. A leftover from dmap.

dmskmap2

The lib/main.js summary dropped the "according to a strided mask array" clause, omitting the package's defining masked behavior. The clause is present in the same package's ndarray.js, index.js, package.json, and README. Restored. A stale-template omission carried over from the non-masked dmap2.

smskmap2

The identical mask-clause omission in lib/main.js, at single precision. Restored from the package's own ndarray.js/index.js/package.json. A leftover from smap2.

map-by2

The lib/main.js and lib/ndarray.js summaries used unary phrasing — "each element retrieved from a strided input array" — for a binary package. map-by2 applies a binary function to each pair of elements retrieved from two strided input arrays, per its package.json, index.js, and README. Both summaries corrected. A leftover from the unary map-by.

read-dataview

The lib/main.js JSDoc documented view as the "output DataView" and out as the "input array" — reversed. The function copies from an input DataView into an output array, as its own summary line and ndarray.js both state. The two descriptions are swapped to match. A leftover from write-dataview, where the data flow is the reverse. Parameter names and types are unchanged.

Related Issues

Does this pull request have any related issues?

No.

Questions

Any questions for reviewers of this pull request?

No.

Other

Any other information relevant to this pull request?

Validation. Structural features were extracted across all 48 members via filesystem and string inspection; per-surface summaries and parameter descriptions were extracted and diffed against each package's package.json description. Candidate outliers were reviewed by three independent agents (semantic, cross-reference, and structural) before advancing. Deliberately excluded: deviations on features without a ≥75% majority; function-object, whose absent benchmark, absent JSDoc parameter/return tags, and browser field are intentional consequences of exporting a constant header-directory path rather than a function; and the auto-populated README ## See Also and signature-table sections. No test or example depends on any corrected string. A reinterpret-complex @module typo ("floating-point point array") was noted but left out of scope as a single-package typo rather than cross-package drift.

Checklist

Please ensure the following tasks are completed before submitting this pull request.

AI Assistance

When authoring the changes proposed in this PR, did you use any kind of 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 an automated cross-package drift-detection routine running in Claude Code. The routine extracted the documentation conventions shared across the strided/base namespace, flagged the packages deviating from them, and applied the mechanical corrections. Every finding was verified against the deviating package's own existing documentation (its package.json description and other summary surfaces) before it was committed.


@stdlib-js/reviewers


Generated by Claude Code

claude added 6 commits August 20, 2026 07:51
The `@module` summary in `lib/index.js` and the README title blockquote
omitted "complex", describing the package as operating on
single-precision floating-point arrays. The package operates on
single-precision complex floating-point arrays (`Complex64Array`); the
package.json description, the `lib/main.js`/`lib/ndarray.js` JSDoc
summaries, and the README API sections already state so. Restores
consistency with the package's own authoritative description (a
convention upheld by all 48 namespace members). Copy-paste leftover
from the real-valued `smap` sibling. Documentation only.
The `@module` summary in `lib/index.js` and the README title blockquote
omitted "complex", describing the package as operating on
double-precision floating-point arrays. The package operates on
double-precision complex floating-point arrays (`Complex128Array`); the
package.json description, the `lib/main.js`/`lib/ndarray.js` JSDoc
summaries, and the README API sections already state so. Restores
consistency with the package's own authoritative description (a
convention upheld by all 48 namespace members). Copy-paste leftover
from the real-valued `dmap` sibling. Documentation only.
The `lib/main.js` JSDoc summary dropped the "according to a strided mask
array" clause, omitting the package's defining masked behavior. The
clause is present in the same package's `lib/ndarray.js` summary,
`lib/index.js` `@module` summary, package.json description, and README.
Restores consistency with the package's own authoritative description
(a convention upheld by all 48 namespace members). Stale-template
omission carried over from the non-masked `dmap2` sibling.
Documentation only.
The `lib/main.js` JSDoc summary dropped the "according to a strided mask
array" clause, omitting the package's defining masked behavior. The
clause is present in the same package's `lib/ndarray.js` summary,
`lib/index.js` `@module` summary, package.json description, and README.
Restores consistency with the package's own authoritative description
(a convention upheld by all 48 namespace members). Stale-template
omission carried over from the non-masked `smap2` sibling.
Documentation only.
The `lib/main.js` and `lib/ndarray.js` JSDoc summaries used unary
phrasing ("each element retrieved from a strided input array"),
describing this binary package as if it operated on a single input
array. The package applies a binary function to each pair of elements
retrieved from two strided input arrays, as the package.json
description, `lib/index.js` `@module` summary, and README already
state. Restores consistency with the package's own authoritative
description (a convention upheld by all 48 namespace members).
Copy-paste leftover from the unary `map-by` sibling. Documentation
only.
The `lib/main.js` JSDoc documented `view` as the "output DataView" and
`out` as the "input array" — reversed relative to the function's own
summary ("Copies elements from an input strided DataView to elements in
an output strided array") and to the same package's `lib/ndarray.js`,
where `view` is the input and `out` is the output. Swaps the two
descriptions to match. Copy-paste leftover from the `write-dataview`
sibling, where the data flow is reversed. Documentation only; no
parameter names, types, or behavior change.
@stdlib-bot

Copy link
Copy Markdown
Contributor

Coverage Report

Package Statements Branches Functions Lines
strided/base/cmap $\\color{green}218/218$
$\\color{green}+100.00\\%$
$\\color{green}9/9$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}218/218$
$\\color{green}+100.00\\%$
strided/base/dmskmap2 $\\color{green}224/224$
$\\color{green}+100.00\\%$
$\\color{green}10/10$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}224/224$
$\\color{green}+100.00\\%$
strided/base/map-by2 $\\color{green}608/608$
$\\color{green}+100.00\\%$
$\\color{green}42/42$
$\\color{green}+100.00\\%$
$\\color{green}6/6$
$\\color{green}+100.00\\%$
$\\color{green}608/608$
$\\color{green}+100.00\\%$
strided/base/read-dataview $\\color{green}413/413$
$\\color{green}+100.00\\%$
$\\color{green}24/24$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}413/413$
$\\color{green}+100.00\\%$
strided/base/smskmap2 $\\color{green}224/224$
$\\color{green}+100.00\\%$
$\\color{green}10/10$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}224/224$
$\\color{green}+100.00\\%$
strided/base/zmap $\\color{green}218/218$
$\\color{green}+100.00\\%$
$\\color{green}9/9$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}218/218$
$\\color{green}+100.00\\%$

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

@kgryte
kgryte marked this pull request as ready for review August 20, 2026 10:41
@kgryte
kgryte requested a review from a team August 20, 2026 10:41
@stdlib-bot stdlib-bot added the Needs Review A pull request which needs code review. label Aug 20, 2026
@kgryte kgryte changed the title docs: correct drifted descriptions in strided/base packages docs: fix descriptions Aug 20, 2026
@kgryte
kgryte merged commit 4e9f433 into develop Aug 20, 2026
36 checks passed
@kgryte
kgryte deleted the philipp/drift-strided-base-2026-08-20 branch August 20, 2026 10:42
@kgryte kgryte added the Documentation Improvements, additions, or changes to documentation. label Aug 20, 2026
@stdlib-bot stdlib-bot removed the Needs Review A pull request which needs code review. label Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Documentation Improvements, additions, or changes to documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants