Skip to content

feat(uplift): p35 webperf backport + p37 flywheel verbs + p38 tag (prompts 34-38 movement)#13

Merged
Jesssullivan merged 1 commit into
mainfrom
uplift/p35-p37-p38
Jul 3, 2026
Merged

feat(uplift): p35 webperf backport + p37 flywheel verbs + p38 tag (prompts 34-38 movement)#13
Jesssullivan merged 1 commit into
mainfrom
uplift/p35-p37-p38

Conversation

@Jesssullivan

Copy link
Copy Markdown
Owner

UPLIFT movement, prompts 34-38 spoke-half (ledger item 18). Batch of three: p35 webperf backport, p37 flywheel verbs, p38 scaffold_tag stamp. Scaffold reference: tinyland-inc/site.scaffold origin/main (== tag v0.2.0).

p35 — webperf backport (TIN-2224 lineage)

  • scripts/optimize-images.js ported verbatim (byte-identical to site.scaffold origin/main; sharp raster -> webp/avif responsive widths, svgo -> minified SVG, manifest at src/lib/image-manifest.json).
  • just optimize-images + just analyze recipes, adapted to this Justfile's cd {{ root }} && idiom.
  • devDeps: sharp ^0.35.3, rollup-plugin-visualizer ^7.0.1, plus svgo ^4.0.1 — svgo is a hard import of the verbatim script, so the port is not runnable without it. sharp added to pnpm.onlyBuiltDependencies. Lockfile regenerated with the pinned pnpm 10.13.1 (--frozen-lockfile=false).
  • vite.config.ts: lazy ANALYZE=1 visualizer wiring (treemap at .bundle-stats/stats.html), mirroring the scaffold block. cssMinify: 'lightningcss' was already here — not duplicated.
  • manualChunks: skipped by design. goo's client vendor graph is trivial (SvelteKit runtime + Skeleton CSS; zero effect/shiki-class heavyweights — verified by import survey), so the scaffold's rolldownOptions splitter would be a no-op. Documented inline for when a heavy client dep lands.
  • .gitignore: static/optimized/, .bundle-stats/, src/lib/image-manifest.json (matches scaffold).

p37 — flywheel verbs (TIN-2226 lineage)

  • flywheel-check already landed here (TIN-2284, fix(flywheel): un-break both tiers + off-cluster public mint probe (TIN-2284) #11) — re-verified in-clone, left unchanged. The probed matrix predated that landing.
  • Added flywheel-runner-selftest: the opt-in, cluster-only executor canary, copied from scaffold with the default target adapted to //:svelte_check_test (goo's BUILD shape; scaffold defaults to //:eslint_test which does not exist here). Fails-closed off-cluster / on hosted runners; cache hits are not executor proof.
  • BUILD eslint_test/prettier_check_test: skipped by design. goo carries no eslint/prettier stack at all (no eslint.config.ts, no .prettierrc, no lint devDeps) — the scaffold pattern does not fit this spoke's BUILD shape, and importing an entire lint toolchain is out of scope for this batch.

p38 — scaffold_tag stamp (TIN-2229 semantics)

  • tinyland.repo.json scaffold_tag: v0.1.0 -> v0.2.0. site.scaffold's v0.2.0 annotated tag = "post-UPLIFT scaffold contract: exact-pin guards + perf recipes + rune idioms + remote verbs + cache enrollment (prompts 34-38 landed)" and points at current origin/main. Post-batch, goo matches that contract in every spoke-applicable dimension: typescript 6.0.3 exact-pin, SEOHead/runes idioms, flywheel-check + runner-selftest remote verbs, enrollment scripts, and (this PR) the perf recipes. The eslint/prettier remote-lint targets are the one scaffold surface intentionally not carried (no lint stack on this spoke; noted above). Manifest re-validated against the vendored schema.

Proof (in-clone)

  • corepack pnpm install --frozen-lockfile=false (pnpm 10.13.1): lock regenerated; sharp 0.35.3 / rollup-plugin-visualizer 7.0.1 / svgo 4.0.1 resolved.
  • just optimize-images on a temp 1000x600 test PNG + the tracked favicon.svg: 8 raster variants (width-skipping correct), svg -39 bytes, manifest written. Test input removed; artifacts are gitignored.
  • just analyze: build green, .bundle-stats/stats.html (255 KB treemap) emitted.
  • just flywheel-check off-cluster (no BAZEL_REMOTE_CACHE): fail-fast with the CORRECT error — ERROR: BAZEL_REMOTE_CACHE is required for GloriousFlywheel-backed Bazel work. (exit 1). Cluster-gated, as expected on a laptop.
  • just flywheel-runner-selftest off-cluster: REFUSE exit 3 on both guard paths (no cluster capability label; BAZEL_REMOTE_EXECUTOR unset with GF_BAZEL_RUNNER_LABELS=tinyland-nix).
  • bazelisk query '//:svelte_check_test + //:ci_validation_suite': both resolve (the selftest's adapted default target exists).
  • pnpm run check: 329 files, 0 errors. pnpm run test:unit: 5/5. scripts/flywheel-enrollment-contract-test.sh: 10/10. scripts/check-conformance.sh: 15 pass / 0 fail. Endpoint scan clean. tinyland.repo.json + lanes schema-valid (jsonschema via uvx; local shell lacks the nix devshell python).

Committed with -c commit.gpgsign=false --no-verify (fresh scratch clone; no hooks installed, signing skipped to avoid interactive gpg).

DO NOT MERGE from this lane — merge-on-green is the main loop's call.

…d_tag (prompts 34-38)

p35 (TIN-2224 backport): port scripts/optimize-images.js VERBATIM from
site.scaffold origin/main; add just optimize-images + analyze recipes;
add sharp/rollup-plugin-visualizer/svgo devDeps (svgo is a hard import of
the verbatim script), sharp into pnpm.onlyBuiltDependencies; lazy
ANALYZE=1 visualizer wiring in vite.config.ts; gitignore
static/optimized/ + .bundle-stats/ + src/lib/image-manifest.json.
cssMinify lightningcss already present — not duplicated. manualChunks
skipped by design: goo's client vendor graph is trivial (no
effect/shiki-class deps).

p37 (TIN-2226 backport): add the opt-in cluster-only
flywheel-runner-selftest executor canary, default target adapted to
//:svelte_check_test (goo's BUILD shape). flywheel-check already landed
here via TIN-2284 (PR #11) — re-verified, unchanged. BUILD
eslint_test/prettier_check_test skipped by design: goo carries no
eslint/prettier stack (no configs, no devDeps) so the scaffold pattern
does not fit this spoke.

p38 (TIN-2229 semantics): stamp scaffold_tag v0.2.0 — site.scaffold's
v0.2.0 tag is the post-UPLIFT scaffold contract (exact-pin + perf
recipes + rune idioms + remote verbs + cache enrollment; prompts 34-38),
which this repo now matches in all spoke-applicable dimensions.
@Jesssullivan
Jesssullivan merged commit b7d3a95 into main Jul 3, 2026
4 checks passed
@Jesssullivan
Jesssullivan deleted the uplift/p35-p37-p38 branch July 3, 2026 09:38
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