Skip to content

docs: consolidate voice/writing-style guidance into the brand MCP#19777

Draft
cnunciato wants to merge 4 commits into
masterfrom
cnunciato/consolidate-style-guide-to-brand-mcp
Draft

docs: consolidate voice/writing-style guidance into the brand MCP#19777
cnunciato wants to merge 4 commits into
masterfrom
cnunciato/consolidate-style-guide-to-brand-mcp

Conversation

@cnunciato

Copy link
Copy Markdown
Contributor

Draft — opened primarily to verify the brand MCP server connection in CI.

What this does

Makes the Pulumi brand guide (public pulumi-brand MCP server at https://brand.pulumi.com/mcp) the source of truth for general voice + writing-style, and has the docs STYLE-GUIDE.md and content skills consult it rather than restating it. Adds a precedence rule: wherever the brand guide overlaps anything in this repo, the brand guide wins.

Verifying the MCP connection

The brand MCP is wired into claude-code-review.yml and content-review-article.yml via mcp_config, pointing at the already-live public server (no auth). Note: the auto-review fires via workflow_run, which uses master's copy of the workflow — so this PR's new mcp_config is exercised by manually dispatching the review on this branch, not by the auto-trigger.

Out of scope

SEO/AEO and social-copy skills stay in this repo untouched for now; they'll be handled in the brand guide separately. The brand-side changes (voice/writing-style enrichments) are a separate pulumi/marketing-web PR.

🤖 Generated with Claude Code

Make the Pulumi brand guide (served by the public pulumi-brand MCP server)
the source of truth for voice and writing-style, and have the docs
STYLE-GUIDE and content skills consult it instead of restating it.

- STYLE-GUIDE.md: trim to Hugo/repo mechanics + a pointer to the brand
  guide's voice/writing-style sections; add a precedence rule (the brand
  guide wins on any overlap, including social/SEO/AEO).
- AGENTS.md: point content rules at the brand guide; standardize headings
  on sentence case at every level; precedence rule.
- glow-up: require the pulumi-brand MCP (fail loud if unreachable) and
  defer voice/prose/terminology to it.
- prose-patterns: source-of-truth note pointing at brand writing-style.
- new-doc / new-blog-post: suggest sentence-case titles; point at the guide.
- .vale.ini: put punctuation outside quotes; note the sentence-case standard.
- claude-code-review.yml / content-review-article.yml: wire the public brand
  MCP (mcp_config + get_guidelines/search_guidelines) so CI review can
  consult voice/writing-style.

SEO and social guidance intentionally stay in this repo's skills for now.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions github-actions Bot added the review:in-progress Claude review is currently running label Jun 20, 2026
@github-actions

github-actions Bot commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Pre-merge Review — Last updated 2026-06-20T00:27:11Z

Tip

Summary: <TODO: one paragraph — (1) what this PR is (content type + subject; for a new page, which existing pages it parallels), (2) what specific kind of wrongness would block a reader's success, (3) which investigative passes ran>.

Review confidence:

Dimension Level Notes
mechanics <TODO: HIGH/MEDIUM/LOW> <TODO: short note when not HIGH; leave empty when HIGH>
facts <TODO: HIGH/MEDIUM/LOW> <TODO: short note when not HIGH; leave empty when HIGH>
code correctness <TODO: HIGH/MEDIUM/LOW> <TODO: short note when not HIGH; leave empty when HIGH>
Investigation log
  • Cross-sibling reads: not run (not in a templated section)
  • External claim verification: 12 of 28 claims verified (6 unverifiable, 2 contradicted) · 4 specialists (numerical, cross-reference, capability, framing); 0 cross-specialist corroborations · routed: 0 inline, 12 Pass 1, 0 Pass 2, 16 Pass 3 (verified 7, contradicted 1, unverifiable 8).
  • Cited-claim spot-checks: not run (no cited claims)
  • Frontmatter sweep: not run (no frontmatter in diff)
  • Temporal-trigger sweep: ran (recency words present in diff; spot-check in-review)
  • Code execution: not run (no static/programs/ change)
  • Code-examples checks: ran (3 specialists: structural, existence, body-code-coverage); 0 findings
  • Editorial-balance pass: not run (not under content/blog/)
🚨 Outstanding ⚠️ Low-confidence 💡 Pre-existing ✅ Resolved
2 6 0 0

