← back to Wallco Ai

data/fleet-audit-backlog-2026-05-30.md

220 lines

# Fleet Toggle + Sort/Density Audit — Backlog

- **Date:** 2026-05-30 (run on 2026-05-29 night, Pacific)
- **Auditor:** Claude (asleep-Steve YOLO task, autonomy=DTD)
- **Scope:** Customer-facing wallco-family domains served from Kamatera (45.61.58.125)
- **Method:** From-the-box loopback HTTPS via `--resolve <domain>:443:127.0.0.1`; no `-L` so 301/302 are honest, not silently followed
- **Universe:** 128 unique domains (enumerated via pm2 jlist + /etc/nginx/sites-enabled, filtered to wallco-family)
- **Per-bucket signals:**
  - `toggle_dom`: count of `id="page-theme-toggle"` in front-page DOM (NOT CSS-only matches)
  - `theme2_functional`: count of `data-page-theme="theme2"` when GET `/?theme=2` (proves the toggle actually flips theme)
  - `sort_real`: 1 if `<select id="sort"|"sortSel"|"sort-select" or name="sort">` present on canonical catalog route
  - `density_real`: 1 if `<input type="range">` or `setGridSize(` present on canonical catalog route
  - Catalog route tried in order: `/`, `/catalog`, `/find`, `/shop`
- **Bucket counts:** all-good 46 · missing-toggle 50 · missing-sort-density 1 · missing-both 2 · editorial-5site 7 · redirect-retired 20 · http-error 0 · special-master 2

---

## DTD Verdicts

### Q: For the 50 sites in `missing-toggle`, should we re-deploy the toggle to ALSO render on home/catalog?
**A (DTD 2/2): C — only fix the 3 truly-broken standalone sites; leave the dwf stealth pattern alone.**

Rationale: 44 of the 50 are dwf-* fleet sites whose `shared/render.js` (lines 638–707) ships a deliberate "security-by-obscurity" pattern — toggle DOM is only emitted on product pages, hidden everywhere else unless `?theme=2` flips it. This is intentional (source comment dated 2026-05-29 named Steve). Forcing it onto home/catalog would silently override Steve's stated design. Re-deploying would also be a 44-site fleet write — far above the 1-site/pass rsync guardrail.

