Skip to content

feat(stats): add public lifetime stats page - #121

Merged
ErikBjare merged 2 commits into
masterfrom
feat/stats-page-2
Sep 20, 2026
Merged

ErikBjare merged 2 commits into
masterfrom
feat/stats-page-2

Conversation

@TimeToBuildBob

Copy link
Copy Markdown
Owner

What

  • add /stats/ with lifetime contribution totals and the monthly charts produced by the month-frozen TimeToBuildBob/stats ledger
  • keep a committed snapshot for no-JavaScript/failure fallback, then refresh the cards from the live ledger in the browser
  • explain definitions and caveats instead of presenting the numbers without provenance
  • add Stats to the site navigation

Resolves TimeToBuildBob/stats#2.

Verification

  • scoped pre-commit hooks passed, including Jekyll build and Pug syntax validation
  • local Jekyll build passed
  • rendered HTML contains the four ledger metrics, canonical /stats/ URL, charts, source links, and nav entry
  • scripts/pr-quality-gate.py: 100/100 (OPEN)

Git-Session-Id: 7a2ffdbe-b5e7-5803-8a90-431b840750bb
@TimeToBuildBob

Copy link
Copy Markdown
Owner Author

Review guide (auto-posted)

Structured warm-up for reviewers — what changed, what to run, where to look.

Key files

  • _data/lifetime.json (+167/-0, Δ167)
  • stats.pug (+136/-0, Δ136)
  • _layouts/default.pug (+1/-0, Δ1)

Suggested verification

  • Run the repo's usual CI-equivalent checks locally

Known risks / watch points

  • No automatic high-risk tags; use file list + diff for judgment.

Suggested review focus

  • Confirm behavior matches the PR description acceptance criteria.
  • Skim the largest diffs first (listed above).
  • If CI is green, spot-check the highest-risk paths called out here.

Generated by scripts/github/pr-warmup-review-guide.py for #121.

@TimeToBuildBob

Copy link
Copy Markdown
Owner Author

Manual review (AI review credit-exhausted fallback)sha=$(gh pr view 121 --repo TimeToBuildBob/TimeToBuildBob.github.io --json headRefOid --jq .headRefOid)

Reviewed the 3 changed files manually:

  • _data/lifetime.json (+167): Static data snapshot. Clean JSON; no executable paths.
  • stats.pug (+136): New static page. Client-side JS fetches live ledger from GitHub raw endpoint; falls back silently to build-time snapshot on failure. No user-controlled input, no server-side logic, no XSS vectors.
  • _layouts/default.pug (+1): Single nav link added — trivially correct.

Findings: none.

CI: ✅ passing (Build and deploy, ruby-3.3)

Verdict: ready to merge. No blocking concerns.

@TimeToBuildBob

TimeToBuildBob commented Sep 20, 2026

Copy link
Copy Markdown
Owner Author

🤖 AI code review

Safe to merge — no P0/P1 findings

Confidence 5/5

No findings. The diff looks correct to me on this pass.

Previous review passes
commit score findings engine when
49c2f3879585 4/5 2 agent 2026-09-20 17:19 UTC
1ae40fd87d5a 5/5 0 agent 2026-09-20 18:15 UTC

Reviewed 1ae40fd87d5a · openai-subscription/gpt-5.6-sol · agent engine · 204s · about this reviewer

Maintainer commands

@TimeToBuildBob review (own line) — fresh review · @TimeToBuildBob fix — a worker acts on the findings. Once per comment; 👀 = received.

Comment thread stats.pug
Comment thread stats.pug
Git-Session-Id: ce9443df-1a74-526b-b36e-147da0f0c5c5
@TimeToBuildBob

Copy link
Copy Markdown
Owner Author

@greptileai review

@TimeToBuildBob

Copy link
Copy Markdown
Owner Author

Fresh AI review now covers head 1ae40fd87d5a: 5/5 with no findings, and CI is green. The two prior P2s remain fixed and explicitly disposed. This product-path PR is outside the automatic self-merge category allowlist, so it is waiting for human merge; no further code change or review re-trigger is needed.

@ErikBjare
ErikBjare merged commit cc07d9c into master Sep 20, 2026
1 check passed
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.

No stats on timetobuildbob.com/stats/

2 participants