vault-sync: 2026-10-02 07:10 (jimmy)

This commit is contained in:
jimmy
2026-10-02 07:10:57 -07:00
parent a9100905dd
commit 5f406ba6b9
89 changed files with 7374 additions and 745 deletions
@@ -4,6 +4,8 @@
**Audit ID:** PSS-2026-09-17 · **Method:** Live crawl + rendered DOM + Google Maps public view + directory discovery (all evidence captured this session)
**Prior record:** VeriPath audit 2026-08-13; overview verified 2026-09-11/09-14; hallmark design audit 2026-07-16 (identity reconciled — same business, no conflict)
> ⚠️ **REVISED 2026-09-17 (owner truth correction):** Saturday hours are **9 AM–6 PM**, NOT 9–3 as earlier records stated. Re-verification today also found the website's Mon–Fri open time was already fixed to 09:00 (matches owner truth), so F1's scope shrank to **one residual: the Sunday JSON-LD `00:00–00:00` encoding**. GBP and Yelp already match Mon–Sat 9–6, Sun Closed. See the revised `phoenix-hours-fix.md`.
---
## Layer 1 — Executive Dashboard
@@ -6,9 +6,9 @@
---
## 1. Validated JSON-LD (replace the homepage block)
## 1. Validated JSON-LD (replace the homepage block) — REVISED 2026-09-17
`<script type="application/ld+json">` — find the existing `BeautySalon` block on the homepage and replace its contents with this exact JSON (schedule → Mon–Fri 9–6, Sat 9–3, Sun closed; sameAs now includes TikTok):
`<script type="application/ld+json">` — find the existing `BeautySalon` block on the homepage and replace its contents with this exact JSON (schedule → **Mon–Sat 9–6, Sun closed**; Saturday was owner-corrected to 6 PM on 2026-09-17 — the earlier 9–3 draft is superseded; sameAs now includes TikTok):
```json
{
@@ -31,15 +31,9 @@
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
"opens": "09:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Saturday"],
"opens": "09:00",
"closes": "15:00"
}
],
"sameAs": [
@@ -50,7 +44,7 @@
}
```
✅ Validated this session with `json.loads` (round-trip clean).
✅ Validated this session with `json.loads` (round-trip clean). Mon–Sat 09:00–18:00, Sunday omitted = closed. **Do NOT add a 00:00–00:00 Sunday entry** (current live JSON-LD has one — some parsers read it as 24h-open; that is the residual finding F1b).
---
@@ -5,13 +5,13 @@
---
## 1. Google Business Profile — hours (F5) ⬅ start here
## 1. Google Business Profile — hours (F5) ⬅ verify, likely done
**Where:** business.google.com → Phoenix Salon + Spa → *Info* → *Hours*
1. Set **Monday–Friday: 9:00 AM – 6:00 PM**
2. Set **Saturday: 9:00 AM – 3:00 PM**
3. Set **Sunday: Closed**
4. Save → wait ~1–2 days, then verify the "Closes 6 PM" label changes and Sat shows 3 PM close.
**Why:** currently labels "Closes 6 PM" and the 09-11 sweep flagged Sat 9–6 as wrong vs owner truth 9–3.
1. Set **Monday–Saturday: 9:00 AM – 6:00 PM** (owner truth, corrected 2026-09-17 — **Sat is 6 PM, not 3 PM**)
2. Set **Sunday: Closed**
3. Save → wait ~1–2 days, then verify the hours label updates.
**Status 2026-09-17:** user-confirmed GBP already reads Mon–Sat 9–6, Sun Closed ✅ — verify in dashboard, edit only if it drifted.
**Revision note:** the earlier audit draft said Sat close 15:00 — superseded by owner truth (Sat 9–6).
## 2. Reviews — restart the request flow (F4)
**Vagaro dashboard:** enable/review the automated post-appointment review request (text or email) so each client gets asked once per visit.
@@ -1,26 +0,0 @@
---
id: JOB-20260927-phoenix-closeout
project: phoenix-salon
surface: Phoenix owner-only leftovers (IG + YP)
state: stand_down # closed by gatekeeper (event 002); GBP description live 691/750 was the delivered change
owner: Ashley (fixes both IG items on her IG login); Anthony (Gatekeeper) relays verified punchlist / gives gatekeeper call
gate: Ashley IG login (fix both IG items), or Anthony gatekeeper call
live_url: https://www.instagram.com/phoenix.cameronpark/
live_read_at: 2026-09-27T11:18:30-07:00
current_hash: null
proposed_hash: null
evidence:
- "GBP description live Phoenix-branded, 691/750 chars, verified 2026-09-27 ~10:03 PT (CoS KEEP AS-IS) - regis-cos.md archive, 10:03 PT entry"
- "CoS approval of letter 2026-09-26 13:33 PT ('Muse' wording stays) - SUPERSEDED by CoS 14:20 PT entry: letter withdrawn, must not be forwarded (regis-cos.md archive; fleet-lessons.md 2026-09-26 Phoenix broke)"
- "MapQuest ticket #3210162 pending on MapQuest side (not blocking close)"
- "Birdeye re-scan blocked on AGENTMAIL_API_KEY (not blocking close)"
- "Yellow Pages listing WONT-DO, out of our control, not blocking close - Anthony (Gatekeeper) 2026-09-27 11:15 PT; CoS live read 11:14 PT - jobs/events/JOB-20260927-phoenix-closeout/001-cos-gatekeeper.md"
- "Phoenix closed by gatekeeper call; both IG items (old La Mae caption, IG visual check) WONT-DO, left to Ashley at her discretion - Anthony (Gatekeeper) 2026-09-27 11:18 PT 'ok close this.'; CoS public IG profile read 11:18:30 PT - jobs/events/JOB-20260927-phoenix-closeout/002-cos-gatekeeper.md"
blocker: none
---
# JOB-20260927-phoenix-closeout
what: Close the Phoenix lane on two owner-only IG items: (1) old 'La Mae' Instagram caption (https://www.instagram.com/p/B2-TZjXgj6h/, @phoenix.cameronpark), (2) final Instagram visual check (https://www.instagram.com/phoenix.cameronpark/). Yellow Pages 'LaMae Salon & Spa' listing is WONT-DO per event 001 (out of our control, not blocking close).
who: Ashley owns both IG items (needs her IG login). Anthony (Gatekeeper) relays the verified punchlist to Ashley or gives a gatekeeper call. CoS live-reads both IG URLs, writes the outcome event, and owns state. No YP work.
done-when: Ashley fixes both IG items (or Anthony relays the verified punchlist and gives a gatekeeper call); CoS live-reads both IG URLs, adds outcome event, moves state to saved.
@@ -1,25 +0,0 @@
---
job: JOB-20260927-phoenix-closeout
from: cos
to: all
type: gatekeeper
at: 2026-09-27T11:15:00-07:00
live_url: https://www.yellowpages.com/cameron-park-ca/mip/lamae-salon-spa-479829797
live_read_at: 2026-09-27T11:14:00-07:00
---
# Gatekeeper decision: Yellow Pages listing WONT-DO
Who / where / when: Anthony (Gatekeeper), relayed to CoS in CoS chat, 2026-09-27 11:15 PT.
> "Log YP as won't-do, out of our control, not blocking close"
Surface: Yellow Pages listing https://www.yellowpages.com/cameron-park-ca/mip/lamae-salon-spa-479829797
CURRENT (CoS live read at 2026-09-27 11:14 PT): listing shows "LaMae Salon & Spa" at 4062 Flying C Road (old address), marked Claimed, with no claim link. The listing is not controlled by Ashley.
Decision: WONT-DO. Out of our control. Not blocking close of JOB-20260927-phoenix-closeout.
Effect on the job: YP is removed from the owner-only items the close-out letter hands to Ashley. Remaining owner-only items: old La Mae IG caption and final IG visual check.
Evidence: this event file; live read above.
@@ -1,31 +0,0 @@
---
job: JOB-20260927-phoenix-closeout
from: cos
to: all
type: gatekeeper
at: 2026-09-27T11:18:00-07:00
live_url: https://www.instagram.com/phoenix.cameronpark/
live_read_at: 2026-09-27T11:18:30-07:00
---
# Gatekeeper decision: close Phoenix; both IG items WONT-DO
Who / where / when: Anthony (Gatekeeper), relayed to CoS in CoS chat, 2026-09-27 11:18 PT.
> "ok close this."
Context: CoS offered to log the two remaining owner-only IG items as WONT-DO and close Phoenix today. Anthony's reply above accepts that offer.
Surface: Instagram profile https://www.instagram.com/phoenix.cameronpark/ (old La Mae caption post: https://www.instagram.com/p/B2-TZjXgj6h/)
CURRENT (CoS public live read at 2026-09-27 11:18:30 PT): profile resolves as "Phoenix Salon + Spa (@phoenix.cameronpark)", 137 posts. Caption and visual state not inspected (would need Ashley's IG login); not required for this decision.
Decision:
- Old La Mae IG caption: WONT-DO. Left to Ashley at her discretion.
- Final IG visual check: WONT-DO. Left to Ashley at her discretion.
- Yellow Pages: already WONT-DO per event 001.
- Phoenix lane closed by gatekeeper call. Job state -> stand_down.
Delivered change on record: GBP description live Phoenix-branded, 691/750 chars (CoS KEEP AS-IS, 2026-09-27 ~10:03 PT).
Evidence: this event file; event 001; live read above.
@@ -47,7 +47,7 @@ Single authoritative picture of the Phoenix Salon + Spa engagement. Verified aga
## Open items surfaced 2026-09-10/11 (needs action)
1. **Site hours — partial fix landed, still off owner truth (re-verified 09-14).** The contact page *visible text* now reads **Mon–Sat 10:00 AM–6:00 PM, Sun Closed**, and the **JSON-LD** is **Mon–Sat 10:00–18:00 (Sunday absent)** — the two surfaces *now agree with each other*, so the 09-11 internal contradiction is resolved and Sunday is correctly closed. But both still diverge from owner truth (**Mon–Fri 9–6, Sat 9–3, Sun closed**) in two places: **opens 10:00 (should be 09:00)** and **Saturday closes 18:00 (should be 15:00)**. Mon–Sat 10–6 is closer but still the wrong schedule. **To fix:** paste the [[phoenix-hours-fix]] copy into both surfaces (opens 9:00; Sat closes 15:00), then re-scrape clean
1. **Site hours — partially fixed, one schema risk remains (re-verified 2026-09-17).** The contact page *visible text* and **JSON-LD now both read Mon–Sat 9:00 AM–6:00 PM, Sun Closed** — matches **owner truth (corrected 2026-09-17: Mon–Sat 9–6, Sun closed; earlier records said Sat 9–3 — WRONG, superseded)**. Remaining item: JSON-LD Sunday is encoded `00:00–00:00` (ambiguous — some parsers read 24h-open); drop Sunday from `openingHoursSpecification` (closed days omitted in schema.org) or use an explicit closed marker. See [[phoenix-hours-fix]].
2. **Ghost domain is a dead 301.** lamaesalonspa.com redirects to www.lamaesalonspa.com, which fails **HTTP 526 (Cloudflare can't reach origin)** — a dead endpoint still living under her old name, confusing crawlers/links. Kill or repoint in the 30–90 day work; see roadmap item 14
3. **Yahoo listing:** still shows **9–7 daily** hours (wrong) and lists the city as **Shingle Springs** (not Cameron Park). Aggregator refresh will lag until source data is right (fix website + GBP first, then it streams)
4. **Call note mislabel (2026-08-15):** the call note says "Ashley's gym" — verbal fumble; Ashley owns the salon/spa and trains at **Overcome Fitness** (member, not owner). Correction recorded here; file kept as history
@@ -2,71 +2,68 @@
type: fix-package
client: Ashley Thornhill (Phoenix Salon + Spa)
date: 2026-09-11
revised: 2026-09-17
owner: Tony-to-handle (set Monday)
verified: live sweep 2026-09-11
verified: live sweep 2026-09-11; re-verified + owner-corrected 2026-09-17
tags: [phoenix-salon, hours, paste-ready, fix]
---
# Phoenix Hours Fix — Paste-Ready Package
Goal: get every public surface to one source of truth. **Owner truth (from the 08-13 roadmap):**
Goal: get every public surface to one source of truth. **Owner truth (corrected 2026-09-17):**
> **Mon–Fri 9:00 AM–6:00 PM · Sat 9:00 AM–3:00 PM · Sun Closed**
> **Mon–Sat 9:00 AM–6:00 PM · Sun Closed**
> *(Earlier records said Sat 9–3 — WRONG, superseded by owner truth 2026-09-17. Do not use 9–3.)*
Below is the exact copy to paste into each surface. Do the website first (it feeds Google/Yelp/Apple), then the platforms.
Status as of 2026-09-17: **Mon–Fri and Saturday hours already match owner truth on website (visible + JSON-LD), GBP, and Yelp.** The only remaining item is the Sunday JSON-LD encoding risk on the website. Items 1–5 are therefore mostly DONE — verify, don't re-apply.
Below is the exact copy for any surface still needing it.
---
## 1. Website — contact page (visible text)
Replace the current hours block (Mon–Fri 9–7, Sat & Sun 9–5):
## 1. Website — contact page (visible text) — ✅ VERIFY, likely done
Expected (matches owner truth):
```
Monday – Friday: 9:00 AM – 6:00 PM
Saturday: 9:00 AM – 3:00 PM
Monday – Saturday: 9:00 AM – 6:00 PM
Sunday: Closed
By appointment only. Same-day appointments when availability allows.
For fastest booking, reserve online or text the salon directly.
```
Re-captured 2026-09-17: visible text reads Mon–Sat 9–6, Sun Closed ✅. Confirm on deploy; no edit expected.
## 2. Website — JSON-LD (structured data, search engines/AI read this)
## 2. Website — JSON-LD (structured data) — ⚠️ ONE EDIT: fix Sunday
Replace the `openingHoursSpecification` block with:
Current 2026-09-17 capture: `dayOfWeek` Mon–Fri 09:00–18:00 + Sat 09:00–18:00 ✅, but **Sunday is encoded as `opens: 00:00, closes: 00:00`** — some parsers read 00:00–00:00 as 24h-open, conflicting with the visible "Closed." Replace the whole block with (Sunday omitted = closed):
```json
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
"opens": "09:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00",
"closes": "15:00"
}
]
```
(Sunday absent = closed. Do not include a Sunday entry.)
(Sunday absent = closed. Do not include a Sunday entry, and never encode it as 00:00–00:00.)
## 3. Google Business Profile (GBP)
## 3. Google Business Profile (GBP) — ✅ VERIFY
- Hours → Mon–Fri 9:00 AM–6:00 PM, Sat 9:00 AM–3:00 PM, Sun closed
- Hours should read **Mon–Sat 9:00 AM–6:00 PM, Sun closed** (user-confirmed 2026-09-17: currently correct ✅). No edit expected.
- Verify the address city shows **Cameron Park**, CA 95682 (the audit flagged it clean; Yahoo still says Shingle Springs — don't trust that)
- If still no public photos, upload 15–25 (interior, team, work, spa area)
## 4. Apple Business Connect
- Hours → Mon–Fri 9–6, Sat 9–3, Sun closed (Saturday was the flagged item per roadmap #2)
- Hours → **Mon–Sat 9–6, Sun closed**. Verify against this; if Apple still shows any 9–3 Saturday, correct it.
## 5. Yelp (business page)
## 5. Yelp (business page) — ✅ VERIFY
- Hours → Mon–Fri 9:00 AM–6:00 PM, Sat 9:00 AM–3:00 PM, Sun closed
- Also remove/change the "Menu" link: currently points to **lamaesalonspa.com/schedule-online** — that domain is dead (526 error); point it at the Vagaro booking link instead
- Hours → **Mon–Sat 9:00 AM–6:00 PM, Sun closed** (user-confirmed 2026-09-17: currently correct ✅). No edit expected.
- Also remove/change the "Menu" link if it still points to **lamaesalonspa.com/schedule-online** (dead domain 526) — point it at the Vagaro booking link
- City/Category consistent with Cameron Park, CA 95682
## 6. Third-party cleanup already filed (30–90 day)
@@ -78,18 +75,19 @@ Replace the `openingHoursSpecification` block with:
## Verification after fixes
After ~7 days, verify each surface re-picked-up the new hours:
After ~7 days, verify each surface re-picked-up the hours:
- Google Business Profile search
- Yelp page
- Apple Maps
- local.yahoo.com listing
- Site's own JSON-LD via `curl -s https://phoenixcameronpark.com/ | grep -A20 'ld+json'`
- Site's own JSON-LD via `curl -s https://phoenixcameronpark.com/ | grep -A20 'ld+json'` → confirm NO Sunday entry and no `00:00` values
Standing monthly NAP re-check (roadmap #16) covers this forever after.
## Notes
- **Owner-truth correction (2026-09-17): Saturday is 9–6, NOT 9–3.** The vault overview and this file previously said Sat 9–3 — superseded. All surfaces already match Mon–Sat 9–6.
- Bonus fact for future use: Yahoo photo caption shows "Owners & Mother / Daughter: Pat & Ashley Thornhill" — confirm with Ashley; good for press/team/social.
- Reviews are healthy (Google 4.9★ ~64–65, Yelp 5.0★/65) — the stale-review trigger has self-healed; keep the flow (roadmap #7) for 3–5 new/month.
- Reviews are healthy (Google 4.9★ ~64–65, Yelp 4.9★/65) — the stale-review trigger has self-healed; keep the flow (roadmap #7) for 3–5 new/month.
**The 10-minute path:** items 1+2 (website) → 3 (GBP) → 4 (Apple) → 5 (Yelp). All are owner-account changes; no special access needed.
**The 10-minute path now:** item 2 (Sunday JSON-LD) → quick verify of 1/3/5. All other platforms match.
@@ -25,6 +25,7 @@ tags: [client, salon, veripath-audit]
- [[handout]] — the original audit findings (2026-08-13)
- [[roadmap]] — implementation plan with effort + impact
- [[veripath/index|VeriPath]] — parent service / project
- [[04_projects/phoenix-salon/audits/2026-09-17/00_EXECUTIVE_REPORT|2026-09-17 audit — executive report]]
## Background
Phoenix rebranded from **La Mae / LaMae Salon & Spa**. Online presence still has the old name in 6 places (handled in [[handout]]) and hours are wrong on the website.