Skip to content

docs: add missing headings and add missing placeholder section#13063

Merged
kgryte merged 11 commits into
developfrom
philipp/drift-blas-base-2026-06-22
Jun 23, 2026
Merged

docs: add missing headings and add missing placeholder section#13063
kgryte merged 11 commits into
developfrom
philipp/drift-blas-base-2026-06-22

Conversation

@Planeshifter

Copy link
Copy Markdown
Member

Description

This pull request:

  • Corrects seven cross-package drift findings in @stdlib/blas/base, surfaced by majority-vote analysis across the 107 non-namespace-aggregator leaf packages in the namespace.

Namespace summary

  • Members analyzed: 107 leaf packages (the assert, ndarray, and wasm sub-namespace aggregator packages were excluded since they aggregate other packages rather than implement a routine).
  • Features analyzed: file tree, package.json top-level / scripts / directories / keywords shape, README ##/### section list, manifest.json shape, test//benchmark//examples/ filename sets.
  • Features with a clear majority (≥75%): every package.json top-level key and every directories sub-key (100%); four universal keywords (stdlib, blas, array, ndarray); the canonical file tree (README.md, package.json, lib/{index,main}.js, test/test.js, examples/index.js, docs/types/{index.d.ts,test.ts}, docs/repl.txt, benchmark/benchmark.js); the canonical ## Usage / ## Notes / ## Examples README sections.
  • Features excluded for no clear majority: the optional __stdlib__ config block (60% prevalence, split evenly between {} and {"wasm": false}); gypfile (47%); browser (40%); the ## Notes heading on enum-utility packages (intentionally empty); the ## See Also content (auto-populated).

Per outlier package

blas/base/drotg

README.md opens the <section class="examples"> block but jumps straight to the code fence without the ## Examples heading. The heading is present in 105/107 (98%) of siblings — including the analogous dasum, ccopy, dswap READMEs — and is a structural template element, not a content judgment. Heading restored.

blas/base/srotg

Same drift as drotg: the <section class="examples"> block is missing the ## Examples heading present in 105/107 (98%) of siblings. Same restoration applied.

blas/base/dnrm2

package.json keywords lacked ndarray despite the package shipping a working .ndarray method (lib/ndarray.js, c_dnrm2_ndarray). The keyword is present in 99/107 (93%) of siblings and in every level-1 strided-vector peer (dasum, daxpy, dswap, ...). Keyword added.

blas/base/snrm2

Same omission as dnrm2: .ndarray method ships but ndarray was missing from the keywords. Present in single-precision peers (sasum, saxpy, sswap). Keyword added.

blas/base/gnrm2

Same omission for the generic variant: .ndarray method ships, peer gasum carries ndarray. Keyword added.

blas/base/gswap

Same omission for the generic swap: .ndarray method ships, typed peers dswap and sswap carry ndarray. Keyword added.

blas/base/zcopy

README.md jumped directly from <!-- /.c --> to the links section, with no <section class="related"></section> scaffold. The empty scaffold is the hook the related-links auto-populator keys off, and it is present in 106/107 (99%) of siblings — ccopy, dcopy, scopy all carry it. Only the empty scaffold (plus the surrounding HTML comments) was added; the inner content remains generator-owned.

Related Issues

Does this pull request have any related issues?

None.

Questions

Any questions for reviewers of this pull request?

No.

Other

Validation

  • Structural extraction: per-package walk of file tree, package.json shape, README section list, manifest.json shape, and test//benchmark//examples/ filenames; majority computed at the 75% threshold (⌈107 × 0.75⌉ = 81).
  • Three-agent drift validation (run in parallel against the 7 candidate corrections):
    • Opus semantic-review — confirm the deviation is not justified by a difference in what the package does.
    • Opus cross-reference — confirm tests/examples do not rely on the deviation and applying the fix does not break a documented contract.
    • Sonnet structural-review — confirm the majority pattern is what should be applied (and not an inapplicable element).
  • All seven candidates returned confirmed-drift / safe-to-fix from every reviewer and advanced.

Deliberately excluded from the run:

  • The __stdlib__ config block split (60% prevalence, no clear majority shape).
  • Missing benchmark/benchmark.js in dgemm/sgemm/ggemm: these packages benchmark across 40 parameter-combination files instead, by design.
  • Missing benchmark/benchmark.js and docs/repl.txt in shared/xerbla: these are utility packages (shared include dir, BLAS error handler) with no public computation to benchmark or REPL-document.
  • The ## Notes heading on enum-utility packages (diagonal-types, layout-resolve-str, ...): the <section class="notes"> element is present but intentionally empty, which is the convention for the enum family.
  • The <!-- <related-links> --> placeholder in the links section (only 25% prevalence — no majority).
  • ## See Also content in <section class="related">: auto-populated by the related-links generator, exempt from manual edits.

