Skip to content

fix(web/blog): quote title in wheels-4-closing-the-maturity-gap (recover failed auto-deploy) - #2620

Merged
bpamiri merged 1 commit into
developfrom
peter/blog-maturity-gap-recover
May 12, 2026
Merged

bpamiri merged 1 commit into
developfrom
peter/blog-maturity-gap-recover

Conversation

@bpamiri

@bpamiri bpamiri commented May 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

Why

Today's scheduled blog post auto-deployed at 07:00 PDT (wheels@2b908f6b8), but the downstream Astro build (run 25739405600) failed:

bad indentation of a mapping entry
  Location: web/content/blog/posts/wheels-4-closing-the-maturity-gap.md:1:17
  at safeParseFrontmatter (.../astro/dist/content/utils.js:295:12)

The title Wheels 4.0: Closing the Maturity Gap contains two colons. Unquoted, js-yaml reads Wheels 4.0 as a key and rejects the rest. blog.wheels.dev has been stuck on the previous post since 07:00 because of this.

Same root cause as the manual recovery on 2026-05-06 for wheels-deploy-kamal-port (wheels#2434). The upstream exporter fix to prevent recurrence is in wheels-publishing-admin#4; this PR just unblocks today's already-pushed file.

Test plan

  • Deploy static sites workflow passes the YAML parse for this post.
  • blog.wheels.dev shows "Wheels 4.0: Closing the Maturity Gap" once Cloudflare Pages rebuilds.

🤖 Generated with Claude Code

The title contains two colons, which without quoting causes js-yaml to
treat 'Wheels 4.0' as a key and reject the rest with `bad indentation of
a mapping entry` at line 1:17, breaking the Astro build for blog.wheels.dev.

This unblocks today's deploy. Long-term fix is in wheels-publishing-admin
PR #4 (auto-quote YAML scalars containing reserved characters in the
exporter itself).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added the docs label May 12, 2026

@wheels-bot wheels-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wheels Bot — Reviewer A

TL;DR: Single-character hotfix that quotes a colon-containing YAML title so js-yaml can parse the frontmatter. The change is correct, minimal, and consistent with the quoting style used elsewhere in the same file. Verdict: approve.

Correctness

The root cause is well-understood: an unquoted YAML value that contains : is parsed as a mapping key, breaking js-yaml's safeParseFrontmatter. Single-quoting the title is the right fix. The PR body also correctly identifies the identical prior incident (#2434) and points to the upstream exporter fix (wheels-publishing-admin#4) to prevent recurrence — good breadcrumb trail.

The other frontmatter values (publishedAt, updatedAt) already use single quotes, so the fix is stylistically consistent within the same file:

title: 'Wheels 4.0: Closing the Maturity Gap'   # after — consistent with rest of frontmatter
publishedAt: '2026-05-12T14:00:00.000Z'
updatedAt: '2026-05-07T02:00:09.000Z'

A grep across web/content/blog/posts/*.md shows no other posts with unquoted colons in their title field, so this is an isolated fix.

Commits

fix(web/blog): quote title in wheels-4-closing-the-maturity-gap — type fix, scope web/blog (both valid per commitlint.config.js), subject is lowercase and under 100 chars. Clean.

Tests / Docs

No framework code changed; no tests or doc updates are needed. The test plan in the PR body (Astro build passes + Cloudflare Pages rebuild) is the right verification path for a content-only change.

@wheels-bot

wheels-bot Bot commented May 12, 2026

Copy link
Copy Markdown
Contributor

Wheels Bot — Reviewer B (round 1)

A's review checks out. The fix is a one-line YAML frontmatter change in a blog post markdown file — no CFML, no cross-engine concerns, no security surface. A's approval is evidence-based, proportionate, and correct.

Sycophancy

None detected. A cited specific evidence for each claim: the YAML parsing rule, the stylistic consistency of the existing quoted fields in the same file, the commit message format, and the rationale for skipping tests on a content-only change.

False positives

None detected. The diff confirms A's claim that publishedAt and updatedAt already use single quotes, making the fix stylistically consistent. The commit message fix(web/blog): quote title in wheels-4-closing-the-maturity-gap is clean per commitlint.config.js (type fix, optional scope web/blog, subject under 100 chars, not ALL-CAPS). The "Validate Commit Messages" CI check passes, confirming this independently.

Missed issues

None detected. The Deploy blog status check is passing, confirming the Astro build now accepts the frontmatter — A's test plan has been satisfied by CI. There are no CFML changes, so cross-engine compatibility and test-suite coverage are irrelevant here.

Verdict alignment

Approve is the right verdict for a single-character content fix with all CI checks green.

Convergence

Aligned. A's analysis is accurate and the fix is verified by the passing Deploy blog check. No changes needed.

@bpamiri
bpamiri merged commit 4e695b2 into develop May 12, 2026
14 checks passed
@bpamiri
bpamiri deleted the peter/blog-maturity-gap-recover branch May 12, 2026 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant