---
title: "aadhar.sh/garage/5.6 sol"
description: "The performance pass planned with 5.6 Sol: the bytes, cache boundaries and first-paint calls that make aadhar.sh feel instant and still look like XP."
path: "/garage/gpt56"
section: "garage"
kind: "content"
updated: "2026-07-10"
source: "https://aadhar.sh/garage/gpt56"
---

> Site index: https://aadhar.sh/llms.txt
> Section index: https://aadhar.sh/garage/llms.txt
> This is the Markdown twin of a page on aadhar.sh. The HTML at the source
> URL below is the original, and is hand-written and unminified on purpose.

# 5.6 Sol's performance pass

A morning review produced a long list of ways to make this site faster. The useful part came down to three changes: moving bytes out of [first paint][first-paint], giving every cacheable thing a stable identity, and making the deploy fail before a regression reaches the [edge][edge].

This page is the shop card for that pass. "5.6 Sol" is the reviewer; the evidence is the code, the build gate, and the Chrome trace below. No benchmark theatre, no invented [p75][percentile].

trace readout

**136 ms**

LCP · localhost trace  
CLS 0.00  
0 external fonts  
64.74 KiB worker gzip

Tags: first paint, immutable bytes, deploy gate, field p75 pending

### Clear first paint

Static desktop markup, a tiny critical shell, native fonts, and no [render-blocking][render-blocking] JavaScript. The page can look like itself before the deferred nav arrives.

### Give bytes a name

Hashed thumbnails, honest 404s, edge-direct assets, and cache keys that change when bytes change. A cache hit is only useful when it is the right file.

### Make shipping fail loud

Build-time invariants, [minified][minification] shell budgets, readable source twins, and a route oracle. The fast path includes proving that the fast path shipped.

## performance workbench / three checks

CHECK 01 · FIRST PAINT

Pick a layer of the tune-up. The readout is deliberately small: one concrete decision, one thing to measure, one thing that can still go wrong.

### Make the first frame honest

Keep the desktop and window geometry in the document, [preload][preload] the shared Luna sheet, and defer the shell behavior. The browser paints the identity before JavaScript has had a chance to help.

## What actually made it onto the lift

| brief | garage translation |
| --- | --- |
| shell + CSS | `luna.css` is one shared, cacheable sheet; the desktop shell is static markup; `nav.js` stays deferred and ships minified with a readable twin. |
| photo bytes | Thumbnails are [content-addressed][content-addressing] and [immutable][immutable]; the first homepage slot is the designed [LCP][lcp], with dimensions reserved and the rest lazy. |
| edge work | Static assets answer directly; Worker routes are explicit; [KV][workers-kv]-backed work uses [stale-while-revalidate][stale-while-revalidate] instead of holding the document hostage. |
| proof before deploy | The build parses CSS, checks the route mirror, caps the [gzip][gzip] bundle, and keeps `/*.src.*` twins so performance never costs View Source. |

**The honesty rule:** 136ms LCP and 0.00 [CLS][cls] are from a local, unthrottled Chrome trace of this page; field p75 is still pending. The next useful measurement is a cold, slow-4G run against production, then a real-device check. A plan becomes a result only when the browser agrees.

The long-form design ledger lives in [Blueprint](https://aadhar.sh/garage/blueprint); the byte-level history is in [Bytes on the wire](https://aadhar.sh/garage/wire). [Back to the garage](https://aadhar.sh/garage).

[first-paint]: https://developer.mozilla.org/en-US/docs/Glossary/First_paint "The moment the browser first draws anything on screen after it starts loading a page."
[edge]: https://en.wikipedia.org/wiki/Edge_computing "A network of servers spread around the world close to users, so each request is answered from somewhere nearby."
[percentile]: https://en.wikipedia.org/wiki/Percentile "The value a given share of measurements fall at or under; p75 is the value 75 out of every 100 visits meet or beat."
[render-blocking]: https://developer.mozilla.org/en-US/docs/Glossary/Render_blocking "A file, usually CSS or JavaScript, that the browser must download and process before it can show the page."
[minification]: https://en.wikipedia.org/wiki/Minification_(programming) "Stripping spaces, comments and long names out of code so it downloads smaller and still runs the same."
[preload]: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel/preload "A link hint that tells the browser to start downloading a file it will need soon, before it would otherwise discover it."
[content-addressing]: https://en.wikipedia.org/wiki/Content-addressable_storage "Naming each piece of data by a hash of its bytes, so the same content always gets the same name and any change gets a new one."
[immutable]: https://www.rfc-editor.org/rfc/rfc8246.html "A Cache-Control setting that tells the browser a file will never change, so it can skip checking for a newer copy."
[lcp]: https://developer.mozilla.org/en-US/docs/Glossary/Largest_contentful_paint "How long after a page starts loading its biggest image or block of text appears on screen."
[workers-kv]: https://developers.cloudflare.com/kv/ "Cloudflare's key-value store: values saved under names and copied worldwide, so reads are fast everywhere while a new write can take a minute to spread."
[stale-while-revalidate]: https://www.rfc-editor.org/rfc/rfc5861.html "A caching rule: hand out the saved copy right away even after it expires, then fetch a fresh one in the background for next time."
[gzip]: https://en.wikipedia.org/wiki/Gzip "The oldest compression format every browser accepts for web pages. It's fast and universal, and its files come out larger than brotli's or zstd's."
[cls]: https://developer.mozilla.org/en-US/docs/Glossary/CLS "A score for how much visible content jumps around while a page loads; lower is better, and 0 means nothing moved."

Source: https://aadhar.sh/garage/gpt56
