Skip to content

bench: propagate recent fixes to array/bool and tools/git/scripts - #13951

Draft
Planeshifter wants to merge 2 commits into
developfrom
claude/ecstatic-heisenberg-8m9j3d
Draft

bench: propagate recent fixes to array/bool and tools/git/scripts#13951
Planeshifter wants to merge 2 commits into
developfrom
claude/ecstatic-heisenberg-8m9j3d

Conversation

@Planeshifter

Copy link
Copy Markdown
Member

Propagating fixes merged to develop between 2026-08-04 and 2026-08-05 (window ending b9396e354) to sibling packages.

Description

What is the purpose of this pull request?

This pull request:

  • propagates cf6c136 ("test: update import") to the last remaining array/bool benchmark using the permissive is-boolean import
  • propagates e7c2c09 ("build: replace uniq with sort -u to deduplicate directories in CI workflows") to tools/git/scripts relying on the same adjacency assumption

cf6c136array/bool benchmark

cf6c136 ("test: update import") swapped the permissive @stdlib/assert/is-boolean import for .isPrimitive in array/bool's test.entries.js, since the bare export accepts boxed Boolean objects while the assertion targets a primitive value. The same defect was the last holdout in array/bool/benchmark: benchmark.get.js still imported the bare is-boolean check against BooleanArray#get's primitive return, while every other benchmark in the directory already used .isPrimitive. Applied the identical one-line import fix.

Target:

  • @stdlib/array/bool (benchmark/benchmark.get.js)

e7c2c09tools/git/scripts

uniq only collapses adjacent duplicate lines, and e7c2c09 fixed this in .github/ workflows by sorting before deduplicating; the same assumption holds latently in tools/git/scripts, where git log author dates are non-monotonic and fragment daily totals across multiple uniq -c rows (5 distinct days yielded 11 rows on this repo's history). sort is inserted before uniq -c in the scripts whose consumers are order-insensitive, and the pipeline comments are updated accordingly.

Targets:

  • tools/git/scripts/median_commits_per_day
  • tools/git/scripts/mode_commits_per_day
  • tools/git/scripts/tabulate_total_commits_per_day

merges_per_day and merged_pull_requests_per_day are deliberately excluded: their per-day rows are user-visible output in chronological order (via git log --reverse), and a plain sort would reorder them lexicographically.

Related Issues

Does this pull request have any related issues?

This pull request does not have any related issues.

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.

Validation. All fix commits merged to develop in the 24-hour window were pattern-specified and searched repo-wide. Each candidate site was reviewed by two independent validation passes (defect confirmation with full-file reads), an adaptation pass, and a style-consistency pass against sibling conventions; only sites unanimously confirmed were included.

Deliberately excluded:

  • merges_per_day / merged_pull_requests_per_day (both validation passes rejected: the fix would reorder user-visible chronological output)
  • nine constants/** sites missing // asm type annotation (from 46e0a1a: all conflict with a trailing // eslint-disable-line id-length pragma; the repo has no convention for combining the two comments — maintainer decision required)
  • the wrong-distribution copy-paste JSDoc class from 075cabd (no reliable search signature; candidate regex has an extreme false-positive rate)
  • ULP-assertion test migrations (tracked campaign, see [RFC]: Migrate math/base/special packages from relative tolerance testing to ULP difference testing (tracking issue) #11352 — not defect fixes)

The remaining defect classes from the window's fix commits (075cabd description typos, 3d19e26 missing .js require extensions) have zero remaining sites repo-wide; those source commits fixed the last stragglers.

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 Claude Code running an automated fix-propagation routine: candidate sites were located by pattern search and each proposed patch was independently validated by multiple review passes before inclusion.


@stdlib-js/reviewers

🤖 Generated with Claude Code

https://claude.ai/code/session_019QgequPdX81fkqyxWXaLB6


Generated by Claude Code

claude added 2 commits August 5, 2026 13:36
Propagates fix from cf6c136 ("test: update import") to the sibling
`array/bool` benchmark which still imported the permissive `is-boolean`
utility while asserting a primitive boolean return value.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019QgequPdX81fkqyxWXaLB6
Propagates fix from e7c2c09 ("build: replace `uniq` with `sort -u` to
deduplicate directories in CI workflows") to `tools/git/scripts` relying
on the same adjacency assumption. `uniq` only collapses adjacent
duplicate lines, and `git log` author dates are not monotonic, so daily
totals were fragmented across multiple count rows. Only order-insensitive
consumers (`median.awk`, `mode.awk`, `tabulate.awk`) are affected by the
inserted `sort`; scripts whose row ordering is user-visible were left
unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019QgequPdX81fkqyxWXaLB6
@stdlib-bot stdlib-bot added the Good First PR A pull request resolving a Good First Issue. label Aug 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Good First PR A pull request resolving a Good First Issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants