npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@mmnto/pack-rust-architecture

v1.35.0

Published

Baseline architectural lessons for Rust + Bevy ECS consumers. ADR-097 Stage 1 pilot. Numeric safety, compile-time discipline, ECS hot-path patterns, schedule edges, determinism fixtures, test-vs-production parity.

Readme

@mmnto/pack-rust-architecture

Baseline architectural lessons for Rust + Bevy ECS consumers. ADR-097 Stage 1 pilot under the @mmnto scope (sister to @mmnto/pack-agent-security).

Status

ADR-097 Stage 1 alpha pilot. 8 lessons in 4 tiers, sourced from mmnto-ai/liquid-city PR #134's review cycle (6 lessons via totem review-learn extraction) plus 2 hand-authored seeds for Bucket B1 + B2 territory that didn't surface from automated extraction. Compilation to compiled-rules.json runs in the totem CLI workspace; the lessons/ directory holds source-of-truth markdown for human review and re-compile.

Coverage

The pack targets Rust + Bevy ECS consumers. Rules split across four tiers:

| Tier | Count | Universality | Examples | | ----------------------- | ----- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | Numeric safety | 3 | Any Rust + linalg/grid code | Float-to-int overflow → DoS guards; linvel.norm()f32::INFINITY finiteness checks; runtime+const-assert pairing for tuning constants | | Compile-time discipline | 1 | Any Rust | Float arithmetic methods (.floor(), .ceil(), .sqrt(), etc.) are non-const; rewrite as direct ops + cast | | Bevy ECS | 3 | Bevy consumers | Local<Vec<T>> hot-path allocation pattern; schedule edges as producer-consumer contracts; multi-archetype determinism fixtures | | Testing discipline | 1 | Any test-fixture parity work | Test world builders mirror production install order |

Each lesson is self-contained markdown with citation anchors back to the genesis evidence (PR / round-number / file-path), enabling consumers to drill into the underlying CR/GCA review threads where the architectural invariant was originally surfaced.

Lesson manifest

| Hash | Tier | Title | | ----------------- | ----------------------- | ------------------------------------------------------------------- | | lesson-2d305b47 | Numeric safety | linvel.norm() overflow despite finite components | | lesson-d020574f | Numeric safety | Float stride loop-bound overflow / DoS | | lesson-c79543ba | Numeric safety | Tuning constants need declaration-site const-asserts | | lesson-de45dee2 | Compile-time discipline | Float arithmetic methods are unavailable in Rust const-eval | | lesson-8cefba95 | Bevy ECS | Bevy hot-path: Local<Vec<T>> instead of per-tick collect | | lesson-b25f0c4a | Bevy ECS | Bevy schedule edges encode producer-consumer contracts | | lesson-691fbb72 | Bevy ECS | Determinism test must use 2+ archetypes for sort to be load-bearing | | lesson-9bc7ac4a | Testing discipline | Test world builders must install resources/map in production order |

Coverage boundaries (honest framing)

This pack is a baseline, not a comprehensive Rust + Bevy lint suite. The 8 lessons capture the highest-signal architectural invariants surfaced by one consumer's review cycles (slice-6 spawn dispersion + vehicle-agent collision in mmnto-ai/liquid-city). A Rust consumer with no Bevy footprint will find ~50% direct applicability (the 4 Rust-universal lessons); a Rust + Bevy consumer with determinism requirements will find ~100% applicability.

Install

Add to totem.config.ts:

extends: [
  '@mmnto/pack-rust-architecture',
],

Plus pnpm add -D -w @mmnto/pack-rust-architecture per ADR-085 Layer 1 adoption.

Substrate gap (v0.1)

This pack is the first non-trivial consumer of the ADR-097 § 10 Pack v0.1 substrate, and as such it surfaces a known gap in the substrate that v0.1 papers over with a side-channel:

PackRegistrationAPI.registerLanguage(extension, lang, wasmLoader) wires the web-tree-sitter side of the engine — loadGrammar (ast-classifier.ts), ast-query.ts (code-element extraction), ast-gate.ts (lite-build dispatch), and the lite-build wasm-shim. The runtime hot path for ast-grep rule matching, however, is @ast-grep/napi, which has its own registerDynamicLanguage API that the substrate does not surface. At @ast-grep/[email protected] only Lang.Html, Lang.JavaScript, Lang.Tsx, Lang.Css, and Lang.TypeScript are built-in; non-built-in languages are unreachable from parse(name, source) until registerDynamicLanguage is called with the parser binding (e.g., from @ast-grep/lang-rust).

v0.1 workaround (this pack): register.cjs invokes napi.registerDynamicLanguage({ rust }) directly, alongside the substrate's api.registerLanguage('.rs', 'rust', wasmLoader) call. The pack imports @ast-grep/lang-rust (parser binding) and @ast-grep/napi (the engine's napi instance) directly. The dual registration ensures Rust ast-grep rules dispatch correctly through both paths.

Visible debt: This side-channel is documented as time-boxed precedent in mmnto-ai/totem#1774, gated on N≥2 pack consumers before the API shape locks. Once a second non-trivial pack lands, registerNapiLanguage will be lifted into PackRegistrationAPI and this pack will migrate to the API-driven path. Future packs that copy the side-channel pattern should link back to that ticket so the visible-debt tally stays accurate.

Provenance

  • Initial corpus: PR mmnto-ai/liquid-city#134 review cycle (R1-R11 across 12.4h, 11 review rounds, 39 inline comments).
  • Extraction tooling: totem review-learn (Sonnet 4.6 LLM, ~30s per cycle, ~10k tokens).
  • Manual seeding: Lessons de45dee2 (B1) and b25f0c4a (B2) hand-authored for Rust const-eval limits and Bevy schedule-edge invariants that didn't surface from automated extraction. Cited evidence: PRs mmnto-ai/liquid-city#132 R1 (B1) and mmnto-ai/liquid-city#125 R6 + mmnto-ai/liquid-city#134 task 5 (B2).
  • Curation: lc-Claude (LC lane) selected the 8-lesson active set per universality × architectural-invariant × enforceability scoring; dev-Gemini (synthesis lane) confirmed the selection.
  • Audit trail: audits/internal/2026-04-30-ecosystem-churn-diagnosis.md (totem-strategy disk) holds the cross-agent diagnostic thread that produced this pack.

License

MIT. Same as the Totem monorepo.