Skip to content

docs: add missing period and align keywords in constants/float16#11849

Merged
kgryte merged 15 commits intodevelopfrom
claude/compassionate-ritchie-CuGzQ
May 1, 2026
Merged

docs: add missing period and align keywords in constants/float16#11849
kgryte merged 15 commits intodevelopfrom
claude/compassionate-ritchie-CuGzQ

Conversation

@Planeshifter
Copy link
Copy Markdown
Member

Aligning outliers in constants/float16 with namespace majority patterns (random namespace pick, seed 20260429).

Description

This pull request normalizes package.json metadata across 15 outlier packages in @stdlib/constants/float16 so that they conform to the patterns observed in the rest of the namespace. All edits are purely additive metadata fixes — keyword additions and one trailing-period restoration — that do not change any observable behavior, public signature, or test expectation.

Namespace summary

  • Target namespace: @stdlib/constants/float16
  • Member count: 53 (no autogenerated members; all 53 eligible)
  • 75% conformance threshold: 40 / 53 packages
  • Features analyzed: file tree, package.json top-level keys, package.json scripts/stdlib subkeys, package.json keywords, package.json description shape, manifest.json shape, README ##/### section sequence, docs/types/index.d.ts shape, docs/repl.txt shape, dependencies / devDependencies sets.
  • Features with a clear majority and detected drift:
    • package.json keywords (set-valued; 10 majority keywords, 14 outliers)
    • package.json description trailing period (scalar; 52/53 = 98% conformance, 1 outlier)
  • Features with a clear majority and zero drift: package.json top-level key set (18 keys, 100% uniform); file tree of 8 universal files (100% uniform); empty dependencies / devDependencies / scripts / stdlib (100% uniform); docs/types/index.d.ts declare const FLOAT16_X: number; shape (100% uniform).
  • Features excluded due to no clear majority:
    • README ## section sequence — only 26/53 (49%) follow [Usage, Examples]; remainder add C APIs (15) or See Also (13). The C APIs section is conditional on the package having a C native binding (manifest.json + include/*.h), which itself is intentional and not drift. See Also cross-links are optional and per-package.
    • manifest.json / include/*.h files (15-16/53) — present only on integer-valued constants that ship C bindings; legitimately absent on the floating-point constants. Conditional, not drift.
    • Constant-level JSDoc @see tag — borderline at 41/53 = 77%, but adding @see requires per-package research (Wikipedia / OEIS links) and is non-mechanical. Excluded as out of scope for an additive metadata pass.
  • Features not applicable to this namespace: semantic features (public function signature, validation prologue, error-construction style, return kind) — constants/* packages export single values rather than functions, so no semantic majority vote was meaningful. Documented and skipped.

Per-outlier corrections

constants/float16/ln-two

Added float keyword (51/53 = 96% of constants/float16 siblings carry it). Closes a one-keyword gap; no other changes.

constants/float16/max-base10-exponent

Added float16 keyword (44/53 = 83%). Brings the package in line with the rest of the namespace; metadata-only.

constants/float16/max-base10-exponent-subnormal

Added float16 keyword (44/53 = 83%). Same drift pattern as the rest of the *-base*-exponent* group.

constants/float16/max-base2-exponent

Added float16 keyword (44/53 = 83%). Standardizes discoverability across the exponent constants.

constants/float16/max-base2-exponent-subnormal

Added float16 keyword (44/53 = 83%). Mirrors the fix applied across the *-base*-exponent* group.

constants/float16/max-safe-integer

Added mathematics and math keywords (51/53 = 96% each). Both safe-integer constants in the namespace had the same drift; this is the max- half.

constants/float16/min-base10-exponent

Added float16 keyword (44/53 = 83%). Same drift pattern as its max- counterpart.

constants/float16/min-base10-exponent-subnormal

Added ieee754 keyword (52/53 = 98%). The only package in the namespace lacking the ieee754 keyword; the constant is defined directly by the IEEE 754 standard.

constants/float16/min-base2-exponent

Added float16 keyword (44/53 = 83%). Same drift pattern as the rest of the exponent group.

constants/float16/min-base2-exponent-subnormal

Added float16 keyword (44/53 = 83%). Completes the exponent-group cleanup.

constants/float16/min-safe-integer

Added mathematics and math keywords (51/53 = 96% each). Companion fix to max-safe-integer.

constants/float16/num-bytes

Added float16 keyword (44/53 = 83%). The package describes the byte size of a float16 value; the keyword belongs.

constants/float16/precision

Added float16 keyword (44/53 = 83%). Describes the float16 significand precision; the keyword belongs.

constants/float16/sqrt-three

Added float keyword (51/53 = 96%). The package already carries float16 and floating-point; float was the lone gap.

constants/float16/ln-half

Added the trailing period to the description field (52/53 = 98% of namespace siblings end the description string with a period). Pure punctuation fix.

Questions

No.

Other

Validation audit

Three independent agents reviewed every flagged outlier before any commit was made:

  • Semantic review (opus): for each outlier, inspected the package's lib/index.js and README.md and confirmed the missing keyword (or trailing period) reflects stale metadata rather than a deliberate semantic difference. Verdict on all 15 outliers: confirmed-drift.
  • Cross-reference review (opus): for each outlier, verified that no test/test.js, examples/index.js, or sibling package documentation references the affected metadata in a way that would require a cascading change. Verdict on all 15 outliers: safe (mechanical, no cascade).
  • Structural review (sonnet): for each outlier, confirmed the majority pattern is the right pattern to apply and that the "missing" item is not legitimately inapplicable. Verdict on all 15 outliers: confirmed-drift.

What was deliberately excluded from this pass:

  • README section drift on C APIs and See Also — conditional or optional, not enforceable as a single majority pattern.
  • Constant-level JSDoc @see tag drift — borderline majority and non-mechanical (would require per-package research for the right reference link).
  • The single keyword inherited by ln-half and any other extras that are not part of the majority set — outside the scope of an additive metadata pass.
  • All semantic features — not applicable to a value-exporting constants/* namespace.

The full local audit report (per-feature distributions, full outlier lists, drop reasons, and the random seed) is preserved at ~/drift-reports/drift-constants-float16-2026-04-29.md.

Process notes

This PR was opened on branch claude/compassionate-ritchie-CuGzQ because the harness pre-assigned that branch for this session; the routine's preferred philipp/drift-<namespace>-<date> form is documented in the local report.

Checklist

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 end-to-end by Claude Code running the cross-package API drift detection routine. Random namespace selection, structural feature extraction, majority-vote computation, and three-agent validation (two opus, one sonnet) ran automatically; the per-package metadata edits, commits, and PR body were composed by Claude Code based on the validated drift findings. A human maintainer should audit before promoting from draft.


@stdlib-js/reviewers


Generated by Claude Code

claude added 15 commits April 29, 2026 20:32
Added the `float` keyword (present in 51/53 = 96% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
…onventions

Added the `float16` keyword (present in 44/53 = 83% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
…amespace conventions

Added the `float16` keyword (present in 44/53 = 83% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
…nventions

Added the `float16` keyword (present in 44/53 = 83% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
…mespace conventions

Added the `float16` keyword (present in 44/53 = 83% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
…entions

Added the `mathematics` and `math` keywords (present in 51/53 = 96% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
…onventions

Added the `float16` keyword (present in 44/53 = 83% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
…amespace conventions

Added the `ieee754` keyword (present in 52/53 = 98% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
…nventions

Added the `float16` keyword (present in 44/53 = 83% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
…mespace conventions

Added the `float16` keyword (present in 44/53 = 83% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
…entions

Added the `mathematics` and `math` keywords (present in 51/53 = 96% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
Added the `float16` keyword (present in 44/53 = 83% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
Added the `float16` keyword (present in 44/53 = 83% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
Added the `float` keyword (present in 51/53 = 96% of `constants/float16` siblings) to the package.json keywords array.

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
…nventions

Added the trailing period to the package description (present in 52/53 = 98% of `constants/float16` siblings).

https://claude.ai/code/session_011sBeKV2dRzvYJiudfJuS7V
@stdlib-bot
Copy link
Copy Markdown
Contributor

Coverage Report

Package Statements Branches Functions Lines
constants/float16/ln-half $\color{green}50/50$
$\color{green}+100.00%$
$\color{green}1/1$
$\color{green}+100.00%$
$\color{green}0/0$
$\color{green}+100.00%$
$\color{green}50/50$
$\color{green}+100.00%$
constants/float16/ln-two $\color{green}51/51$
$\color{green}+100.00%$
$\color{green}1/1$
$\color{green}+100.00%$
$\color{green}0/0$
$\color{green}+100.00%$
$\color{green}51/51$
$\color{green}+100.00%$
constants/float16/max-base10-exponent-subnormal $\color{green}54/54$
$\color{green}+100.00%$
$\color{green}1/1$
$\color{green}+100.00%$
$\color{green}0/0$
$\color{green}+100.00%$
$\color{green}54/54$
$\color{green}+100.00%$
constants/float16/max-base10-exponent $\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/float16/max-base2-exponent-subnormal $\color{green}54/54$
$\color{green}+100.00%$
$\color{green}1/1$
$\color{green}+100.00%$
$\color{green}0/0$
$\color{green}+100.00%$
$\color{green}54/54$
$\color{green}+100.00%$
constants/float16/max-base2-exponent $\color{green}54/54$
$\color{green}+100.00%$
$\color{green}1/1$
$\color{green}+100.00%$
$\color{green}0/0$
$\color{green}+100.00%$
$\color{green}54/54$
$\color{green}+100.00%$
constants/float16/max-safe-integer $\color{green}57/57$
$\color{green}+100.00%$
$\color{green}1/1$
$\color{green}+100.00%$
$\color{green}0/0$
$\color{green}+100.00%$
$\color{green}57/57$
$\color{green}+100.00%$
constants/float16/min-base10-exponent-subnormal $\color{green}50/50$
$\color{green}+100.00%$
$\color{green}1/1$
$\color{green}+100.00%$
$\color{green}0/0$
$\color{green}+100.00%$
$\color{green}50/50$
$\color{green}+100.00%$
constants/float16/min-base10-exponent $\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/float16/min-base2-exponent-subnormal $\color{green}54/54$
$\color{green}+100.00%$
$\color{green}1/1$
$\color{green}+100.00%$
$\color{green}0/0$
$\color{green}+100.00%$
$\color{green}54/54$
$\color{green}+100.00%$
constants/float16/min-base2-exponent $\color{green}54/54$
$\color{green}+100.00%$
$\color{green}1/1$
$\color{green}+100.00%$
$\color{green}0/0$
$\color{green}+100.00%$
$\color{green}54/54$
$\color{green}+100.00%$
constants/float16/min-safe-integer $\color{green}57/57$
$\color{green}+100.00%$
$\color{green}1/1$
$\color{green}+100.00%$
$\color{green}0/0$
$\color{green}+100.00%$
$\color{green}57/57$
$\color{green}+100.00%$
constants/float16/num-bytes $\color{green}47/47$
$\color{green}+100.00%$
$\color{green}1/1$
$\color{green}+100.00%$
$\color{green}0/0$
$\color{green}+100.00%$
$\color{green}47/47$
$\color{green}+100.00%$
constants/float16/precision $\color{green}47/47$
$\color{green}+100.00%$
$\color{green}1/1$
$\color{green}+100.00%$
$\color{green}0/0$
$\color{green}+100.00%$
$\color{green}47/47$
$\color{green}+100.00%$
constants/float16/sqrt-three $\color{green}51/51$
$\color{green}+100.00%$
$\color{green}1/1$
$\color{green}+100.00%$
$\color{green}0/0$
$\color{green}+100.00%$
$\color{green}51/51$
$\color{green}+100.00%$

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

@Planeshifter Planeshifter changed the title style: align constants/float16 outliers with namespace majority patterns docs: add missing period and align keywords in constants/float16 Apr 30, 2026
@Planeshifter Planeshifter marked this pull request as ready for review April 30, 2026 01:32
@Planeshifter Planeshifter requested a review from a team April 30, 2026 01:32
@stdlib-bot stdlib-bot added the Needs Review A pull request which needs code review. label Apr 30, 2026
@Planeshifter Planeshifter requested a review from kgryte April 30, 2026 01:32
@kgryte kgryte removed the Needs Review A pull request which needs code review. label May 1, 2026
@kgryte kgryte merged commit e67e59e into develop May 1, 2026
41 checks passed
@kgryte kgryte deleted the claude/compassionate-ritchie-CuGzQ branch May 1, 2026 21:46
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.

4 participants