Skip to content

chore: add missing keywords to number/float32/base/{div,identity,ulp-difference} - #16278

Draft
Planeshifter wants to merge 3 commits into
developfrom
claude/cool-johnson-6po512
Draft

Planeshifter wants to merge 3 commits into
developfrom
claude/cool-johnson-6po512

Conversation

@Planeshifter

Copy link
Copy Markdown
Member

Description

What is the purpose of this pull request?

This pull request:

  • adds package.json keywords that 15 of the 17 number/float32/base packages carry and these three packages lack.

number/float32/base/div

Adds the single keyword, which 88% of siblings carry. add, mul, and sub all pair number, float, single, and single-precision, and div was the only arithmetic package without single.

number/float32/base/identity

Adds the number keyword, which 88% of siblings carry. The number/float64/base/identity counterpart also lists number.

number/float32/base/ulp-difference

Adds the single and number keywords (88% of siblings each). When the keyword list was adapted from number/float64/base/ulp-difference, float64 became float32, but the double and number entries were dropped rather than carried over as single and number.

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? This may include screenshots, references, and/or implementation notes.

Namespace summary. number/float32/base has 17 member packages, not counting the assert sub-namespace. A pattern counts as the majority when at least 13 packages (75%) share it. The comparison covered:

  • Structural: file tree, package.json keys, directories, manifest.json keys, README sections, and keywords.
  • Semantic: public signature, return kind, validation prologue, error construction, JSDoc shape, and dependencies.

The semantic features showed no drift.

Validation. Structural features were extracted from the filesystem. Semantic features came from one agent per package. A semantic, a cross-reference, and a structural reviewer each confirmed every correction as drift. No test, example, or tooling depends on the exact keyword arrays. The following were excluded on purpose:

  • Missing native-addon files and missing C APIs README sections in from-binary-string, to-binary-string, to-int32, and to-uint32. Adding a C implementation is not a mechanical fix.
  • Missing ## See Also sections. These are generator-owned.
  • Per-package headers under include/. These are package-specific by design.

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

If you answered "yes" to using AI assistance, please provide a short disclosure indicating how you used AI assistance. This helps reviewers determine how much scrutiny to apply when reviewing your contribution. Example disclosures: "This PR was written primarily by Claude Code." or "I consulted ChatGPT to understand the codebase, but the proposed changes were fully authored manually by myself.".

This PR was written primarily by Claude Code. It came from an automated run that compares sibling packages to detect API drift.


@stdlib-js/reviewers


Generated by Claude Code

Added missing `single` keyword (present in 88% of `number/float32/base` siblings, including `add`, `mul`, and `sub`).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017gCTHWvPZr3r87WBahjkw4
Added missing `number` keyword (present in 88% of `number/float32/base` siblings and in `number/float64/base/identity`).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017gCTHWvPZr3r87WBahjkw4
Added missing `single` keyword (present in 88% of `number/float32/base` siblings) and missing `number` keyword (present in 88% of siblings and in `number/float64/base/ulp-difference`).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017gCTHWvPZr3r87WBahjkw4
@stdlib-bot

Copy link
Copy Markdown
Contributor

Coverage Report

Package Statements Branches Functions Lines
number/float32/base/div $\\color{green}177/177$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}177/177$
$\\color{green}+100.00\\%$
number/float32/base/identity $\\color{green}170/170$
$\\color{green}+100.00\\%$
$\\color{green}5/5$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}170/170$
$\\color{green}+100.00\\%$
number/float32/base/ulp-difference $\\color{green}213/213$
$\\color{green}+100.00\\%$
$\\color{green}11/11$
$\\color{green}+100.00\\%$
$\\color{green}3/3$
$\\color{green}+100.00\\%$
$\\color{green}213/213$
$\\color{green}+100.00\\%$

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

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants