REVIEW.md: replace em/en dashes with ASCII

User-facing copy constraint; keep ranges as ASCII hyphens.
This commit is contained in:
2026-10-01 13:26:52 -07:00
parent 5ac84b6ca5
commit 1dfbbcd26d
+19 -19
View File
@@ -1,8 +1,8 @@
# Review package — planning-selfserve-audit
# Review package - planning-selfserve-audit
**Repo:** Ty_Tech/geolocal-io
**Review branch:** `planning-selfserve-audit`
**Tip at package write:** `8337408f5b8ea1414d322bafa0ff33dbaeb48a96` (re-verify after this commit)
**Package commit:** tip after this file lands (see git log on `planning-selfserve-audit`)
**Primary SoT:** [`docs/SELF_SERVE_AI_DISCOVERABILITY_CONCEPT.md`](docs/SELF_SERVE_AI_DISCOVERABILITY_CONCEPT.md)
**Strategy spine:** [`docs/BUSINESS_PLAN.md`](docs/BUSINESS_PLAN.md) §1 North Star
**Conventions:** [`docs/CONVENTIONS.md`](docs/CONVENTIONS.md) · [`docs/writing-rules.md`](docs/writing-rules.md)
@@ -20,7 +20,7 @@ Make this branch review-ready so Ty can approve without re-litigating. Decisions
| Product architecture | CONCEPT | Remediation stack, fan-out honesty, lanes, genre parents, phases |
| Strategy / GTM / wedge | BUSINESS_PLAN | North Star intent, Discovery foundation / Core 3, owner workflow, MCP distribution |
| Parallel thesis (non-SoT) | ALTERNATE + research-brief.pdf | Action-plan / warehouse framing; denser aggregator evidence |
| Core 3 field/API only | SOURCES + core3-field-map | Do not treat as deep edit URL inventory for ranks 1–14 |
| Core 3 field/API only | SOURCES + core3-field-map | Do not treat as deep edit URL inventory for ranks 1-14 |
Amend CONCEPT in place only. Evidence under `docs/evidence/`. No twin PLAN/NOTES/BRIEF beside CONCEPT. Do not merge or kill ALTERNATE. No force-push to `main`.
@@ -42,7 +42,7 @@ Musts already encoded in CONCEPT (morning 2026-10-01 commits). Do not weaken in
- **Ticket shape (must):** field + wrong value + right value + proof URL (GBP / claimed truth). Same shape for Lane A and Lane B.
- **Two lanes (must):** Lane A umbrellas (Data Axle, Localeze, Foursquare) stop feed regen; Lane B claim / suggest-edit on own-DB surfaces. Umbrella-only or platform-only both fail.
- **One-click = ticket set (must):** not one syndication rewrite of the internet. Mint GBP-proof + Lane A + Lane B; re-audit = success check.
- **Fan-out ceiling (must productize honesty):** Localeze claim-once → many publishers, partner cadence often ~30–90 days, no partner-acceptance guarantee; Google fast-path needs separate verify/sync inside their product; Data Axle hours to ~two weeks on hard cases; **no free public one-to-many SMB fan-out API**; Yext-class = paid pipe not destination; GBP does **not** outbound-syndicate NAP; Apple writes Apple ecosystem only.
- **Fan-out ceiling (must productize honesty):** Localeze claim-once → many publishers, partner cadence often ~30-90 days, no partner-acceptance guarantee; Google fast-path needs separate verify/sync inside their product; Data Axle hours to ~two weeks on hard cases; **no free public one-to-many SMB fan-out API**; Yext-class = paid pipe not destination; GBP does **not** outbound-syndicate NAP; Apple writes Apple ecosystem only.
- **Held verification:** multi-platform verified status = moat; paid / fulfillment architecture, not free first-hour (align with BUSINESS_PLAN paid cleanup = fulfillment, not the product center).
- **Presence score inputs (open):** Core 3 min-bar lives in BUSINESS_PLAN + genre-packs. CONCEPT still open on Yelp + aggregators in v1 Presence. **FLAG** before claiming “we check X.”
- **V1 shell FLAG:** CONCEPT = interactive web first, revisit MCP ~3 months; BUSINESS_PLAN Owner MCP P0 parallel with web chat. Packaging must not pick a side. **FLAG for Ty.**
@@ -63,11 +63,11 @@ Musts already encoded in CONCEPT (morning 2026-10-01 commits). Do not weaken in
| :--- | :--- | :--- |
| **Resolve** | Owner (or product) can complete a concrete correction path with a known surface. Acceptance can be tracked. | Expect ticket shape: wrong value → right value → proof link → platform channel. |
| **Flag** | Known gap, commercial unknown, or timing risk that blocks shipping a path. | Keep visible; do not invent a product decision to close it. |
| **Hybrid (demoted)** | Earlier hybrid genre/parent framing — demoted to a flag unless CONCEPT re-elevates it. | Do not treat as locked architecture. |
| **Hybrid (demoted)** | Earlier hybrid genre/parent framing - demoted to a flag unless CONCEPT re-elevates it. | Do not treat as locked architecture. |
Lane A: Data Axle, Localeze/TransUnion, Foursquare. Lane B: GBP first as proof, then other ranked platforms (see CONCEPT 1–14).
Lane A: Data Axle, Localeze/TransUnion, Foursquare. Lane B: GBP first as proof, then other ranked platforms (see CONCEPT 1-14).
### Ranked stack 1–14 (status for review)
### Ranked stack 1-14 (status for review)
Documented with owner workflows in CONCEPT (commits `20b1f9f` → `95cd0a1` → `967ba9a`). All are **architect-not-built** Resolve paths unless noted Flag.
@@ -88,17 +88,17 @@ Documented with owner workflows in CONCEPT (commits `20b1f9f` → `95cd0a1` →
| 13 | CityGrid | Legacy | Only if still stomping; **FLAG** thin for v1 |
| 14 | Yext / Uberall / BrightLocal (pipes) | Route through existing paid pipe | Not destinations; score publishers not pipe brand |
## Platform links / fan-out — confirm / flag
## Platform links / fan-out - confirm / flag
Desk pass against CONCEPT hyperlinks and fan-out section (commit `967ba9a` / `44c2d6c`). No external re-research in this package.
| Item | Verdict | Notes |
| :--- | :--- | :--- |
| Ranks 1–14 marketing-root hyperlinks in CONCEPT | **CONFIRM** | Canonical pages linked in SoT (`967ba9a`) |
| Deep correction URLs / API per rank 1–14 | **FLAG** | SOURCES covers Core 3 field/API only; need second table for deep edit channels |
| Localeze “80–100+” vs ALTERNATE “80–90+” | **SOFT FLAG** | Align publisher-count language across CONCEPT and ALTERNATE |
| Localeze ~30–90d partner cadence + Google sync separate | **CONFIRM** | Encoded in CONCEPT fan-out section |
| Data Axle timing / free vs Premium docs link | **CONFIRM** | Hours–~2 weeks hard cases; Premium docs linked |
| Ranks 1-14 marketing-root hyperlinks in CONCEPT | **CONFIRM** | Canonical pages linked in SoT (`967ba9a`) |
| Deep correction URLs / API per rank 1-14 | **FLAG** | SOURCES covers Core 3 field/API only; need second table for deep edit channels |
| Localeze “80-100+” vs ALTERNATE “80-90+” | **SOFT FLAG** | Align publisher-count language across CONCEPT and ALTERNATE |
| Localeze ~30-90d partner cadence + Google sync separate | **CONFIRM** | Encoded in CONCEPT fan-out section |
| Data Axle timing / free vs Premium docs link | **CONFIRM** | Hours-~2 weeks hard cases; Premium docs linked |
| Yext-class “often 200+” direct publisher APIs | **FLAG** | Cite evidence or soften number before locking |
| Foursquare suggest/edit (`POST /places/{id}/suggest/edit`) | **CONFIRM** | In CONCEPT workflows |
| No free public one-to-many fan-out API | **CONFIRM** | Product rule: one-click = ticket set |
@@ -126,14 +126,14 @@ Desk pass against CONCEPT hyperlinks and fan-out section (commit `967ba9a` / `44
| 14b | Uberall | https://www.uberall.com |
| 14c | BrightLocal | https://www.brightlocal.com |
## Weak / contradictory — flag before Ty reviews
## Weak / contradictory - flag before Ty reviews
1. **MCP vs web-first:** BUSINESS_PLAN §8 (Owner MCP P0 parallel) vs CONCEPT (interactive web first, MCP ~3 months). Do not pick a side in packaging. **FLAG for Ty.**
2. **Rank vs regeneration:** FSQ/Yelp sit above Data Axle/Localeze in discoverability rank; that is not the same as regeneration-stop priority. Keep both frames labeled. **FLAG** if copy conflates them.
3. **Thin verticals in 1–14:** Tripadvisor / MapQuest / D&B / CityGrid are thin for bakery/salon v1. Gate the 14-stack by genre for v1 packs. **FLAG.**
3. **Thin verticals in 1-14:** Tripadvisor / MapQuest / D&B / CityGrid are thin for bakery/salon v1. Gate the 14-stack by genre for v1 packs. **FLAG.**
4. **Held verification moat:** Do not sell as free checkup. How (OAuth / agency / ToS) is unproven. **FLAG.**
5. **Marketing roots ≠ deep edit links:** Need a second table; SOURCES pattern is Core 3 only today. **FLAG.**
6. **Localeze publisher count:** Align CONCEPT 80–100+ with ALTERNATE 80–90+. **SOFT FLAG.**
6. **Localeze publisher count:** Align CONCEPT 80-100+ with ALTERNATE 80-90+. **SOFT FLAG.**
7. **Yext 200+:** Cite or soften. **FLAG.**
## Open decisions already listed in CONCEPT (do not invent closures)
@@ -149,7 +149,7 @@ Desk pass against CONCEPT hyperlinks and fan-out section (commit `967ba9a` / `44
## Top review checklist
1. Open CONCEPT first — baker/owner story include prove-you-own-it + black-box copies?
1. Open CONCEPT first - baker/owner story include prove-you-own-it + black-box copies?
2. Solution still “to architect,” not claimed shipped?
3. Tickets: every audit finding → same ticket shape; GBP as proof?
4. Moat: held multi-platform verified status?
@@ -157,7 +157,7 @@ Desk pass against CONCEPT hyperlinks and fan-out section (commit `967ba9a` / `44
6. ALTERNATE clearly non-SoT; action plan coherent with CONCEPT lanes?
7. BUSINESS_PLAN §1 intent verbatim where North Star quoted?
8. Evidence under `docs/evidence/` only for cited research?
9. PDF vs ALTERNATE research section — match or note drift?
9. PDF vs ALTERNATE research section - match or note drift?
10. No new sibling docs without announced path (CONVENTIONS)?
11. Fan-out honesty visible (ticket set, not one rewrite)?
12. MCP vs web-first contradiction left as FLAG (not silently resolved)?
@@ -166,7 +166,7 @@ Desk pass against CONCEPT hyperlinks and fan-out section (commit `967ba9a` / `44
| Branch | Tip (at package prep) | Role for this review |
| :--- | :--- | :--- |
| **`planning-selfserve-audit`** | `8337408` (+ this REVIEW commit) | **YES — review surface.** Self-serve concept SoT, remediation 1–14, fan-out, alternate proposal, writing rules. |
| **`planning-selfserve-audit`** | `8337408` (+ this REVIEW commit) | **YES - review surface.** Self-serve concept SoT, remediation 1-14, fan-out, alternate proposal, writing rules. |
| `planning-rev2` | `9efd554` | Background. Sep 15 SEO desk unslop; BUSINESS_PLAN / genre-packs / evidence lineage. Parent of hot branch. |
| `main` | `2aa7a2c` | Historical. July strategy / SSP archive. Raw material only; not current SoT on this review. |
| `ssp-refinement` | `a4cc4cd` | Historical. Conversational SSP UC-04/05 (July). Behind `main`; not current SoT. |