Skip to content

fix(docs): repair orphaned title lines in 10 SEO pages (unblocks frontmatter gate)#54

Merged
temalo merged 1 commit into
mainfrom
fix/frontmatter-orphaned-title-lines
Jul 6, 2026
Merged

fix(docs): repair orphaned title lines in 10 SEO pages (unblocks frontmatter gate)#54
temalo merged 1 commit into
mainfrom
fix/frontmatter-orphaned-title-lines

Conversation

@temalo

@temalo temalo commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

What

Repairs broken YAML frontmatter in 10 SEO landing pages under docs/, turning the repo-wide validate_frontmatter.py gate from red back to green.

The corruption

A prior bulk sweep (the em-dash scrub) left each of these 10 pages with a mangled frontmatter block. Concretely:

---
title: 'ChatGPT for QuickBooks: AI-Powered Accounting & Financial Analysis | CorpusIQ'
  exports required.          # <-- orphaned continuation, indented scalar after a complete value
url: /docs/chatgpt-for-quickbooks
h1: '...'
title: ChatGPT for QuickBooks -- AI Accounting & Financial Analysis | CorpusIQ   # the real, scrubbed title

The old wrapped title: (its head and a dangling continuation fragment like exports required. / optimization. / and Claude.) survived above the new scrubbed title:. That indented fragment following an already-complete scalar is invalid YAML — mapping values are not allowed here at line 2 — so every one of these files failed the parser.

Why it mattered

scripts/validate_frontmatter.py is a repo-wide gate: it scans every .md file and fails if any is broken. So these 10 pre-existing breakages were blocking every docs PR, not just their own — a clean new page showed a red check purely because of them.

The fix

Drop the 2 orphaned lines (old title head + its dangling continuation) from each file, keeping the correct scrubbed title: and all other keys untouched.

  • Exactly 2 deletions per file, 20 total, zero body changes (git show --stat: 10 files changed, 20 deletions(-)).
  • The fix was dry-run-validated before applying (each file re-parsed with title + description intact), then applied, then re-checked.

Verification

$ python3 scripts/validate_frontmatter.py
frontmatter check: scanned 1096 Markdown files
✓ all frontmatter is valid   (exit 0)

Repo-wide green. Each fixed page keeps its correct title (e.g. ChatGPT for QuickBooks -- AI Accounting & Financial Analysis | CorpusIQ) and its description for the SEO meta tag.

Scope

Standalone fix, deliberately not folded into the chat-apps docs PR (#53) — separate concern, clean diff, independently reviewable/revertable. #53's own check should go green once this merges (its content was never the cause).

Public surface — handing to Ted, not auto-merging.

A prior bulk sweep left each of these 10 pages with a broken frontmatter block:
an old wrapped 'title:' whose head + dangling continuation fragment (e.g.
'  exports required.') survived above the new scrubbed 'title:', so the second
line was an indented scalar following a complete scalar value — invalid YAML
('mapping values are not allowed here'). This turned scripts/validate_frontmatter.py
RED repo-wide, blocking every docs PR (the gate scans all files, not just the
PR's).

Fix: drop the 2 orphaned lines (old title head + its continuation) from each
file, keeping the correct scrubbed 'title:' and all other keys. Exactly 2
deletions per file, 20 total, zero body changes. Verified: repo-wide validator
now '✓ all frontmatter is valid' (exit 0, 1103 files); each file re-parses with
title + description intact.

Files: chatgpt-for-quickbooks, claude-for-hubspot, claude-for-shopify,
how-to-analyze-quickbooks-with-ai, hubspot-ai-reporting,
hubspot-sales-analytics-with-ai, quickbooks-ai-reporting,
quickbooks-business-intelligence, shopify-ai-analytics,
shopify-sales-analysis-with-ai.

Co-authored-by: Hermes Agent <dev@corpusiq.io>
@temalo
temalo merged commit 5937d4b into main Jul 6, 2026
1 check passed
@temalo
temalo deleted the fix/frontmatter-orphaned-title-lines branch July 6, 2026 22:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant