The README dashboard is an animated SVG generated from the published JSON in this repository. SVG images embedded in a GitHub README do not fetch JSON themselves. Rendering happens before commit; the resulting image contains the values and their source dates.
The annual rolling window differs from the calendar month buckets in the chart. Package inventory can differ from the download cohort. Star traces connect two snapshots, are normalized independently per panel, and do not represent daily observations. Numbers remain fixed during animation. Orbit rings, signals, loading stages and constellation connections are decorative, not live telemetry or proof of integration.
From the repository root, using Python 3 with its standard library:
python3 scripts/render-visual-profile.py
python3 scripts/render-constellation.py
node scripts/verify-profile.mjsThe dashboard's layout and motion source is scripts/templates/ruvnet-dashboard.svg. Its sample text is replaced by the renderer from the JSON sources on every build. Edit the renderer when adding data fields. Chapter banners and the constellation map are generated by scripts/render-constellation.py.
The weekly registry refresh runs on Mondays at 05:17 UTC and regenerates all SVG visuals in the same validated commit. A separate manual workflow and source-change trigger also regenerate visuals from committed data; they do not pretend that unchanged source measurements are fresh. GitHub measurements retain their own verification date. Images may remain cached briefly after a commit.
All SVGs are self-contained, with no scripts, external fonts or network calls. A prefers-reduced-motion rule disables animation. The dashboard has a once-only intro, followed by looping flourishes. Clients that suppress SVG animation may show a static frame; the Markdown tables remain the accessible source for the metrics and project links.
The profile leads with the dashboard, then the constellation, a short capability table, twelve linked project cards and practical entry points. Registry, memory and evidence chapters combine SVG illustrations with selectable Markdown text. Historical catalogs remain inside an expandable archive.
The cards and process diagrams illustrate roles without duplicating changing metric values. All illustrations are regenerated by scripts/render-constellation.py, which the existing visual workflow runs after source changes.
Motion uses role specific radar sweeps, floating memory layers, routed signals, orbital particles and evaluation traces. Titles and descriptions stay still. The capability cutaway is a conceptual illustration, not a benchmark or live system monitor. Reduced motion disables these effects.
A Monday morning review in ChatGPT refreshes the GitHub evidence, checks the registry run, reconciles the README and SVGs, and publishes validated changes. Source failures retain the last verified values with their original dates. The review reports a commit link or a specific blocker.
The dashboard and npm-cumulative-growth.svg sum the measured calendar month buckets. This period cumulative series is not lifetime downloads and does not use the separate rolling annual total. The large chart includes a linear zero baseline, every monthly observation, fixed exact totals and a comparison of last complete versus first complete monthly volume. An expandable Markdown table preserves the full monthly and cumulative numbers. Both charts are regenerated by scripts/render-visual-profile.py.
When current month data is available, the charts append one partial bucket, mark it with an asterisk and show its reported through date. Trailing days with zero downloads across the entire cohort are conservatively excluded pending confirmation. Period cumulative totals include that partial bucket; rolling annual totals remain a separate 365 day measurement. npm and Rust retain separate verification dates.
Run python3 scripts/refresh-registry-metrics.py from the repository root. It recounts the known npm maintainer cohort and crates.io owner inventory, captures dated per-package and daily evidence, regenerates the README, package summary and SVGs, and runs the regression tests and profile verifier. It does not commit or push. The Monday workflow invokes this same collector without changing its schedule or permissions. Review and publish the resulting files together only after all checks pass.
For the 100 million milestone, use npm period-cumulative events from 2025-10-01 onward plus cumulative Rust downloads. The command prints combined_milestone_total, remaining_to_100m, and reached_100m. This deliberately combines different registry windows and counts download events, including CI and reinstalls, rather than unique users. Never substitute the moving 365-day npm total for the fixed-period milestone basis.
The daily collector excludes trailing days that are zero across the entire npm cohort from reported coverage, then ends the separate 365-day window at that same last reported day. It preserves the fixed cumulative start date as months advance. Every requested package and day must be returned with a valid nonnegative count; API failures or regressed reporting coverage stop before overwriting the verified snapshot. The measured-through date may lag the date of the successful recheck.
Publish only against the current main head using a fast-forward or expected-head check. If another refresh changes main during collection, recheck the remote measurement dates and merge or recollect instead of force-pushing older data. The Monday job and visual job share the existing concurrency group; their normal fast-forward pushes reject an intervening update.
GitHub account and flagship claims are reconciled from the same complete dated inventory by scripts/render-github-metrics.py. Validation rejects stale flagship stars, forks or subscribers. The registry collector retries temporary npm download API 404 responses with bounded backoff and never interprets a missing response as zero. Registry publication includes the daily ledger and derived dashboard milestone so they cannot silently retain older totals.
