# GridBash launch-history artifact

This package reconstructs the public evidence behind the article's 130-star milestone. It fetches GridBash repository metadata, timestamped current stargazers, commits reachable from the default branch, pull requests, issues, releases, and npm download counts; it then freezes the milestone at the 130th ordered stargazer and generates JSON, CSV, and an exact cumulative SVG chart.

## Run it

Node.js 18 or newer is sufficient; there are no package dependencies.

```sh
node collect-public-history.mjs
node verify-snapshot.mjs
```

An optional `GITHUB_TOKEN` raises GitHub's API rate limit. The script never prints the token. Without a token, the current request count remains within GitHub's normal unauthenticated limit when it is not already exhausted.

## Outputs

- `outputs/public-history.json`: public API snapshot, durations, milestone counts, release list, and daily star history.
- `outputs/star-history.csv`: exact daily values through star #130.
- `outputs/star-history-ms-paint.svg`: deterministic chart generated from the CSV values.
- `outputs/manifest.json`: machine-readable claims, measurement boundary, and SHA-256 ledger for the published artifact.
- `owner-metrics-snapshot.json`: aggregate GitHub traffic and redacted Codex-session metadata available to the repository owner.
- `expected-snapshot.json`: checked values used by the verifier.

## Important boundary

GitHub's timestamped stargazer endpoint returns people who currently star the repository; it is not an immutable event ledger. If somebody who starred early later unstars, sorting the current list can move a reconstructed milestone. That is why the article cites the archived July 20 output and the verifier reports drift rather than silently rewriting history.

GitHub traffic and npm downloads are also not user counts. CI, release workflows, mirrors, dependency scanners, and repeated local installs can create clones and downloads; the artifact preserves those numbers because they are useful evidence about activity, then labels their limits.

The raw Codex archive is deliberately not published. The owner snapshot contains only session counts by metadata classification and carefully selected product-decision timestamps described in the article; it excludes credentials, unrelated conversations, complete prompts, and local paths.