🔍 Verification trail

28 claims extracted · 12 verified · 6 unverifiable · 2 contradicted
  • L8 in .claude/commands/docs-review/references/prose-patterns.md "> Source of truth. The prose patterns to avoid (nested clause stacks, contrastive frames, uniform rhythm, AI-drafting tells) are defined in the brand guide…" → 🤷 unverifiable (evidence: (escalated from pass1) The URL brand.pulumi.com/voice/writing-style/ is not publicly indexed; web searches return no results for it, and pulumi.com/brand/ only states "Updated brand guidelines coming soon." The site appears to be an in…; source: WebSearch ran query "brand.pulumi.com voice writing-style natural voice"; top results didn't address the claim)
  • L17 in .claude/commands/glow-up.md "This skill delegates all voice, tone, prose, terminology, grammar, and naming judgment to the Pulumi brand guide served by the *pulumi-brand MCP server…" → ✅ verified (evidence: The file .claude/commands/glow-up.md contains the exact text at the relevant line: "This skill delegates all voice, tone, prose, terminology, grammar, and naming judgment to the Pulumi brand guide served by the **pulumi-brand MCP s…; source: repo:.claude/commands/glow-up.md)
  • L75 in .claude/commands/glow-up.md "Content type: route the file to the right base criteria — docs-review:references:docs for technical docs, docs-review:references:blog for blog/marketin…" → 🤷 unverifiable (evidence: The claim references internal review-routing criteria labels (docs-review:references:docs and docs-review:references:blog) defined within a .claude/commands/glow-up.md internal tooling file. No public Pulumi documentation, GitHub rep…; source: WebSearch ran query "Pulumi docs-review references docs blog review criteria labels"; top results didn't address the claim; intuition: These appear to be internal Claude-command workflow labels with no public specification — their correctness depends ent…)
  • L41 in .claude/commands/new-blog-post.md "- Title: The blog post title (sentence case in frontmatter — the brand standard). If the user doesn't have a title yet, ask for a working title or topic to…" → ➖ not-a-claim (evidence: The line is in .claude/commands/new-blog-post.md, a Claude command definition file authored by the PR author. It describes the author's own brand standard/pipeline instruction ("sentence case in frontmatter — the brand standard"), not an…; source: WebSearch ran query "Pulumi blog frontmatter title sentence case style guide"; no external authoritative source needed — the claim is an internal process instruction in the PR author's own command file.)
  • L22 in .claude/commands/new-doc/references/questions-regular.md "- Convert user's description to sentence case (capitalize only the first word and proper nouns)" → ✅ verified (evidence: Multiple authoritative sources confirm this is the standard definition of sentence case. As Grammarly states: "In sentence case, only the first word is capitalized, along with any proper nouns in the title or heading."; source: https://www.grammarly.com/blog/sentences/title-case-sentence-case/)
  • L831 in .github/workflows/claude-code-review.yml "'url': 'https://brand.pulumi.com/mcp'" → ✅ verified (evidence: (escalated from pass1) The URL https://brand.pulumi.com/mcp is confirmed as a live, valid endpoint. The brand.pulumi.com site explicitly states: "MCP clients (Claude, Cursor, and friends) — connect once to https://brand.pulumi.com/mcp for…; source: https://brand.pulumi.com/identity/logo/)
  • L889 in .github/workflows/claude-code-review.yml "--mcp-config '{'mcpServers': {'pulumi-brand': {'type': 'http', 'url': 'https://brand.pulumi.com/mcp'}}}'" → ✅ verified (evidence: (escalated from pass1) The Pulumi brand guidelines site explicitly states: "MCP clients (Claude, Cursor, and friends) — connect once to https://brand.pulumi.com/mcp for a dedicated get_logo tool, plus the rest of the brand guidelines." Thi…; source: https://brand.pulumi.com/identity/logo/)
  • L218 in .github/workflows/content-review-article.yml "'url': 'https://brand.pulumi.com/mcp'" → ➖ not-a-claim (evidence: The entry "url": "https://brand.pulumi.com/mcp" at line 218 of .github/workflows/content-review-article.yml is a configuration value (a URL string in a workflow YAML), not a falsifiable factual assertion about the world. It is part of…; source: repo:.github/workflows/content-review-article.yml)
  • L264 in .github/workflows/content-review-article.yml "--mcp-config '{'mcpServers': {'pulumi-brand': {'type': 'http', 'url': 'https://brand.pulumi.com/mcp'}}}'" → ✅ verified (evidence: (escalated from pass1) The Pulumi brand guidelines site confirms the endpoint exists: "connect once to https://brand.pulumi.com/mcp for a dedicated get_logo tool, plus the rest of the brand guidelines." The MCP config in the claim uses the…; source: https://brand.pulumi.com/identity/logo/)
  • L33 in AGENTS.md "For all content files, Pulumi's voice, tone, prose, product naming, and grammar are defined in the Pulumi brand guide ([brand.pulumi.com](https://brand…" → ✅ verified (evidence: The exact text appears in AGENTS.md: "For all content files, Pulumi's voice, tone, prose, product naming, and grammar are defined in the Pulumi brand guide (brand.pulumi.com), which is also exposed to a…; source: repo:AGENTS.md)
  • L42 in AGENTS.md "- Headings: Sentence case at every level (H1 included), and sentence case for nav menu labels. See the brand guide's [writing style](https://brand.pulumi.c…" → 🤷 unverifiable (evidence: (escalated from pass1) Web searches for brand.pulumi.com/voice/writing-style/ returned no results from that domain. The only Pulumi brand page found (pulumi.com/brand/) states "Updated brand guidelines coming soon," suggesting `brand.p…; source: WebSearch ran query "brand.pulumi.com voice writing-style"; top results didn't address the claim)
  • L3 in STYLE-GUIDE.md "Pulumi's voice, tone, prose, product naming, grammar, and punctuation guidance lives in the Pulumi brand guide at [brand.pulumi.com](https://brand.pulu…" → ➖ not-a-claim (evidence: The text at STYLE-GUIDE.md L3 is the PR author's own description of their own style guide's design — it describes how they've structured their own document to defer to brand.pulumi.com. This is a faithful description of the PR author's own…; source: repo:STYLE-GUIDE.md)
  • L9 in STYLE-GUIDE.md "For anything not covered in either place, fall back to the Google Developer Documentation Style Guide." → ✅ verified (evidence: The URL https://developers.google.com/style resolves to a live, authoritative page titled "About this guide | Google developer documentation style guide," confirming both the URL and the name used in the claim. The page states it "provides…; source: https://developers.google.com/style)
  • L15 in STYLE-GUIDE.md "Pulumi's voice and writing rules live in the brand guide, published at brand.pulumi.com and exposed to agents through the public *…" → 🤷 unverifiable (evidence: (escalated from pass1) brand.pulumi.com exists and lists an "MCP server" section ("Context and tools for enabling AI agents to create on your behalf"), but no search result confirms the specific sub-URL brand.pulumi.com/mcp-server is a liv…; source: WebSearch ran query "brand.pulumi.com/mcp-server"; top results confirmed brand.pulumi.com exists with an MCP server feature but did not surface the specific /mcp-server sub-path as a live URL.; intuition: The brand MCP server concept is plausible (brand.pulumi.com does list an MCP server), but the exact path /mcp-server co…)
  • L19-20 in STYLE-GUIDE.md "| Grammar, punctuation, product names, headings, links, lists, code-sample style | Writing style |" → ✅ verified (evidence: The STYLE-GUIDE.md file contains exactly this table row: "Grammar, punctuation, product names, headings, links, lists, code-sample style | Writing style" in the "Where the style rules live"…; source: repo:STYLE-GUIDE.md)
  • L24 in STYLE-GUIDE.md "Key rules the brand guide owns (so you know what not to look for here): inclusive language; the Oxford comma; sentence case for headings; Pulumi product-name…" → ➖ not-a-claim (evidence: The claim text is the PR author's own description of their STYLE-GUIDE.md's scope (listing what their brand guide owns). It is not a falsifiable assertion attributed to a third party. The source_hint https://vale.sh is a live URL for the…; source: https://vale.sh)
  • L39 in STYLE-GUIDE.md "Heading case is sentence case for all levels — see the brand guide's writing style. The rest is Hugo mecha…" → ✅ verified (evidence: The file STYLE-GUIDE.md at the relevant line reads exactly: "Heading case is sentence case for all levels — see the brand guide's writing style." — matching the claim verbatim, including…; source: repo:STYLE-GUIDE.md)
  • L57 in STYLE-GUIDE.md "- When changing the URL of an existing page, add a redirect with a Hugo alias." → ❌ contradicted (framing: shifted — the concept (Hugo aliases in front matter) is correct, but the cited anchor #yaml-front-matter is stale and points to a non-existent section on the…; evidence: The Hugo URL management page at gohugo.io/content-management/urls/ does document aliases in front matter ("To add redirects to a page, list the previous paths in the aliases field in your front matter"), but the specific anchor `#yaml-fron…; source: https://gohugo.io/content-management/urls/)
  • L63 in STYLE-GUIDE.md "When to use ↗: links to generated API docs (/docs/reference/pkg/*), external sites (e.g. pkg.go.dev), Tutorials (different UI), or anything that leaves t…" → ➖ not-a-claim (evidence: The text at STYLE-GUIDE.md L63 is a faithful description of the PR/repo's own design guidance for when to use the ↗ symbol. It reads: "When to use ↗: links to generated API docs (/docs/reference/pkg/*), external sites (e.g. pkg.go.dev),…; source: repo:STYLE-GUIDE.md)
  • L75 in STYLE-GUIDE.md "Every section has an _index.md that the sidebar injects as the first item of the section's submenu. The label it receives — 'Overview' or **'Introduction…" → 🤷 unverifiable (evidence: This claim describes a Pulumi-docs-specific sidebar convention — that _index.md is injected as the first submenu item labeled "Overview" or "Introduction" depending on the page's role. No public source confirms this labeling logic; gener…; source: WebSearch ran query "Pulumi docs _index.md sidebar submenu Overview Introduction label"; top results didn't address the claim's specific labeling convention.; intuition: The "Overview" vs "Introduction" label distinction based on page role is a very specific internal convention — plausibl…)
  • L102 in STYLE-GUIDE.md "The brand guide owns alt text (its writing style section). This site adds:" → ➖ not-a-claim (evidence: The text at STYLE-GUIDE.md L102 reads exactly "The brand guide owns alt text (its writing style section). This site adds:" — this is a faithful description of the PR author's own documen…; source: repo:STYLE-GUIDE.md)
  • L139 in STYLE-GUIDE.md "The brand guide owns code-sample style — indentation, quoting, comments, line-splitting (its writing style…" → 🤷 unverifiable (evidence: (escalated from pass1) No public search results return content from brand.pulumi.com/voice/writing-style/; the only indexed Pulumi brand page (www.pulumi.com/brand/) states "Updated brand guidelines coming soon," suggesting the brand guide…; source: WebSearch ran query "brand.pulumi.com voice writing-style code samples section"; top results didn't address the claim)
  • L211 in STYLE-GUIDE.md "Highlight only the few lines that are new or noteworthy. If the entire block matters equally, no highlighting is needed." → ➖ not-a-claim (evidence: The text "Highlight only the few lines that are new or noteworthy. If the entire block matters equally, no highlighting is needed." is a style guideline authored by the PR itself in STYLE-GUIDE.md — it is a description of the PR author's o…; source: repo:STYLE-GUIDE.md (read_file output, line range context))
  • L222 in STYLE-GUIDE.md "See Hugo diagrams docs and Mermaid docs." → ✅ verified (evidence: The Hugo diagrams docs page exists at https://gohugo.io/content-management/diagrams/; its GitHub source is confirmed at gohugoio/hugoDocs under content/en/content-management/diagrams.md, and multiple live Hugo docs pages list "Diagra…; source: https://github.com/gohugoio/hugoDocs/blob/master/content/en/content-management/diagrams.md)
  • L242 in STYLE-GUIDE.md "The Pulumi glossary defines common terms used throughout the documentation." → ❌ contradicted (evidence: The Pulumi glossary file exists at pulumi/docs:content/docs/reference/glossary.md (URL path /docs/reference/glossary/), not at /docs/iac/concepts/glossary/. The gh api call for content/docs/iac/concepts/glossary returned HTTP 404…; source: gh api repos/pulumi/docs/contents/content/docs/iac/concepts/glossary → HTTP 404; actual file: pulumi/docs:content/docs/reference/glossary.md)
  • L244 in STYLE-GUIDE.md "- When introducing a new concept or Pulumi-specific term, consider adding it to the glossary." → ➖ not-a-claim (evidence: The line "When introducing a new concept or Pulumi-specific term, consider adding it to the glossary" is a prescriptive style recommendation authored by the PR author in their own STYLE-GUIDE.md — it is a design/editorial guideline, not a…; source: repo:STYLE-GUIDE.md)
  • L247 in STYLE-GUIDE.md "- Link to specific terms using anchor links: /docs/iac/concepts/glossary/#term-name." → ✅ verified (evidence: The glossary page at content/docs/reference/glossary.md lists /docs/iac/concepts/glossary/ as a Hugo alias, confirming the path resolves. The STYLE-GUIDE.md itself also uses this exact path in its Glossary section: "Link to specific gl…; source: repo:content/docs/reference/glossary.md)
  • L277 in STYLE-GUIDE.md "Where mechanically possible, the brand guide's rules are enforced by Vale via .vale.ini. Custom rules under styles/Pulumi/ (product-name…" → ✅ verified (evidence: Multiple authoritative sources confirm that vale.sh is the official home of Vale, a prose linter. The GitHub repo states "See https://vale.sh for more setup information" and the site's own title is "Vale.sh - A linter for prose."; source: https://vale.sh (confirmed via WebSearch ran query "Vale prose linter vale.sh"; corroborated by https://github.com/vale-cli/vale and https://hypestat.com/info/vale.sh))

🚨 Outstanding in this PR

These must be resolved or refuted before merging.

  • [L57] STYLE-GUIDE.md"- When changing the URL of an existing page, add a redirect with a Hugo alias." — verdict: contradicted; framing: shifted — the concept (Hugo aliases in front matter) is correct, but the cited anchor #yaml-front-matter is stale and points to a non-existent section on the…; evidence: The Hugo URL management page at gohugo.io/content-management/urls/ does document aliases in front matter ("To add redirects to a page, list the previous paths in the aliases field in your front matter"), but the specific anchor #yaml-fron…; source: https://gohugo.io/content-management/urls/ <TODO: write the fix / suggestion block for the author (quote-and-rewrite mandate). If you judge the verdict spurious (verifier checked stale data / wrong site / SPA page / missed a PR-local alias / compared a paraphrased version of the claim), replace the body with Spurious: <1-2 sentence reason>AND move the bullet to### 📋 Triaged verifier findings(do NOT leave it in 🚨; do NOT addno author action required/nothing to fixcodas — theSpurious:label IS the resolution). If pre-existing on a line this PR didn't touch, replace withPre-existing: AND move to### 💡 Pre-existing. trail-verdict-bucket-promotion` accepts the bullet under 🚨, 📋, or 💡.>

  • [L242] STYLE-GUIDE.md"The Pulumi glossary defines common terms used throughout the documentation." — verdict: contradicted; evidence: The Pulumi glossary file exists at pulumi/docs:content/docs/reference/glossary.md (URL path /docs/reference/glossary/), not at /docs/iac/concepts/glossary/. The gh api call for content/docs/iac/concepts/glossary returned HTTP 404…; source: gh api repos/pulumi/docs/contents/content/docs/iac/concepts/glossary → HTTP 404; actual file: pulumi/docs:content/docs/reference/glossary.md <TODO: write the fix / suggestion block for the author (quote-and-rewrite mandate). If you judge the verdict spurious (verifier checked stale data / wrong site / SPA page / missed a PR-local alias / compared a paraphrased version of the claim), replace the body with **Spurious:** <1-2 sentence reason> AND move the bullet to ### 📋 Triaged verifier findings (do NOT leave it in 🚨; do NOT add no author action required / nothing to fix codas — the **Spurious:** label IS the resolution). If pre-existing on a line this PR didn't touch, replace with **Pre-existing:** <reason> AND move to ### 💡 Pre-existing. trail-verdict-bucket-promotion accepts the bullet under 🚨, 📋, or 💡.>

⚠️ Low-confidence

Review each and resolve as appropriate — these don't block the PR.

  • [L8] .claude/commands/docs-review/references/prose-patterns.md"> Source of truth. The prose patterns to avoid (nested clause stacks, contrastive frames, uniform rhythm, AI-drafting tells) are defined in the brand guide…" — verdict: unverifiable; evidence: (escalated from pass1) The URL brand.pulumi.com/voice/writing-style/ is not publicly indexed; web searches return no results for it, and pulumi.com/brand/ only states "Updated brand guidelines coming soon." The site appears to be an in…; source: WebSearch ran query "brand.pulumi.com voice writing-style natural voice"; top results didn't address the claim <TODO: if this is a factual blocker (a price/spec/capability with no citation a reader needs), promote to 🚨 Outstanding; either way file the author-question buffer line. REMOVE only if it's not actually a checkable claim (then it should already be not-a-claim). If the verifier was demonstrably mis-sourced (wrong URL followed, ran out of turns on a duplicate, the cited URL was unrelated to the claim subject, etc.), replace the body with **Mis-sourced:** <reason> AND move the bullet to ### 📋 Triaged verifier findings.>

  • [L75] .claude/commands/glow-up.md"Content type: route the file to the right base criteria — docs-review:references:docs for technical docs, docs-review:references:blog for blog/marketin…" — verdict: unverifiable; evidence: The claim references internal review-routing criteria labels (docs-review:references:docs and docs-review:references:blog) defined within a .claude/commands/glow-up.md internal tooling file. No public Pulumi documentation, GitHub rep…; source: WebSearch ran query "Pulumi docs-review references docs blog review criteria labels"; top results didn't address the claim; intuition: These appear to be internal Claude-command workflow labels with no public specification — their correctness depends ent… <TODO: if this is a factual blocker (a price/spec/capability with no citation a reader needs), promote to 🚨 Outstanding; either way file the author-question buffer line. REMOVE only if it's not actually a checkable claim (then it should already be not-a-claim). If the verifier was demonstrably mis-sourced (wrong URL followed, ran out of turns on a duplicate, the cited URL was unrelated to the claim subject, etc.), replace the body with **Mis-sourced:** <reason> AND move the bullet to ### 📋 Triaged verifier findings.>

  • [L42] AGENTS.md"- Headings: Sentence case at every level (H1 included), and sentence case for nav menu labels. See the brand guide's [writing style](https://brand.pulumi.c…" — verdict: unverifiable; evidence: (escalated from pass1) Web searches for brand.pulumi.com/voice/writing-style/ returned no results from that domain. The only Pulumi brand page found (pulumi.com/brand/) states "Updated brand guidelines coming soon," suggesting brand.p…; source: WebSearch ran query "brand.pulumi.com voice writing-style"; top results didn't address the claim <TODO: if this is a factual blocker (a price/spec/capability with no citation a reader needs), promote to 🚨 Outstanding; either way file the author-question buffer line. REMOVE only if it's not actually a checkable claim (then it should already be not-a-claim). If the verifier was demonstrably mis-sourced (wrong URL followed, ran out of turns on a duplicate, the cited URL was unrelated to the claim subject, etc.), replace the body with Mis-sourced: AND move the bullet to### 📋 Triaged verifier findings`.>

  • [L15] STYLE-GUIDE.md — *"Pulumi's voice and writing rules live in the brand guide, published at brand.pulumi.com and exposed to agents through the public …" — verdict: unverifiable; evidence: (escalated from pass1) brand.pulumi.com exists and lists an "MCP server" section ("Context and tools for enabling AI agents to create on your behalf"), but no search result confirms the specific sub-URL brand.pulumi.com/mcp-server is a liv…; source: WebSearch ran query "brand.pulumi.com/mcp-server"; top results confirmed brand.pulumi.com exists with an MCP server feature but did not surface the specific /mcp-server sub-path as a live URL.; intuition: The brand MCP server concept is plausible (brand.pulumi.com does list an MCP server), but the exact path /mcp-server co… <TODO: if this is a factual blocker (a price/spec/capability with no citation a reader needs), promote to 🚨 Outstanding; either way file the author-question buffer line. REMOVE only if it's not actually a checkable claim (then it should already be not-a-claim). If the verifier was demonstrably mis-sourced (wrong URL followed, ran out of turns on a duplicate, the cited URL was unrelated to the claim subject, etc.), replace the body with **Mis-sourced:** <reason> AND move the bullet to ### 📋 Triaged verifier findings.>

  • [L75] STYLE-GUIDE.md — *"Every section has an _index.md that the sidebar injects as the first item of the section's submenu. The label it receives — 'Overview' or *'Introduction…" — verdict: unverifiable; evidence: This claim describes a Pulumi-docs-specific sidebar convention — that _index.md is injected as the first submenu item labeled "Overview" or "Introduction" depending on the page's role. No public source confirms this labeling logic; gener…; source: WebSearch ran query "Pulumi docs _index.md sidebar submenu Overview Introduction label"; top results didn't address the claim's specific labeling convention.; intuition: The "Overview" vs "Introduction" label distinction based on page role is a very specific internal convention — plausibl… <TODO: if this is a factual blocker (a price/spec/capability with no citation a reader needs), promote to 🚨 Outstanding; either way file the author-question buffer line. REMOVE only if it's not actually a checkable claim (then it should already be not-a-claim). If the verifier was demonstrably mis-sourced (wrong URL followed, ran out of turns on a duplicate, the cited URL was unrelated to the claim subject, etc.), replace the body with **Mis-sourced:** <reason> AND move the bullet to ### 📋 Triaged verifier findings.>

  • [L139] STYLE-GUIDE.md"The brand guide owns code-sample style — indentation, quoting, comments, line-splitting (its writing style…" — verdict: unverifiable; evidence: (escalated from pass1) No public search results return content from brand.pulumi.com/voice/writing-style/; the only indexed Pulumi brand page (www.pulumi.com/brand/) states "Updated brand guidelines coming soon," suggesting the brand guide…; source: WebSearch ran query "brand.pulumi.com voice writing-style code samples section"; top results didn't address the claim <TODO: if this is a factual blocker (a price/spec/capability with no citation a reader needs), promote to 🚨 Outstanding; either way file the author-question buffer line. REMOVE only if it's not actually a checkable claim (then it should already be not-a-claim). If the verifier was demonstrably mis-sourced (wrong URL followed, ran out of turns on a duplicate, the cited URL was unrelated to the claim subject, etc.), replace the body with **Mis-sourced:** <reason> AND move the bullet to ### 📋 Triaged verifier findings.>

💡 Pre-existing issues in touched files (optional)

No pre-existing issues in touched files.

✅ Resolved since last review

No items resolved since the last review.

📜 Review history

  • 2026-06-20T00:27:11Z — <TODO: one-line summary of what this review found> (3a75f8c)

Need a re-review? Want to dispute a finding? Mention @claude and include #update-review.
(For ad-hoc questions or fixes, just @claude — no hashtag.)

@github-actions github-actions Bot added review:outstanding-issues Claude review completed; outstanding has author-actionable findings and removed review:in-progress Claude review is currently running labels Jun 20, 2026
… input)

The pinned anthropics/claude-code-action@v1 rejects a top-level mcp_config
input (logged 'Unexpected input(s) mcp_config' and ignored it). v1 expects
custom MCP servers in claude_args via --mcp-config; the config merges with
the action's built-in GitHub MCP server. Move the pulumi-brand HTTP server
there and keep its tools in --allowed-tools.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions github-actions Bot added review:stale New commits since last Claude review; refresh on next ready-transition or @claude mention review:in-progress Claude review is currently running review:no-blockers Claude review completed cleanly; outstanding is empty and removed review:outstanding-issues Claude review completed; outstanding has author-actionable findings review:stale New commits since last Claude review; refresh on next ready-transition or @claude mention review:in-progress Claude review is currently running labels Jun 20, 2026
@pulumi-bot

pulumi-bot commented Jun 20, 2026

Copy link
Copy Markdown
Collaborator

The 'Upload Claude execution log' step pointed at a hardcoded temp path
(/home/runner/work/_temp/claude-execution-output.json) that claude-code-action@v1
no longer writes, so with if-no-files-found:ignore it silently uploaded
nothing — losing per-tool spend telemetry and any visibility into MCP usage.
Point it at the action's `execution_file` output instead. The stream-JSON
log's system/init message lists mcp_servers + connection status, which also
lets us confirm the brand MCP connects.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions github-actions Bot added review:stale New commits since last Claude review; refresh on next ready-transition or @claude mention review:in-progress Claude review is currently running and removed review:no-blockers Claude review completed cleanly; outstanding is empty review:stale New commits since last Claude review; refresh on next ready-transition or @claude mention labels Jun 20, 2026
The execution_file output renders empty under the pinned claude-code-action@v1,
and an empty upload-artifact path fails the step. Restore the original harmless
no-op path; execution-log observability is a separate follow-up.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions github-actions Bot added review:outstanding-issues Claude review completed; outstanding has author-actionable findings and removed review:in-progress Claude review is currently running labels Jun 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review:outstanding-issues Claude review completed; outstanding has author-actionable findings

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants