Skip to content

claude command, speed/hardening pass, and portfolio refresh - #144

Merged
kanetronv2 merged 3 commits into
mainfrom
site-refresh-nov-2026
Nov 4, 2026
Merged

kanetronv2 merged 3 commits into
mainfrom
site-refresh-nov-2026

Conversation

@kanetronv2

Copy link
Copy Markdown
Contributor

Summary

Three commits, best reviewed one at a time.

1. claude command. Draws the Claude Code welcome box and a tip ("We're not paying for your Claude tokens!"), then returns to the prompt. Never calls Anthropic. Also removes eval: the URL fragment runs as a command on load, so /#eval-<js> was a reflected XSS on the origin.

2. Speed and hardening pass. Measured on the live site before the change, every visitor downloaded all 76 logos and portraits (3.9 MB) in the background, two unused Google Fonts, a hidden 106 KB logo, and two files from raw.githubusercontent.com, with every asset served at max-age=0.

  • Preload only team art; portfolio logos load on demand (tldr already awaits its own image).
  • Downscale 27 oversized source images (images/ 5.9 MB → 4.1 MB).
  • Drop the unused font import and hidden logo.
  • Replay history on resize only when the column count changes, and never rerun upgrade/apply/test/tui/claude during a replay.
  • Fingerprint the homepage scripts into dist/static/ and add _headers (immutable for those, a week for images/video, an hour for the rest).
  • Same-origin README.md/welcome.htm, fetched on demand.
  • Application function: field whitelist, length caps, body cap, honeypot.
  • term.pos() uses the public xterm buffer API; stylePrint uses one precompiled regex; pinned netlify-cli; updated vitest/jsdom/terser.

3. Portfolio refresh. Reconciled against Fund Master "Last Round" companies: ten new entries with logos (Lark, Flight Science, MAIA Analytics, Zep, Indices, Volund, Lightmill Systems, Hexagon Labs, Manzano Systems, Western Magnetics). SixWheel → Revoy, Feather → Finite Systems (slug kept), Seam URL → seam.co. Domains verified in a browser; Airtable updated to match.

Test plan

  • npm test: 455 passing (was 441)
  • npm run build succeeds; dist/index.html references hashed scripts; llms.txt lists 78 companies
  • Verified in Chrome under npm start: claude, /#eval-… now "Command not found", idle network trace shows 8 image requests instead of 76 and no font/GitHub requests, tldr revoy and tldr feather render the new logos
  • After deploy: curl -I https://root.vc/static/<hashed>.js should show max-age=31536000, immutable (netlify dev does not apply _headers, so this could only be checked in production)

🤖 Generated with Claude Code

kanetronv2 and others added 3 commits November 3, 2026 17:00
Typing `claude` draws the Claude Code welcome box (cwd follows the fake
file system) and a tip: "We're not paying for your Claude tokens!",
then returns to the prompt. It never calls Anthropic. Listed in help.

Also removes the `eval` command, which sat in the same block: the URL
fragment runs as a command on load, so /#eval-<js> was a reflected XSS
on the origin. A test asserts no deep link can reach it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Measured on the live site before the change: every visitor downloaded
all 76 company logos and portraits (3.9 MB) in the background, plus two
Google Fonts that were never rendered, a hidden 106 KB logo, and two
raw.githubusercontent.com files, and every asset was served with
max-age=0.

- Preload only the firm logo and team portraits; `tldr` already awaits
  its own company's art, so portfolio logos load on demand.
- Downscale 27 source images that were 1000–5000 px wide for a
  40-character ASCII render (images/ 5.9 MB -> 4.1 MB).
- Drop the unused Google Fonts import and the hidden <img id="logo">.
- Replay history on resize only when the column count changes, and
  never rerun upgrade/apply/test/tui/claude during a replay. Phone
  keyboards fire height-only resizes that used to wipe the session.
- Serve the four homepage scripts under content-hashed names in
  dist/static/ and add _headers: immutable for those, a week for
  images and video, an hour for the rest. index.html stays revalidated.
- Fetch README.md and welcome.htm from this origin on demand instead of
  from GitHub on every visit; the build copies README.md into dist/.
- stylePrint matches %command% tokens with one precompiled regex.
- term.pos() reads xterm's public buffer.active.cursorX rather than the
  private _core field.
- The application function forwards only the six expected fields,
  trimmed and capped, rejects oversized or malformed bodies, and drops
  honeypot submissions.
- welcome.htm no longer loads the whole command set for the blurb.
- Pin netlify-cli through npx; update vitest, jsdom, and terser.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… Finite Systems

Reconciled against the Fund Master "Last Round" companies. New entries
with logos from Airtable, each with a one- or two-sentence description:
Lark, Flight Science, MAIA Analytics, Zep, Indices, Volund, Lightmill
Systems, Hexagon Labs, Manzano Systems, Western Magnetics.

SixWheel is now Revoy (new slug and logo). Feather is now Finite
Systems with its new logo; the `feather` slug is kept so the deep link
still resolves. Seam's URL is the canonical seam.co. Domains were
verified in a browser and Airtable was updated to match.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@kanetronv2
kanetronv2 merged commit 9410a6b into main Nov 4, 2026
5 of 6 checks passed
@kanetronv2
kanetronv2 deleted the site-refresh-nov-2026 branch November 4, 2026 01:03
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.

1 participant