← back to Robet Site
loop ledger: round2 item (2) done + deployed
7a5ae6e2ea3cc8a08f02bca17b02759643f1a1cb · 2026-06-29 23:31:08 -0700 · Steve
Files touched
Diff
commit 7a5ae6e2ea3cc8a08f02bca17b02759643f1a1cb
Author: Steve <steve@designerwallcoverings.com>
Date: Mon Jun 29 23:31:08 2026 -0700
loop ledger: round2 item (2) done + deployed
---
OVERNIGHT-LOOP.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/OVERNIGHT-LOOP.md b/OVERNIGHT-LOOP.md
index 2e3527d..441f91e 100644
--- a/OVERNIGHT-LOOP.md
+++ b/OVERNIGHT-LOOP.md
@@ -40,7 +40,7 @@ _Note: app + nginx both set X-Frame-Options/X-Content-Type (harmless duplicate);
11. [x] (1) A11y — skip-to-content link + prefers-reduced-motion (disable hover transforms/transitions)
12. [x] (5) Contact form ARIA live-region (announce success/error to screen readers)
13. [x] (3) Static-asset cache-control + ETag (perf)
-14. [ ] (2) JSON-LD structured data (Person/booking action) for SEO
+14. [x] (2) JSON-LD structured data (Person/booking action) for SEO
15. [ ] (4) PWA-lite — web manifest + apple-touch-icon PNG fallback
16. [ ] (6) Booking-embed loading skeleton + better fallback timing
17. [ ] (8) Trim duplicate nginx/app headers (prod nginx edit)
@@ -48,3 +48,4 @@ _Note: app + nginx both set X-Frame-Options/X-Content-Type (harmless duplicate);
| 11 | (1) a11y skip+motion | skip-link first in tab order, reveals on focus, jumps to main; reduced-motion honored; 8/8 + smoke PASS | 2b5ea41 | ✅ |
| 12 | (5) contact ARIA live | formMsg+admin msg role=status aria-live=polite; submit announces; 0 JS errs; 8/8 + smoke PASS | b3a76e0 | ✅ |
| 13 | (3) cache + ETag | images max-age=86400, html/css/js no-cache; ETag→304 verified local+prod; 8/8 + smoke PASS | 65be242 | ✅ |
+| 14 | (2) JSON-LD | Person + ScheduleAction→booking URL, valid JSON, 0 CSP errors, +validity test (9/9) + smoke PASS | 19f4d34 | ✅ |
← 19f4d34 round2 item (2): JSON-LD structured data (Person + ScheduleA
·
back to Robet Site
·
round2 item (4): PWA-lite — site.webmanifest (standalone, br ab5c2bb →