Skip to content

Seed a local demo world and capture landing screenshots from it - #1280

Merged
Makisuo merged 4 commits into
mainfrom
feat/landing-screenshot-pipeline
Oct 6, 2026
Merged

Makisuo merged 4 commits into
mainfrom
feat/landing-screenshot-pipeline

fix(seed-demo): address review on resume, incident timing and env file

ab2dcf8
Select commit
Loading
Failed to load commit list.
Maple Review Bot / Maple / review succeeded Oct 7, 2026 in 7m 15s

Confidence 8/10 · No issues found

🟢 Confidence 8/10 · likely safe to merge
One stale plate size in the second declaration of the recaptured asset; the Hyperdrive dev change is local-only and I checked it against every in-repo MAPLE_PG_URL.
quality 98/100 · 1 note · tests not needed · risk medium

Replaces hand-staged landing screenshots with a local, reproducible pipeline: a seeded "Acme Shop" demo world sent through the local ingest gateway, an isolated maple_screenshots env/stack, and a Playwright capture of four plates. Safe to merge; the open landing/web errors are browser errors in the landing's own /_astro/telemetry.*.js and web's /assets/telemetry.js, mapped here by filename — the diff touches no telemetry code, so it neither fixes nor worsens them.

  • seed:demo generates 24h of Acme Shop spans, logs and metrics through local ingest
  • seed:demo:env writes .env.screenshots over an isolated maple_screenshots database
  • bun run screenshots captures the landing plates with Playwright and cwebp
  • The local Hyperdrive dev origin now follows MAPLE_PG_URL

Findings

🔵 Note · F1 · Recaptured plate is 16:9 but PlatformSheet.astro still declares 1280x660

correctness · apps/landing/src/lib/features.ts:315-316

surface-errors.webp is now 2880x1620 (ratio 1.778 — I read the WebP header), but apps/landing/src/components/home/PlatformSheet.astro:169 declares the same file as 1280x660 (1.939, half of the old 2560x1320 capture). MediaFrame emits those numbers as the <img width height> with class="w-full h-auto", so the homepage reserves the old aspect box and the Errors cell grows ~18px when the image loads, breaking the "no layout shift on load" contract MediaFrame.astro:11 states.

Update the PlatformSheet cell to `width: 1440, height: 810` (half of the new capture, matching the other four cells).

Production impact

Open errors in the changed files
Issue Service Occurrences File
Error maple-landing 60 scripts/seed-demo/telemetry.ts
Error maple-landing 12 scripts/seed-demo/telemetry.ts
Error maple-landing 11 scripts/seed-demo/telemetry.ts
@maple/web/TracedFetchError maple-web 7 scripts/seed-demo/telemetry.ts
Error maple-landing 4 scripts/seed-demo/telemetry.ts
@maple/web/TracedFetchError maple-web 3 scripts/seed-demo/telemetry.ts
Error maple-landing 3 scripts/seed-demo/telemetry.ts

After this merges, Maple checks whether they stop.

Telemetry this change adds and removes (30)
  • ➕ span name capture.mintTicket · apps/landing/scripts/screenshots/capture.ts:46
  • ➕ span name capture.shot · apps/landing/scripts/screenshots/capture.ts:138
  • ➕ span name capture · apps/landing/scripts/screenshots/capture.ts:189
  • ➕ span name seedDemo.checkIngest · scripts/seed-demo.ts:51
  • ➕ span name seedDemo.checkWarehouseRouting · scripts/seed-demo.ts:69
  • ➕ span name seedDemo.checkWarehouse · scripts/seed-demo.ts:100
  • ➕ span name seedDemo.post · scripts/seed-demo.ts:114
  • ➕ span name seedDemo · scripts/seed-demo.ts:204
  • ➕ attribute service.name · scripts/seed-demo/telemetry.ts:148
  • ➕ attribute service.version · scripts/seed-demo/telemetry.ts:149
  • ➕ attribute service.namespace · scripts/seed-demo/telemetry.ts:150
  • ➕ attribute service.instance.id · scripts/seed-demo/telemetry.ts:151
  • ➕ attribute exception.type · scripts/seed-demo/telemetry.ts:259
  • ➕ attribute exception.message · scripts/seed-demo/telemetry.ts:260
  • ➕ attribute exception.stacktrace · scripts/seed-demo/telemetry.ts:261
  • ➕ attribute http.request.method · scripts/seed-demo/telemetry.ts:379
  • ➕ attribute http.route · scripts/seed-demo/telemetry.ts:380
  • ➕ attribute url.path · scripts/seed-demo/telemetry.ts:381
  • ➕ attribute url.scheme · scripts/seed-demo/telemetry.ts:382
  • ➕ attribute url.template · scripts/seed-demo/telemetry.ts:437
  • ➕ attribute url.full · scripts/seed-demo/telemetry.ts:439
  • ➕ attribute db.system.name · scripts/seed-demo/telemetry.ts:477
  • ➕ attribute db.system · scripts/seed-demo/telemetry.ts:478
  • ➕ attribute db.namespace · scripts/seed-demo/telemetry.ts:479
  • ➕ attribute db.operation.name · scripts/seed-demo/telemetry.ts:480
  • ➕ attribute server.address · scripts/seed-demo/telemetry.ts:520
  • ➕ attribute server.port · scripts/seed-demo/telemetry.ts:521
  • ➕ attribute messaging.system · scripts/seed-demo/telemetry.ts:568
  • ➕ attribute messaging.destination.name · scripts/seed-demo/telemetry.ts:569
  • ➕ attribute messaging.operation.type · scripts/seed-demo/telemetry.ts:570
What was checked
  • Hyperdrive dev origin values now match the old hardcoded ones for the documented local URL (postgres://maple:maple@localhost:5499/maple, CONTRIBUTING.md:245)
  • Grep at the head: useKeyedMutationAction and getExitErrorMessage have no remaining references, and no import is left dangling
  • Ran the generator for the peak hour: 47k spans, no orphan or duplicate span ids, exactly one root per trace, histogram buckets sum to count

ab2dcf8 · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.

Annotations

Check notice on line 316 in apps/landing/src/lib/features.ts

See this annotation in the file changed.

@maple-review-bot maple-review-bot / Maple / review

correctness: Recaptured plate is 16:9 but `PlatformSheet.astro` still declares 1280x660

`surface-errors.webp` is now 2880x1620 (ratio 1.778 — I read the WebP header), but `apps/landing/src/components/home/PlatformSheet.astro:169` declares the same file as 1280x660 (1.939, half of the old 2560x1320 capture). `MediaFrame` emits those numbers as the `<img width height>` with `class="w-full h-auto"`, so the homepage reserves the old aspect box and the Errors cell grows ~18px when the image loads, breaking the "no layout shift on load" contract `MediaFrame.astro:11` states.