A local report with the full audit trail (feature distributions, dropped candidates and rationale, namespace random seed) lives at ~/drift-reports/drift-blas-base-2026-06-22.md.

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 running as a scheduled cross-package drift-detection routine: structural features were extracted across all 107 non-aggregator leaf packages of @stdlib/blas/base, deviations from the ≥75% majority pattern were surfaced, three reviewer agents (semantic, cross-reference, structural) validated each candidate fix in parallel, and the resulting one-line README and package.json corrections were applied per-package. A human will audit and promote the PR out of draft.


@stdlib-js/reviewers


Generated by Claude Code

claude added 7 commits June 22, 2026 16:15
Add the conventional `## Examples` heading inside the
`<section class="examples">` block. Present in 105/107 (98%) of sibling
packages in `@stdlib/blas/base`; absence here appears to be an
oversight shared with the `srotg` twin.
Add the conventional `## Examples` heading inside the
`<section class="examples">` block. Present in 105/107 (98%) of sibling
packages in `@stdlib/blas/base`; absence here mirrors the `drotg` twin.
Add `ndarray` to the keywords array. Present in 99/107 (93%) of sibling
packages and in every level-1 strided-vector sibling (dasum, daxpy,
dswap, ...); `dnrm2` ships an `.ndarray` method so the keyword applies.
Add `ndarray` to the keywords array. Present in 99/107 (93%) of sibling
packages and in single-precision peers (sasum, saxpy, sswap);
`snrm2` ships an `.ndarray` method so the keyword applies.
Add `ndarray` to the keywords array. Present in 99/107 (93%) of sibling
packages and in the generic `gasum` peer; `gnrm2` ships an `.ndarray`
method so the keyword applies.
Add `ndarray` to the keywords array. Present in 99/107 (93%) of sibling
packages and in the typed `dswap`/`sswap` peers; `gswap` ships an
`.ndarray` method so the keyword applies.
Add the empty `<section class="related"></section>` placeholder block
before the links section, matching the convention used by 106/107
(99%) of sibling packages in `@stdlib/blas/base`. The scaffold is the
hook that the related-links auto-populator keys off; the inner content
remains generator-owned.
@stdlib-bot stdlib-bot added the BLAS Issue or pull request related to Basic Linear Algebra Subprograms (BLAS). label Jun 22, 2026
@stdlib-bot

stdlib-bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

Package Statements Branches Functions Lines
blas/base/drotg $\\color{green}206/206$
$\\color{green}+0.00\\%$
$\\color{green}12/12$
$\\color{green}+0.00\\%$
$\\color{green}2/2$
$\\color{green}+0.00\\%$
$\\color{green}206/206$
$\\color{green}+0.00\\%$
blas/base/srotg $\\color{green}207/207$
$\\color{green}+0.00\\%$
$\\color{green}12/12$
$\\color{green}+0.00\\%$
$\\color{green}2/2$
$\\color{green}+0.00\\%$
$\\color{green}207/207$
$\\color{green}+0.00\\%$
blas/base/zcopy $\\color{green}394/394$
$\\color{green}+0.00\\%$
$\\color{green}17/17$
$\\color{green}+0.00\\%$
$\\color{green}4/4$
$\\color{green}+0.00\\%$
$\\color{green}394/394$
$\\color{green}+0.00\\%$

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

Comment thread lib/node_modules/@stdlib/blas/base/dnrm2/package.json Outdated
@kgryte kgryte marked this pull request as ready for review June 23, 2026 05:37
@kgryte kgryte requested a review from a team June 23, 2026 05:37
@kgryte kgryte changed the title chore: correct cross-package drift in blas/base README and package.json files docs: add missing headings and add missing placeholder section Jun 23, 2026
@kgryte kgryte added the Documentation Improvements, additions, or changes to documentation. label Jun 23, 2026
@kgryte kgryte merged commit 83e225d into develop Jun 23, 2026
35 checks passed
@kgryte kgryte deleted the philipp/drift-blas-base-2026-06-22 branch June 23, 2026 06:09
@stdlib-bot stdlib-bot added Needs Review A pull request which needs code review. and removed Needs Review A pull request which needs code review. labels Jun 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BLAS Issue or pull request related to Basic Linear Algebra Subprograms (BLAS). Documentation Improvements, additions, or changes to documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants