Skip to content

style: align outliers in streams/node with namespace majority patterns#11790

Closed
Planeshifter wants to merge 3 commits intodevelopfrom
philipp/drift-streams-node-2026-04-26
Closed

style: align outliers in streams/node with namespace majority patterns#11790
Planeshifter wants to merge 3 commits intodevelopfrom
philipp/drift-streams-node-2026-04-26

Conversation

@Planeshifter
Copy link
Copy Markdown
Member

Description

Aligning outliers in @stdlib/streams/node with namespace majority patterns (random namespace pick, seed 2564020013).

Namespace summary

  • Namespace: streams/node
  • Members analyzed: 16 non-autogenerated packages (debug, debug-sink, empty, from-array, from-circular-array, from-constant, from-iterator, from-strided-array, inspect, inspect-sink, join, split, stderr, stdin, stdout, transform)
  • Majority threshold: ≥75% (≥12/16)
  • Features with clear majority: file presence, package.json top-level keys, README L2 sections, errorConstruction, returnKind, jsdocShape.hasExample, common dependency set
  • Features without clear majority (excluded from drift detection): package.json scripts/stdlib sub-keys (empty across all members), validationPrologue predicate sequence (varies with each stream's parameter shape)

streams/node/stderr

Adds a ## See Also README section linking to @stdlib/streams/node/stdin and @stdlib/streams/node/stdout. Addresses namespace drift: 12 of 16 packages in streams/node (75%) have a populated ## See Also section, leaving stderr as an outlier with an empty <section class="related"> placeholder. The remaining outlier transform is excluded, as its empty related field is intentional for a base abstraction.

streams/node/stdin

Adds a ## See Also section to the README linking to @stdlib/streams/node/stderr and @stdlib/streams/node/stdout. The streams/node namespace has 12/16 packages (75%) with a populated ## See Also section; stdin was an outlier with an empty <section class="related"> placeholder. stderr and stdout receive parallel fixes; transform is excluded as its empty related field is intentional for a base abstraction.

streams/node/stdout

Adds a ## See Also section to the README linking to @stdlib/streams/node/stderr and @stdlib/streams/node/stdin. The streams/node namespace has 12 of 16 packages (75%) with a populated ## See Also section; stdout was an outlier with an empty <section class="related"> placeholder. stderr and stdin receive parallel fixes; transform remains intentionally empty as its namespace related field is curated as such for the base abstraction.

Related Issues

None.

Questions

No.

Other

Validation

  • Structural feature extraction: file tree, package.json shape, README section list, test/benchmark/example file naming.
  • Semantic feature extraction: per-package agents extracted public signature, validation prologue, error construction, JSDoc shape, and @stdlib/* dependency set from lib/main.js, lib/index.js, and lib/validate.js.
  • Three-agent drift validation: opus semantic-review, opus cross-reference, sonnet structural-review — all three returned confirmed-drift for stderr/stdin/stdout.
  • Deliberately excluded:
    • transform ## See Also (its related array in @stdlib/namespace/lib/namespace/t.js is curated for the base abstraction; manual README population would be clobbered by the auto-populator).
    • empty missing benchmark/benchmark.throughput.js (no data flow → throughput benchmark inapplicable).
    • join lib/defaults.js vs majority lib/defaults.json (would require consumer-code changes; out of scope).
    • transform missing lib/debug.js (uses three independent debug namespaces inline by design).
    • stderr/stdin/stdout missing lib/factory.js, lib/validate.js, lib/object_mode.js, etc. (singletons, not factories — these files would have no role).
    • errorConstruction outliers: stderr/stdin/stdout use plain-string because they have no error paths.
    • empty missing @stdlib/assert/is-nonnegative-number dep (no highWaterMark validation needed).

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 the cross-package API drift-detection routine. The routine selected streams/node uniformly at random (seed 2564020013), extracted structural and semantic features from every member, computed majority patterns at the 75% threshold, validated outlier findings via three independent reviewer agents (two opus, one sonnet), and applied the surviving high-signal mechanical corrections.


@stdlib-js/reviewers


Generated by Claude Code

claude added 3 commits April 26, 2026 04:21
Added `## See Also` README section linking to sibling singletons
`@stdlib/streams/node/stdin` and `@stdlib/streams/node/stdout`
(`See Also` is present in 75% of `streams/node` siblings).
Added `## See Also` README section linking to sibling singletons
`@stdlib/streams/node/stderr` and `@stdlib/streams/node/stdout`
(`See Also` is present in 75% of `streams/node` siblings).
Added `## See Also` README section linking to sibling singletons
`@stdlib/streams/node/stderr` and `@stdlib/streams/node/stdin`
(`See Also` is present in 75% of `streams/node` siblings).
@stdlib-bot
Copy link
Copy Markdown
Contributor

Coverage Report

No coverage information available.

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