Skip to content

feat(ci): replace the impact-card action with our own brand-styled renderer#4121

Merged
JSONbored merged 1 commit into
mainfrom
gittensor-impact-card-redesign
Jul 8, 2026
Merged

feat(ci): replace the impact-card action with our own brand-styled renderer#4121
JSONbored merged 1 commit into
mainfrom
gittensor-impact-card-redesign

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

  • matthewevans/gittensor-impact-action's generic orange/gray card template didn't match this site's actual brand. Adds scripts/gittensor-impact-card.mjs, which fetches the same public api.gittensor.io data but renders 12-week sparklines (merged PRs, contributors, lines changed) and a meter (emission share) styled with this repo's real tokens (DM Sans / Space Grotesk, citron accent, ink surfaces from apps/gittensory-ui/src/styles.css), plus the real Gittensor mark (fetched live from gittensor.io/gt-logo.svg) and this repo's own new icon (apps/gittensory-ui/public/brand/gittensory-icon-citron.svg, from the brand refresh in feat(ui): rebrand to the new citron G mark and (icon)ittensory wordmark #4119).
  • .github/workflows/gittensor-impact.yml now runs our own script instead of the third-party action, and drops the environment: gittensor-impact required-approval gate — that gate existed specifically because the action was ~1.5-day-old untrusted third-party code; running our own script removes that risk, so the job goes back to fully automatic (still contents: write scoped to just the one job).
  • README swaps the light/dark <picture> for a single dark <img>, since the design is dark-only by choice.

Scope

Validation

  • npm run actionlint
  • git diff --check
  • Ran node scripts/gittensor-impact-card.mjs JSONbored/gittensory <file> directly — confirmed real data (893 PRs, 44 contributors, 210k lines, 10.0% emission share) renders correctly into a valid SVG.
  • npm run test:coverage / ui:* — not applicable, scripts/** is excluded from Codecov and this doesn't touch apps/gittensory-ui/** behavior beyond the already-separate brand-refresh PR.

Safety

  • No secrets, wallet details, hotkeys, coldkeys, user PATs, private keys, raw trust scores, private rankings, or private maintainer evidence are exposed.
  • Public GitHub text/output only ever shows aggregate merged-PR/LOC/emission-share numbers, matching the existing framing.

…nderer

matthewevans/gittensor-impact-action's generic orange/gray template didn't
match this site's actual design (DM Sans + Space Grotesk, citron accent,
ink surfaces). scripts/gittensor-impact-card.mjs replaces it: same data
source (the public api.gittensor.io endpoints), but renders 12-week
sparklines (merged PRs, contributors, lines changed) and a meter (emission
share) styled with this repo's own tokens, plus the real Gittensor mark
and this repo's own icon.

Since the workflow no longer runs third-party code, drops the
environment: gittensor-impact required-approval gate that existed
specifically to gate that untrusted action — the job still runs with
contents: write scoped to itself, just no longer needs a human click on
every scheduled run.

README now embeds a single dark SVG (dropping the light/dark <picture>)
since the design is dark-only by choice, not because a light variant is
missing.
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
gittensory-ui e76b853 Commit Preview URL

Branch Preview URL
Jul 08 2026, 02:21 AM

@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@JSONbored JSONbored self-assigned this Jul 8, 2026
@codecov

codecov Bot commented Jul 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.65%. Comparing base (e86933f) to head (e76b853).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4121   +/-   ##
=======================================
  Coverage   93.65%   93.65%           
=======================================
  Files         384      384           
  Lines       35860    35860           
  Branches    13158    13158           
=======================================
  Hits        33583    33583           
  Misses       1618     1618           
  Partials      659      659           
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gittensory-orb gittensory-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.5x multiplier. label Jul 8, 2026
@gittensory-orb

gittensory-orb Bot commented Jul 8, 2026

Copy link
Copy Markdown

Important

🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪

🔍 Gittensory is reviewing…

AI analysis is in progress. This comment will update when the review is complete.

🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed · 🟪 Reviewing

@JSONbored JSONbored merged commit 1ec9f94 into main Jul 8, 2026
12 checks passed
@JSONbored JSONbored deleted the gittensor-impact-card-redesign branch July 8, 2026 02:33
JSONbored added a commit that referenced this pull request Jul 8, 2026
#4124)

#4121 auto-merged before two follow-up fixes could land on that branch
(a merge-timing race, not a revert): repo.replace("/", "%2F") only
replaces the first slash (works today by luck; encodeURIComponent is the
correct general encoding), and api.gittensor.io response values were
interpolated into SVG <text> nodes without XML-escaping (Superagent
P2 finding on the sibling awesome-claude PR — a future non-numeric API
field could break the generated SVG's XML structure).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:bug Gittensor-scored bug fix — scores a 0.5x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant