Skip to content

fix(content): OSS cards rework + sandbox/overview/operators/stake/developers cleanup#11

Merged
drewstone merged 1 commit intomasterfrom
fix/oss-cards-content-fixes
Apr 27, 2026
Merged

fix(content): OSS cards rework + sandbox/overview/operators/stake/developers cleanup#11
drewstone merged 1 commit intomasterfrom
fix/oss-cards-content-fixes

Conversation

@drewstone
Copy link
Copy Markdown
Contributor

Summary

Six content/layout fixes from review:

  • Homepage OSS cards: 3-col grid, smaller padding/fonts, separate click-to-copy npm-install button + dedicated GitHub icon button. Card body is no longer the click target.
  • Sandbox harness chips: compressed ~30% so the row fits better against the left text column (logo 28→22px, label 1→0.875rem, etc).
  • Overview: deleted "How a request flows through the protocol." section entirely. "Operators run it. You collect." flipped to vault (light) theme.
  • Operators ticker: reframed as preview — no "$2,847 paid in the last hour" claim while we're not live. Eyebrow "LIVE PAYOUTS" → "OPERATOR LEDGER · PREVIEW", stats reframed to mechanism labels (x402, per call, any asset, on chain).
  • Stake page: `.stake-asset-label` color white → #191c24 so the Bitcoin / Ethereum / etc labels are legible on the light vault bg.
  • Developers page: deleted the 6 blueprint cards (Envio Indexer, Threshold BLS, LayerZero DVN, FROST, Hyperlane Validator, Rig AI Agent).

Test plan

  • `/` (homepage) OSS section renders 3-col with copy button + GitHub button per card
  • `/services/sandbox` harness row reads tighter, chips legible
  • `/overview` no request-flow section; "Operators run it" reads as light theme
  • `/operators` ticker title is preview-language; bottom stats are mechanism labels
  • `/stake` Season 1 asset cards have dark legible labels
  • `/developers` no blueprint cards section between code-tabs and partners

…velopers cleanup

home (index.astro):
- OSS cards rebuilt: 3-col grid, smaller padding (1.75 → 1.125rem) and
  fonts (lib name 1.125 → 0.9375rem, blurb 1 → 0.8125rem). Replaced
  single <a>-card with two action buttons:
  - click-to-copy npm install (inline JS toggles a checkmark for 1.6s)
  - dedicated GitHub button next to it
  Card body itself is no longer the click target — affordance per action.

sandbox (services/sandbox.astro):
- harness chips compressed ~30% so the row fits better against the left
  text column: padding 0.875 → 0.625rem, gap 0.875 → 0.625rem, logo
  28 → 22px, label 1 → 0.875rem, meta 0.6875 → 0.625rem, gh 24 → 20px.

overview (overview.astro):
- delete the entire "How a request flows through the protocol." section
  (REQUEST FLOW eyebrow + animated SVG diagram + legend + spec link).
- "Operators run it. You collect." section flipped from dark to vault
  (light theme). Added wf-section-vault class so existing
  .wf-section-vault .wf-builder-feature-card overrides at global.css:2380
  cascade in. Header colors hardcoded for light surface.

operators (operators.astro):
- ticker reframed as preview, no live-data claim. Eyebrow "LIVE PAYOUTS"
  → "OPERATOR LEDGER · PREVIEW". Title "$2,847 paid to operators in the
  last hour" → "Every call settles on chain. Every payout is public."
  Lede now says "When the operator network goes live...numbers below
  are illustrative." Bottom stats reframed from time-based dollar
  amounts (412/min, $2,847 last hour, $68,328 last 24h, 147 ops serving)
  → mechanism labels (x402, per call, any asset, on chain).

stake (stake.astro):
- .stake-asset-label color: white → #191c24 so Bitcoin / Ethereum /
  Tether / Staked Ether / USD Coin / More are legible on the light
  vault background.

developers (developers.astro):
- delete the 6 blueprint cards section (Envio Indexer, Threshold BLS,
  LayerZero DVN, FROST, Hyperlane Validator, Rig AI Agent) — both the
  blueprintExamples array and the rendering Section.
@drewstone drewstone merged commit c91ae9b into master Apr 27, 2026
3 checks passed
@tangletools
Copy link
Copy Markdown

tangletools commented Apr 27, 2026

❌ Needs Work - 223d96b6

Blocking findings 2
All findings 10 (2 high, 6 medium, 2 low)
Readiness 87/100
Confidence 85/100
Pass Status
quick
red-team
deep-audit

Blocking Findings

🔴 HIGH [red-team] Dependency install fails package.json

Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
Packages: +436
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 436, reused 435, downloaded 0, added 114
Progress: resolved 436, reused 435, downloaded 0, added 240
Progress: resolved 436, reused 435, downloaded 0, added 375
 ENOENT  ENOENT: no such file or directory, scandir '/home/drew/company/tools/pr-reviewer/.webhook-state/checkouts/bran

🔴 HIGH [deep-audit] Zero test coverage for new interactive client-side logic src/pages/index.astro

No test files (unit, integration, or E2E) exist in the repository. The new clipboard script introduces async DOM logic, permission-dependent APIs, and timeout management that is completely unverified. There are no tests for success paths, permission denial, rapid successive clicks, or input validation.

View all 10 findings →

2 additional findings

🟡 LOW [deep-audit] External links correctly mitigate tabnabbing src/pages/index.astro

All target='_blank' links include rel='noopener noreferrer', correctly preventing tabnabbing and referrer leakage. This is a positive verification of safe practice.

🟡 LOW [quick] Silent clipboard write failures src/pages/index.astro

The copy button catches clipboard API errors and returns silently. In non-secure contexts (HTTP) or when permissions are denied, users receive no feedback and may think the copy succeeded. Consider adding a brief visual fallback (e.g., 'Copy failed' tooltip) or at least logging to the console so the failure is discoverable.


Scoring

The PR is a safe set of content and UX polish changes. The operators page responsibly moves away from misleading 'live' financial figures, and the index page copy-to-clipboard interaction is a solid usability win. Scores are held back by likely dead code in overview.astro and a diff that appears to show an incomplete CSS property in index.astro.

tangletools · aggregated 2026-04-27T19:32:11Z · **[trace](https://gist.github.com/drewstone/8749bd282fd6378dfa3d0d852cba6603)**

Copy link
Copy Markdown

@tangletools tangletools left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ 2 Blocking Findings

Severities: 2 high

🔴 HIGH [red-team] Dependency install fails package.json

Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
Packages: +436
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 436, reused 435, downloaded 0, added 114
Progress: resolved 436, reused 435, downloaded 0, added 240
Progress: resolved 436, reused 435, downloaded 0, added 375
 ENOENT  ENOENT: no such file or directory, scandir '/home/drew/company/tools/pr-reviewer/.webhook-state/checkouts/bran

🔴 HIGH [deep-audit] Zero test coverage for new interactive client-side logic src/pages/index.astro

No test files (unit, integration, or E2E) exist in the repository. The new clipboard script introduces async DOM logic, permission-dependent APIs, and timeout management that is completely unverified. There are no tests for success paths, permission denial, rapid successive clicks, or input validation.

View full trace + all 10 findings →


tangletools · aggregated 2026-04-27T19:32:11Z

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.

2 participants