Skip to content

Restructure Infrastructure AI docs to the standard IA - #22261

Merged
jkodroff merged 5 commits into
masterfrom
jkodroff/ai-infra-ia
Oct 22, 2026
Merged

jkodroff merged 5 commits into
masterfrom
jkodroff/ai-infra-ia

Conversation

@jkodroff

Copy link
Copy Markdown
Member

Closes #22252.

/docs/ai/ was the one docs section organized by product (skills, CLI, MCP server, and 13 sibling Neo folders) instead of by page type. This PR groups it the way ESC, Deployments, and Discovery & governance are grouped: Get started, Concepts, Guides, Integrations, Reference. Neo-specific concepts sit under concepts/neo/, so the bring-your-own-agent pages and the Neo pages sit side by side.

New tree

/docs/ai/
├── (landing)                    cards rewritten to point at the groups below
├── get-started/                 NEW: two paths, "use your own agent" or "use Pulumi Neo"
│   └── neo                      ← neo/get-started
├── concepts/                    NEW index
│   ├── agent-skills             ← skills
│   ├── cli-for-agents           ← cli-for-agents
│   └── neo/                     ← neo (Neo overview)
│       ├── tasks                ← neo/tasks
│       ├── permissions          ← neo/permissions
│       ├── automations          ← neo/automations
│       ├── neo-in-the-cli       ← neo/pulumi-cli
│       ├── neo-in-your-editor   ← neo/editors
│       ├── pull-requests        ← neo/pull-requests
│       ├── code-reviews         ← neo/code-reviews
│       ├── previews             ← neo/running-previews
│       ├── instructions         SPLIT from neo/settings (custom + AGENTS.md repo instructions)
│       ├── slash-commands       SPLIT from neo/settings
│       ├── model-providers      ← neo/model-providers
│       ├── settings             ← neo/settings (trimmed: access, task mode, notifications)
│       └── usage-limits         ← neo/usage-limits
├── guides/                      NEW index
│   └── set-up-mcp-server        ← mcp-server (setup, auth, costs, troubleshooting)
├── integrations/                ← neo/integrations
│   ├── external-mcp-servers     ← neo/integrations/mcp
│   ├── cli-integrations         ← neo/integrations/cli
│   └── slack                    ← neo/integrations/slack
└── reference/                   NEW index
    └── mcp-server-tools         SPLIT from mcp-server (tools + prompts)

Redirects and links

  • Every moved page keeps its existing aliases and gains one for its old URL. All 29 old URLs I tested redirect correctly on a local make serve, including legacy ones like /docs/neo/, /docs/ai/tasks/, and /docs/iac/guides/ai-integration/mcp-server/.
  • Anchors that moved off a page redirect client-side, using the existing pattern from the integrations page: settings #custom-instructions, #repository-instructions, #slash-commands, and their children, plus MCP server #tools and #prompts.
  • Three old aliases are now real URLs, so their aliases were removed. /docs/ai/get-started/ and /docs/ai/integrations/ are now group index pages, and /docs/ai/integrations/slack/ is now the Slack page itself.
  • Links outside the section are updated in 56 files, including llms.txt, the agent-start layout, the glossary, and one S3 redirect target. Blog posts are left alone and rely on aliases.

Not in this PR

  • Sentence-casing existing nav labels such as "Pull Requests" and "CLI Integrations".
  • Deduplicating the permission-model section in Neo get-started against the Permissions page.

🤖 Generated with Claude Code

jkodroff and others added 2 commits October 12, 2026 19:44
Group /docs/ai/ by page type (Get started, Concepts, Guides, Integrations,
Reference) like the other docs sections. Neo pages move under
concepts/neo/, integrations become a top-level group, the MCP server page
splits into a setup guide and a tools reference, and the Neo settings page
splits out instructions and slash commands. Every moved page keeps an alias
for its old URL, and moved anchors redirect to their new pages.

Refs #22252

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Sentinel — merge gate status

All gates green — nothing is blocking this merge.

Gate What it needs
✅ G1 review-ran Nothing to do: review current at a0f9eccbc.
✅ G2 findings-answered Nothing to do: every finding answered.
✅ G3 right-approver Nothing to do: approved by CamSoper, who has write access.
➖ G4 infra-evidence Doesn't apply to this PR: no changed path affects the deploy.
➖ G5 oversized-ack Doesn't apply to this PR: not oversized.

Evaluated at head a0f9eccbc.


Need help, or think a gate got it wrong? Ask in #docs on Slack.

@pulumi-bot

pulumi-bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

Your site preview for commit a0f9ecc is ready! 🎉

http://www-testing-pulumi-docs-origin-pr-22261-a0f9eccb.s3-website.us-west-2.amazonaws.com