The 3 truly-broken sites (`grassclothwallcoverings.com`, `hollywoodwallcoverings.com`, `losangelesfabrics.com`) are genuine regressions and the only items where ANY autonomous remediation could be in-scope, but I am leaving them BACKLOG-ONLY per the task brief ("NEW sites without the pattern: log to backlog only, no auto-fix" — these are pre-existing gaps that may be NEW, can't tell without git archaeology).

Codex full reasoning: see /tmp/dtd-20260529-233450-22657/codex.txt.

---

## Buckets

### all-good (46) — passes toggle + theme2 functional + sort + density
```
1890swallpaper.com, 1900swallpaper.com, 1920swallpaper.com, 1940swallpaper.com,
1950swallpaper.com, 1960swallpaper.com, 1970swallpaper.com, 1980swallpaper.com,
agedwallpaper.com, architecturalwallcoverings.com, chinoiseriewallpaper.com,
contractwallpaper.com, corkwallcovering.com, fabricwallpaper.com, glitterwalls.com,
grassclothwallpaper.com, greenwallcoverings.com, handcraftedwallpaper.com,
healthcarewallpaper.com, hospitalitywallcoverings.com, hospitalitywallpaper.com,
hotelwallcoverings.com, jutewallpaper.com, linenwallpaper.com,
madagascarwallpaper.com, metallicwallpaper.com, micawallpaper.com,
museumwallpaper.com, mylarwallpaper.com, naturaltextilewallpaper.com,
naturalwallcoverings.com, pastelwallpaper.com, philipperomano.com,
raffiawallcoverings.com, restaurantwallpaper.com, restorationwallpaper.com,
retrowalls.com, saloonwallpaper.com, silkwallcoverings.com, silkwallpaper.com,
silverleafwallpaper.com, suedewallpaper.com, textilewallpaper.com,
vinylwallpaper.com, wallpapercanada.com, wallpapersback.com
```
No action.

---

### missing-toggle (50) — has sort+density but page-theme-toggle DOM is missing from home/catalog
**44 of these are dwf-* fleet (intentional stealth pattern). 6 are standalone customer sites.**

#### dwf-* fleet (44) — DTD verdict C: LEAVE ALONE
Pattern is documented intentional design in `~/Projects/dw-domain-fleet/shared/render.js`.
Verified: toggle DOM IS emitted on product pages (e.g. `https://barwallpaper.com/product/<slug>` shows `id="page-theme-toggle"` + `data-page-theme="theme2"`).
Home / catalog deliberately omit it.

```
1800wallcoverings.com, asseeninhotels.com, asseeninla.com, asseeninmovies.com,
asseeninshowrooms.com, barwallpaper.com, blankstocklining.com, bleachfriendly.com,
carmelwallpaper.com, cfafabrics.com, classawallcovering.com, commercialsalesreps.com,
commercialwallcovering.com, designermagnetics.com, etciemurals.com, fabricfridays.com,
fireratedwallcovering.com, flocked.org, grassclothwallcovering.com,
handmadewallcovering.com, hollywoodwallcovering.com, hospitalitysalesagency.com,
malibuwallpaper.com, montereywallpaper.com, naturalwalltextures.com,
patterndesignlab.com, philliperomano.com, printmurals.com, restaurantfabrics.com,
restaurantmurals.com, roomsettings.com, sheltermagazines.com, specifywallpaper.com,
stevenabramsphotography.com, thehotelwallpaper.com, traditionalwhimsy.com,
unitedstateswallpaper.com, wallcovering.net, wallpaperexports.com,
wallpaperfromthe80s.com, wallpaperny.com, wallpaperpurchasing.com,
wallpaperweekly.com, wc01wallcoverings.com
```

#### Standalone customer sites without toggle on home/catalog (6) — for Steve review
These are NOT served by dw-domain-fleet/shared/render.js. They are independent Node servers, each with own template. Steve to decide if the standing rule should retroactively cover them too.

| Domain | Has sort+density on home | Has toggle? | Notes |
|---|---|---|---|
| `carmelwallpapers.com` | YES (1+1) | no toggle | own server at `/root` |
| `customdigitalmurals.com` | YES (1+1) | no toggle | own server at `/root/Projects/customdigitalmurals` |
| `flockedwallpaper.com` | YES (1+1) | no toggle | own server `/root/Projects/Designer-Wallcoverings/DW-Websites/flockedwallpaper` (port 3200) |
| `glassbeadedwallpaper.com` | YES (1+1) | no toggle | own server at port 9888 |
| `goldleafwallpaper.com` | YES (1+1) | no toggle | own server (no port assigned in pm2) |
| `nationalpaperhangers.com` | YES via `/find` (1+1) | no toggle | own server at port (NPH) |

Action recommendation (NOT autonomously taken): backlog ticket per site to add the toggle snippet from `~/Projects/corkwallcovering/server.js` or equivalent. NEW pattern per task brief — log only, no auto-fix.

---

### missing-sort-density (1)
| Domain | toggle | theme2 | sort | density | Notes |
|---|---|---|---|---|---|
| `hollywoodwallcoverings.com` | 1 | 5 | 0 | 0 | has working toggle but home page lacks sort+density (drift candidate — this site was the canonical 800-line outlier per MEMORY) |

Action: backlog — verify whether sort+density EVER existed here. Per MEMORY `feedback_check_skill_before_using_project_as_reference.md`, hollywood-wallcoverings was specifically the "outlier" cited as fleet reference. Worth checking if it ever had sort+density vs whether it's an own-template-no-sort case.

---

### missing-both (2)
| Domain | toggle | theme2 | sort | density | Notes |
|---|---|---|---|---|---|
| `grassclothwallcoverings.com` | 0 | 0 | 0 | 0 | also failed `/?theme=2` with HC 404 in audit v2 — most-broken site in the fleet. Likely needs full check: pm2 process `grassclothwallcoverings-8080` (port 8080) AND `-9080` (port 9080) exist — investigate which is serving and what's running. |
| `losangelesfabrics.com` | 0 | 0 | 0 | 1 | has density but no sort and no toggle. Independent server at `/root/Projects/Designer-Wallcoverings/DW-Websites/LosAngelesFabrics`. |

Action: backlog — both genuine gaps. Recommend Steve action `losangelesfabrics.com` first (smaller delta — add sort) and triage `grassclothwallcoverings.com` (potentially needs full re-template).

---

### editorial-5site (7) — content-only template, no catalog by design
These are deliberately essay-style content sites with no product grid. Standing rule "every product-grid site has sort+density" doesn't apply. Toggle status varies — 4 of 7 have the toggle on home page:

| Domain | toggle | theme2 | Has catalog | Note |
|---|---|---|---|---|
| `fabricfriday.com` | 1 | 6 | NO | toggle works on home |
| `textiletuesday.com` | 1 | 6 | NO | toggle works on home |
| `wallpaperwednesday.com` | 1 | 6 | NO | toggle works on home |
| `wallpaperdefinitions.com` | 0 | 0 | NO | toggle missing |
| `wallpaperdictionary.com` | 0 | 0 | NO | toggle missing |
| `wallpaperglossary.com` | 0 | 0 | NO | toggle missing |
| `wallpaperhistory.com` | 0 | 0 | NO | toggle missing |

Action: backlog — 4 of 7 editorial sites have the toggle, 3 don't. Inconsistent — Steve to decide whether all editorials should have the toggle (currently fabricfriday/textiletuesday/wallpaperwednesday do; definitions/dictionary/glossary/history don't).

---

### redirect-retired (20) — 301/302 redirects to canonical sister
Sites have been retired/consolidated. Not in scope for toggle audit.

