cmm_calibration
slug: cmm-calibration · round 4 Approved
Signed off by zachbenzbf@gmail.com 53d ago ·
3 rounds of feedback before approval
Voice audit review
✓ Approved — daemon is applying / has applied generated 2026-05-11T23:20:56Z
Auto-fixes already applied (6)
items · 6
[
{
"file": "src/layouts/BaseLayout.astro",
"pattern_matched": "connecting [buyers] with [X]",
"before": "{businessName} is a directory connecting buyers in {geo.region || 'the region'} with accredited CMM calibration providers. Listed laboratories work to ISO 10360-2, ISO 10360-5, and ASME B89 standards.",
"after": "{businessName} is a directory of accredited CMM calibration providers serving {geo.region || 'the region'}. Listed laboratories work to ISO 10360-2, ISO 10360-5, and ASME B89 standards.",
"location_hint": "footer brand blurb (ax-footer__brand-blurb), line 227"
},
{
"file": "src/pages/index.astro",
"pattern_matched": "connecting you with [X]",
"before": "'Connect with accredited {Core Service} providers in {Location}. Listed laboratories work to ISO 10360-2, ISO 10360-5, and ASME B89 standards. Request a quote.'",
"after": "'Accredited {Core Service} providers in {Location}. Listed laboratories work to ISO 10360-2, ISO 10360-5, and ASME B89 standards. Request a quote.'",
"location_hint": "meta_description fallback for homepage, line 38"
},
{
"file": "src/pages/index.astro",
"pattern_matched": "connecting you with [X]",
"before": "heading=\"Connect with Accredited CMM Calibration Providers\"",
"after": "heading=\"Accredited CMM Calibration Coverage\"",
"location_hint": "HubSpoke heading prop, line 198"
},
{
"file": "src/pages/[hub].astro",
"pattern_matched": "connecting you with [X]",
"before": "'Connect with accredited {Core Service} providers in {Location}. Listed laboratories work to ISO 10360-2, ISO 10360-5, and ASME B89 standards. Request a quote.'",
"after": "'Accredited {Core Service} providers in {Location}. Listed laboratories work to ISO 10360-2, ISO 10360-5, and ASME B89 standards. Request a quote.'",
"location_hint": "meta_description fallback for hub pages, line 126"
},
{
"file": "src/pages/[hub]/[service].astro",
"pattern_matched": "connecting you with [X]",
"before": "'Connect with accredited {Service Name} providers in {Location}. Listed laboratories work to ISO 10360-2, ISO 10360-5, and ASME B89 standards. Request a quote.'",
"after": "'Accredited {Service Name} providers in {Location}. Listed laboratories work to ISO 10360-2, ISO 10360-5, and ASME B89 standards. Request a quote.'",
"location_hint": "meta_description fallback for service pages, line 173"
},
{
"file": "src/pages/our-process.astro",
"pattern_matched": "connecting you with [X] (passive variant)",
"before": "h2: 'How Buyers Are Connected with CMM Calibration Providers',",
"after": "h2: 'How CMM Calibration Requests Are Routed',",
"location_hint": "fallbackSections[0].h2, line 29"
}
] Decisions submitted — daemon is/has applying
Orchestrator syncs R2→local within 60s. Daemon then runs the apply
step (Claude+Edit) and continues. Live progress on the niche detail.
Round history
Round 1 · 53d ago · 21 issues
- 1. RULE ZERO — site is NOT a directory. Remove every instance of:
- "directory of...", "listed providers/laboratories", "the listed [X]",
- "Routing through [businessName]", "Get matched / matched with a provider".
- Homepage hero lede starts "A directory of accredited CMM..." — that
- whole framing must go. Rewrite passive: "Calibration is performed by
- accredited laboratories..." Drop "listed" qualifier entirely.
- 2. SEO — DROP all location-hub pages (/<state>/ and /<city>/, no service
- slug). For this niche with ONE service, hubs add no nav value and
- cannibalize the leaf pages. In src/pages/[hub].astro getStaticPaths,
- return [] when services.length <= 1. (For multi-service builds the
- rule would be: keep hubs but pass noindex={true} to BaseLayout —
- doesn't apply here.) Leaf URLs /<location>/<service>/ stay indexed.
- 3. Itemized lists → accordion. Use native <details><summary> for each
- item in: CMM types calibrated, Standards followed, Performance
- parameters, Operating modes. All collapsed by default.
- 4. Long-form SEO body sections → <details> collapsed by default.
- "CMM calibration demand in <city>'s industrial corridors",
- "Standards traceability and acceptance criteria for CMM verification",
- any spun-content / entity-coverage block ≥150 words.
- Apply consistently across every page (homepage, our-process, capabilities,
- every /<state>/<service>/ and /<city>/<service>/ leaf) and the sidebar.
Round 2 · 53d ago · 26 issues
- 1. Drop the CoverageMap component entirely. Remove src/components/CoverageMap.astro
- AND every import + <CoverageMap ...> usage across pages (index.astro,
- our-process.astro, [hub].astro if present, etc.). The "Service Areas Covered"
- section currently renders gibberish (state name repeated above each city) and
- isn't fixable — kill it. Keep CoverageProse (text-based) for the geographic
- listing. No service-area map of any kind.
- 2. URL structure change — flatten leaf URLs and drop location hubs entirely.
- This niche has 1 service post-consolidation, so:
- a. Remove src/pages/[hub].astro (or return [] from its getStaticPaths).
- The hub URLs (/chicago/, /illinois/, etc.) should no longer exist.
- b. Replace src/pages/[hub]/[service].astro with src/pages/[locservice].astro
- (single dynamic segment). In its getStaticPaths, enumerate paths like
- chicago-accredited-industrial-cmm-calibration
- naperville-accredited-industrial-cmm-calibration
- illinois-accredited-industrial-cmm-calibration
- etc. — one per (state OR city) × service. Concatenate location-slug +
- "-" + service-slug.
- c. Update EVERY internal link in components/pages (HubSpoke, CoverageProse,
- CardGrid, nav, sitemap, etc.) to point at the new flat URLs. No more
- "/chicago/accredited-industrial-cmm-calibration/" — use
- "/chicago-accredited-industrial-cmm-calibration/".
- d. Update src/content/phone_routing.json keys from
- "<service>::<location>" → still keyed by location_slug but the rendered
- page reads them the same way; only the URL changes.
- e. Update astro.config.mjs sitemap filter if needed.
- Apply consistently. Run astro build clean at the end.
Round 3 · 53d ago · 24 issues
- 1. Embed the lead-capture form INSIDE the hero on every landing page
- (homepage AND every /<location>-<service>/ leaf). Two-column on desktop:
- LEFT: eyebrow + H1 + 1-sentence lede + 3-4 small inline trust badges
- (ISO 17025 / ISO 10360-2 / NIST-Traceable / metro-market count).
- Phone CTA below.
- RIGHT: form card — same fields as src/pages/request-a-quote.astro
- (name, email, phone, ZIP, project details, consent checkbox).
- Same action="/api/submit", same consent text.
- Mobile: stack — pitch above, form below.
- The standalone /request-a-quote page STAYS (nav + email CTAs link to it).
- This is a Hero component variant — call it HeroForm or add a
- `withForm={true}` mode to the existing Hero. Apply site-wide.
- 2. Use more of the existing images. Pages currently render mostly text-only
- blocks. Each major content section on every landing page should have a
- relevant image from public/images/ embedded inline (left/right alignment,
- ~40% width on desktop, full-width on mobile). Mapping:
- - Hero: hero-main.webp (left or background of the form card)
- - Accreditation / standards section: section-accreditation.webp
- - Process / how-it-works section: section-process.webp
- - Service-specific sections: accredited-industrial-cmm-calibration.webp
- - Sidebar / at-a-glance: any of the above as a small thumbnail
- Reuse images across pages — that's expected. The goal is visual rhythm.
- Apply on homepage, /<state>-<service>/ leaves, /<city>-<service>/ leaves,
- our-process, capabilities.
✗ Link gap: Skipped
decided 2026-05-12T02:05:03.682Z
✗ Blog: Skipped
decided 2026-05-12T02:05:14.556Z