Changed pages:

@pulumi-bot

pulumi-bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

Lighthouse Performance Report

Commit: a0f9ecc | Metric definitions

Page Device Score FCP LCP TBT CLS SI
Homepage Mobile 🔴 46 3.2s 3.5s 4014ms 0.024 9.9s
Homepage Desktop 🟡 83 1.2s 1.6s 130ms 0.144 1.3s
Install Pulumi Mobile 🟡 58 7.5s 15.4s 61ms 0.029 7.5s
Install Pulumi Desktop 🟡 84 1.1s 2.5s 0ms 0.006 1.1s
AWS Get Started Mobile 🟡 57 5.4s 8.7s 48ms 0.126 5.4s
AWS Get Started Desktop 🟢 90 1.1s 1.8s 0ms 0.045 1.1s

Resolve the billing-managers.md conflict by keeping master's sentence-cased
"billing manager" and this branch's updated Neo usage limits link.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01TCgHH2NDHANbz8V8F7BLey

@CamSoper CamSoper 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.

LGTM. Merged master in to clear the one conflict in billing-managers.md (kept master's lowercase "billing manager" plus your new usage limits link). Nothing else touched.


Generated by Claude Code

@jkodroff
jkodroff marked this pull request as ready for review October 22, 2026 18:04
@github-actions github-actions Bot added review:triaging Claude Triage is currently classifying the PR domain:website PR touches marketing, pricing, legal, or competitive landing pages domain:docs PR touches technical docs domain:mixed PR touches more than one domain domain:infra PR touches workflows, scripts, infra, Makefile, or build config domain:frontend PR touches Hugo templates, theme sources, or site assets (layouts/, theme/, assets/, static/) labels Oct 22, 2026
@pulumi-bot
pulumi-bot requested review from a team October 22, 2026 18:05
@github-actions github-actions Bot added review:in-progress Claude review is currently running and removed review:triaging Claude Triage is currently classifying the PR labels Oct 22, 2026

@github-actions github-actions 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.

🔧 One-click fixes for findings that block merge — each matches a Do this block on the author card. Commit one and the card picks up the fix; you can still disagree on the card instead.


Generated by Claude Code

@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Reviewer's guide v2 — not for the author

Tip

Check the ⚠️ items, then approve. Your approval covers only those; links, shortcodes, metadata, and verified claims were checked by machine (receipts on the evidence page). Code samples are read, not compiled.

PR author: nothing here is yours. Your to-do list is the "Author action guide" comment.

Review requested from: @pulumi/docs-guild, @pulumi/docs-marketing-review, @pulumi/docs-tools — an approval from anyone with write access satisfies the merge gate.

Note

What this PR changes:

  • Neo pages: moved from /docs/ai/neo/ to /docs/ai/concepts/neo/
  • Neo settings page: split into settings, instructions, and slash-commands pages
  • New section landing pages: concepts, get-started, guides, and reference
  • MCP server page: became a set-up guide plus a new MCP server tools reference page
  • Neo integrations: moved to /docs/ai/integrations/
  • Inbound links: updated across docs, what-is, product, and changelog pages

The main risk in a restructure is a reader landing on a broken link or a statement that disagrees with another page in the same section. Link and alias checks, the frontmatter sweep, a Hugo build, claim verification, and a readthrough of the new pages all ran.

Review confidence:

Dimension Level Notes
mechanics HIGH
facts MEDIUM Settled since this was written — see ✅ Resolved on the author card.
coherence MEDIUM Not yours to check: the readthrough items are listed below.
cross-sibling consistency MEDIUM Settled since this was written — see ✅ Resolved on the author card.
code correctness HIGH

⚠️ Check these before approving

No findings to check — but the editorial stances below still need a human eye.

Editorial stances introduced by this PR

Superlatives and comparisons the diff adds. Framing isn't fact-checkable, so confirm each is a stance the docs should take.

  • L27 content/docs/ai/_index.md — "Neo is suited for long-running, governed infrastructure tasks, while coding agents are suited for interactive development." — positioning (found by llm-atomic)
  • L35 content/docs/ai/concepts/_index.md — "- Settings: Access controls, the default task mode, and notifications." — positioning (found by regex)
  • L109 content/docs/ai/concepts/neo/permissions.md — "| Approval (task) mode | Review-manual / Balanced / Auto | User per task; org admin sets the default | Task UI; --approval-mode in the CLI; org default…" — positioning (found by regex)
  • L102 content/docs/ai/concepts/neo/settings/index.md — "1. Select the default mode from the dropdown" — positioning (found by regex)
  • L109 content/docs/ai/concepts/neo/settings/index.md — "Starting with the most restrictive Neo task mode is best for most organizations." — positioning (found by llm-atomic)
  • L109-110 content/docs/ai/concepts/neo/settings/index.md — "Starting with the most restrictive Neo task mode (Review mode) is best for most organizations." — positioning (found by regex+llm-atomic+llm-holistic)
  • L5 content/docs/ai/concepts/neo/settings/index.md — "meta_desc: Configure Neo access controls, model providers, integrations, the default task mode, and notification preferences." — positioning (found by regex)
  • L91 content/docs/ai/concepts/neo/settings/index.md — "Organization administrators can set the default task mode. The available modes determine how much autonomy Neo has during execution:" — positioning (found by regex)
  • L16 content/docs/iac/concepts/converters.md — "For most conversions, using an LLM is the recommended first option. Pulumi Neo, part of Pulumi Cloud, can convert your infrastructure code using…" — positioning (found by regex)

✅ What you can rubber-stamp

  • Facts: 309 factual claims checked — 226 verified clean, 4 flagged in the ⚠️ list, 79 settled — see the evidence page.
  • Mechanics: frontmatter sweep ran; Hugo build green; 218 added internal link(s) resolve; 4 detector finding(s) filed above.
  • Style: 0 advisory suggestions left with the author; never blocking.

Pre-existing issues in touched files: 73 — details on the evidence page.

Full evidence: verification trail, investigation log, review history.

Review v2 · updated 2026-10-22T20:31:02Z · head commit a0f9ecc


For the reviewer: something look wrong? Comment /update-review <your point> and the review re-checks with your input.

@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Author action guide v2 — nothing blocks merge

Important

You = the PR author. Answer every item below before this PR can merge.

To answer: push a fix, or reply /update-review F1: <what you fixed, why it's wrong, or "accepting as-is — why">. A reply without /update-review at the start of a line doesn't count. Examples: How to answer at the bottom.

This PR moves the Infrastructure AI docs into the standard concepts / get-started / guides / reference / integrations layout. The review checked links, aliases, the build, and the factual claims on the moved and new pages.

✅ Resolved since last review

10 resolved items — click to expand
ID Where Finding
F2 content/docs/ai/concepts/neo/permissions.md L39-43 The permissions table links "MCP" to the page about external MCP servers that Neo calls, not to the Pulumi MCP server that creates tasks. — ✅ fixed in 5dd6e0e: MCP link now points to /docs/ai/guides/set-up-mcp-server/
F3 content/docs/ai/concepts/neo/permissions.md L45 The page says Neo always uses the shared app installation for VCS writes "no matter which surface", which the page's own VCS section (L124–129) contradicts. — ✅ fixed in 5dd6e0e: sentence now names repo creation and GHES individual auth as exceptions
F4 content/docs/ai/concepts/neo/permissions.md L118 The page says permission mode has an org-level default, which the control inventory on the same page (L108) contradicts. — ✅ fixed in 5dd6e0e: sentence removed; control inventory states the approval-mode org default
F6 content/docs/ai/concepts/neo/instructions/index.md L57-78 The "Bootstrapping repository instructions" subsection talks about AGENTS.md before the "Repository instructions" section introduces it (L80). Decide whether that order works or should be reversed. — ✅ fixed in 5dd6e0e: bootstrapping subsection now sits under Repository instructions
F7 content/docs/ai/concepts/neo/instructions/index.md L95 L95 repeats the bullet list at L88–93 (coding standards, naming conventions, tests). Decide whether the duplicate sentence should go. — ✅ fixed in 5dd6e0e: duplicate sentence removed
F8 content/docs/ai/concepts/neo/settings/index.md L49-57 Per-feature controls (L51–55) don't give their own navigation steps; only the General-tab steps at L45–47 imply where they are. Decide whether readers can find the toggles. — ✅ fixed in a0f9ecc: page says per-feature controls are on the General tab, below the master switch
F62 content/docs/ai/_index.md L25 "Pulumi agent accounts remove signup friction entirely." — "entirely" overstates the linked page, which says an agent can get an account before a human signs up (signup is postponed, not removed). Ask for "let an agent start before a human signs up" or drop "entirely". — ✅ fixed in 5dd6e0e: now says agent accounts let an agent start before anyone signs up
F64 content/docs/ai/concepts/neo/_index.md L88-92 "Neo's Plan Mode makes Neo agree on a plan with the user before acting, task modes control which steps need user approval, and read-only mode removes Neo's…" — verdict: framing-drift; framing: overclaim — claim broadens 'removes the ability to trigger writes in Pulumi Cloud' (code edits, PRs and ESC access still allowed) to 'removes its ability to… — the permissions page says read-only blocks only Pulumi Cloud writes; Neo can still edit code, open PRs, and use ESC credentials. Ask for "removes its ability to make changes in Pulumi Cloud" before approving. — ✅ fixed in 5dd6e0e: read-only now stops Neo from making changes in Pulumi Cloud
F65 content/docs/ai/concepts/neo/_index.md L91-92 "Neo's read-only mode removes its ability to change anything at all." — verdict: framing-drift; framing: overclaim: the claim turns "removes the ability to trigger writes in Pulumi Cloud" into "removes its ability to change anything at all", but the source says… — same sentence as F64; one rewrite fixes both. — ✅ fixed in 5dd6e0e: same rewrite as F64
F69 content/docs/ai/concepts/neo/settings/index.md L83 "The page /docs/ai/integrations/ exists and lists available integrations, setup instructions, and credential storage details." — verdict: framing-drift; framing: The link target is valid, but the line describes it as having 'the full list of available integrations, setup instructions, and credential storage details'.… — open /docs/ai/integrations/ and confirm it covers credential storage; if not, ask the author to drop that phrase. — ✅ fixed in 5dd6e0e: credential storage now links to external-mcp-servers#credential-storage

Full evidence: verification trail, investigation log, review history.

Review v2 · updated 2026-10-22T20:31:02Z · head commit a0f9ecc


Please don't edit or delete this comment; it's the review's record.

@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 Oct 22, 2026
…ated screenshot

- F2: link MCP-created tasks to the Pulumi MCP server guide
- F3: name the VCS identity exceptions (repo creation, GHES individual auth)
- F4: drop the claim that permission mode has an org-level default
- F6/F7: move bootstrapping subsection under Repository instructions; remove duplicate sentence
- F62, F64/F65, F69: tighten overclaims on agent accounts, read-only mode, and the integrations page
- Remove the outdated Neo access screenshot from the settings page

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@github-actions github-actions Bot added review:stale New commits since last Claude review; refresh on next ready-transition or @claude mention and removed review:outstanding-issues Claude review completed; outstanding has author-actionable findings labels Oct 22, 2026
@jkodroff

Copy link
Copy Markdown
Member Author

/update-review

Fixed in 5dd6e0e: F2 (MCP link now points to /docs/ai/guides/set-up-mcp-server/), F3 (VCS sentence now names the repo-creation and GHES individual-auth exceptions), F4 (deleted the sentence; the control inventory already states the approval-mode org default).

Also fixed reviewer checks: F6 (bootstrapping subsection moved into Repository instructions), F7 (duplicate sentence removed), F62 (dropped "entirely"), F64/F65 (read-only now scoped to Pulumi Cloud changes), F69 (credential storage links to external-mcp-servers#credential-storage).

Also removed the outdated Neo access screenshot from the settings page.

Fixed in a0f9ecc: F8 (settings page now says the per-feature controls are on the General tab, below the master switch).

@github-actions github-actions Bot added review:in-progress Claude review is currently running review:no-blockers Claude review completed cleanly; outstanding is empty and removed 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 Oct 22, 2026
@jkodroff
jkodroff enabled auto-merge (squash) October 22, 2026 20:32
@jkodroff
jkodroff merged commit 2ea0b3b into master Oct 22, 2026
27 checks passed
@jkodroff
jkodroff deleted the jkodroff/ai-infra-ia branch October 22, 2026 20:48
CamSoper pushed a commit that referenced this pull request Oct 22, 2026
Resolves the conflict in content/what-is/mcp-for-infrastructure-as-code.md:
keeps this PR's new "Best MCP Servers" bullet and master's new
/docs/ai/guides/set-up-mcp-server/ path from #22261.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NPURfyqXfEzFYxMVhqSMfe
CamSoper pushed a commit that referenced this pull request Oct 22, 2026
/docs/ai/mcp-server/ and /docs/ai/neo/integrations/mcp/ moved in #22261
and now only resolve through aliases.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NPURfyqXfEzFYxMVhqSMfe

This branch was successfully deployed

1 active and 1 inactive deployments
testing — a0f9eccb Deployed Oct 22, 2026 by jkodroff via Do cleanup #14880
production — a0f9eccb Deployed Oct 22, 2026 by jkodroff via Record review outcome #14880
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

domain:docs PR touches technical docs domain:frontend PR touches Hugo templates, theme sources, or site assets (layouts/, theme/, assets/, static/) domain:infra PR touches workflows, scripts, infra, Makefile, or build config domain:mixed PR touches more than one domain domain:website PR touches marketing, pricing, legal, or competitive landing pages review:no-blockers Claude review completed cleanly; outstanding is empty

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AI Infrastructure does not conform to IA

4 participants