Repository navigation
Seed a local demo world and capture landing screenshots from it - #1280
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:demogenerates 24h of Acme Shop spans, logs and metrics through local ingestseed:demo:envwrites.env.screenshotsover an isolatedmaple_screenshotsdatabasebun run screenshotscaptures the landing plates with Playwright and cwebp- The local Hyperdrive
devorigin now followsMAPLE_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
devorigin 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:
useKeyedMutationActionandgetExitErrorMessagehave 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
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.