| Domain | Redirects to |
|---|---|
| `1800swallpaper.com` | `https://1890swallpaper.com/` |
| `1850swallpaper.com` | `https://1890swallpaper.com/` |
| `1860swallpaper.com` | `https://1890swallpaper.com/` |
| `1880swallpaper.com` | `https://1890swallpaper.com/` |
| `1930swallpaper.com` | `https://1920swallpaper.com/` |
| `apartmentwallpaper.com` | `https://wallpapersback.com/` |
| `bestwallpaperplace.com` | `https://1890swallpaper.com/` |
| `bleachresistantfabrics.com` | `https://1890swallpaper.com/` |
| `blockprintedwallpaper.com` | `https://handcraftedwallpaper.com/` |
| `designerwallcoverings.ai` | `https://1890swallpaper.com/` |
| `embroideredwallpaper.com` | `https://fabricwallpaper.com/` |
| `raffiawalls.com` | `https://raffiawallcoverings.com/` |
| `recycledwallpaper.com` | `https://naturalwallcoverings.com/` |
| `screenprintedwallpaper.com` | `https://blockprintedwallpaper.com/` |
| `selfadhesivewallpaper.com` | `https://apartmentwallpaper.com/` |
| `stringwallpaper.com` | `https://linenwallpaper.com/` |
| `wallpapercontractor.com` | `https://1890swallpaper.com/` |
| `wallpaperdistributors.com` | `https://1890swallpaper.com/` |
| `wallpaperestimator.com` | `https://1890swallpaper.com/` |
| `wallsandfabrics.com` | `https://1890swallpaper.com/` |

Action: none. Steve may want to delist some of these if SEO doorway-page risk is too high (see `project_decade_microsite_duplication_20260526.md`).

---

### special-master (2) — intentionally outside grid pattern
| Domain | Notes |
|---|---|
| `novasuede.com` | Rotating hero homepage (Gucci-style), color grid is the main UX. Toggle would not fit theme. Standing rule may not apply. |
| `wallco.ai` | Master/admin site — homepage is curator-focused, not a customer product grid. Admin pages DO have the date-chip rule satisfied (cactus-curator confirmed `.when` + `fmtDate`). |

Action: none — both intentional.

---

### http-error (0)
None — all 128 domains returned 2xx or 3xx.

---

## Admin page created-date chip rule

Spot-checked `wallco.ai/admin/cactus-curator` — canonical implementation present (`.when` chip + `fmtDate()` + `toLocaleString` confirmed in served HTML).

Per task brief, admin chip rule applies to ANY admin card. wallco.ai is the only site in the fleet with a public admin surface (`/admin/*` returned 200). DWF / standalone sites returned 404 on `/admin` — they have no admin pages, so the rule is vacuously satisfied.

Future work (out of scope tonight): if `philipperomano.com` ever gets a memo-sample admin board, that board must follow the cactus-curator pattern.

---

## Drift analysis

**Mac2 ↔ prod render.js (dwf-* fleet):** MD5 match — `fbfb636ae921f35bd767103a2ae9cd72`. No drift. dwf "stealth toggle on product pages" pattern is in sync between local source and prod.

**Mac2 ↔ prod for the 6 standalone sites + 2 missing-both:** NOT checked tonight (each site has its own repo; would require per-site md5-diff). RECOMMENDATION: future yolo task — extend `machine-sync` skill to walk these 8 sites and surface drift.

**No reverts triggered.** No pm2 reload / rsync issued tonight. All deltas are READ-ONLY observations.

---

## Open items (for Steve)

1. **Decide** on dwf-* stealth vs visible toggle (DTD said C: leave alone; reaffirm or override).
2. **Triage** `grassclothwallcoverings.com` — most-broken site in the fleet; sort/density/toggle all missing AND `/?theme=2` 404s. Likely needs template refresh from `~/Projects/corkwallcovering` reference.
3. **Add sort selector** to `losangelesfabrics.com` — only missing sort (already has density).
4. **Investigate** `hollywoodwallcoverings.com` — has toggle but lost sort+density. Per MEMORY this was the "800-line outlier" reference. Either re-add controls or document why this site is canonically different.
5. **Decide** editorial-5site toggle policy — 4 of 7 have the toggle, 3 don't. Pick consistent pattern.
6. **Add toggle** to 6 standalone customer sites (carmelwallpapers, customdigitalmurals, flockedwallpaper, glassbeadedwallpaper, goldleafwallpaper, nationalpaperhangers) — these have sort+density but no toggle. NEW sites per task brief, so backlog-only.
7. **Optional** — review the 20 redirect-retired sites for SEO doorway-page risk.

---

## Reproducibility

Audit script: `~/.claude/skills/<not-a-skill>/audit-v3.sh` (also stored at `root@45.61.58.125:/tmp/audit3.sh`).

Raw CSV: `~/.claude/tmp/audit-v3.csv` (also `root@45.61.58.125:/tmp/audit-v3.csv`).

DTD run: `/tmp/dtd-20260529-233450-22657/` (codex+claude verdicts; qwen errored).

To re-run:
```bash
ssh root@45.61.58.125 'bash /tmp/audit3.sh'
scp root@45.61.58.125:/tmp/audit-v3.csv /tmp/audit-v3.csv
```