Fix /docs/using-pulumi/ link defects and remaining /docs/iac/concepts/options/* redirect hops - #21155
Conversation
… and /docs/iac/concepts/options/ hop classes Three /docs/using-pulumi/ link defects, each independently verified: - debugging-providers.md carried a stray `/docs/using-pulumi/pulumi-packages/` alias that collides with the same alias already declared on content/docs/iac/concepts/packages/_index.md:14 (the debugging page wins the collision, so the link never reached the packages index). Looks like a truncated copy-paste amid a run of `.../debugging-provider-packages/` aliases on the same page. Deleted the stray entry. - import/_index.md:501 linked "component package" to /docs/using-pulumi/pulumi-packages/#types-of-pulumi-packages, an anchor that exists on neither the debugging page nor the packages index (checked both). Repointed to the packages concepts page itself, without the nonexistent fragment. - opentofu.md:148 hopped via scripts/redirects/general-broken-links-redirects.txt:7 to /docs/iac/guides/migration/, whose #conversion anchor does exist (confirmed at guides/migration/_index.md:76). Pointed directly at the canonical URL. Also folded in the remaining /docs/iac/concepts/options/* redirect-hop occurrences outside the blog file already covered by PR #21145: 8 more files with live body links to the old /docs/iac/concepts/options/<name>/ path, each verified live (301 -> /docs/iac/concepts/resources/options/<name>/, confirmed via curl) and rewritten to the canonical /docs/iac/concepts/resources/options/<name>/ path. aliases: frontmatter entries under both prefixes were left untouched -- they are legitimate redirect stubs, not violations.
There was a problem hiding this comment.
🧹 Optional style suggestions from the pre-merge review — apply or dismiss; none of them block.
Generated by Claude Code
Pre-merge Review — Last updated 2026-08-26T21:11:37ZTip Summary: A link-maintenance PR: it rewrites nine Review confidence:
Investigation log
🔍 Verification trail29 claims extracted · 29 verified · 0 unverifiable · 0 contradicted
📊 Editorial balanceSingle-subject post; balance check N/A. 🚨 Outstanding in this PRNo outstanding findings in this PR.
|
|
Fixed the one Low-confidence finding: the two rewritten The style suggestions on @claude #update-review |
|
🤖 Review updated on @workprentice[bot]'s request. |
|
Ready for human review. Live-verified against HEAD CI: all required checks green ( Bot review: tally is 0 Outstanding / 0 Low-confidence / 0 Pre-existing / 1 Resolved, confirmed against the current Live redirect/anchor check (curled against www.pulumi.com):
Alias-removal safety (the one structurally risky change, dropping No new occurrences of the old link forms were introduced elsewhere in No blockers from this review pass. |
Internal redirect-hop and broken-link cleanup, split out from PR #21138 and PR #21146 to stay single-purpose. Fixes two things: three defects in the /docs/using-pulumi/ URL space (surfaced by PR #21138's review), and the remaining /docs/iac/concepts/options/* redirect hops PR #21145 didn't cover (that PR only owns the blog file).
/docs/using-pulumi/ defects (3, each independently verified before editing)
Stray alias collision --
content/docs/iac/guides/building-extending/providers/debugging-providers.mdcarried/docs/using-pulumi/pulumi-packages/in itsaliases:list, amid a run of.../debugging-provider-packages/variants that looks like a truncated copy-paste. That path is also aliased oncontent/docs/iac/concepts/packages/_index.md:14-- the debugging page's declaration wins the collision (aliases are resolved by declaration order across the site build), so the link never reached the packages index it was presumably meant to reach. Deleted the stray entry; the correct, non-colliding alias on the packages page is untouched.Dead anchor --
content/docs/iac/guides/migration/import/_index.md:501linked "component package" to/docs/using-pulumi/pulumi-packages/#types-of-pulumi-packages. I checked both plausible targets for atypes-of-pulumi-packagesheading or matching anchor text -- the debugging page andcontent/docs/iac/concepts/packages/_index.md(which has a "Package types" H2, not "types-of-pulumi-packages") -- and the anchor exists on neither. Repointed the link to/docs/iac/concepts/packages/without a fragment rather than guess at an anchor that isn't there.Redirect hop --
content/docs/iac/comparisons/terraform/opentofu.md:148linked to/docs/using-pulumi/adopting-pulumi/migrating-to-pulumi/#conversion, which 301s (viascripts/redirects/general-broken-links-redirects.txt:7) to/docs/iac/guides/migration/. Confirmed#conversionis a real H3 on that target page (content/docs/iac/guides/migration/_index.md:76). Pointed the link directly at the live destination.A repo-wide sweep confirms no other live body link (as opposed to an
aliases:entry) remains under/docs/using-pulumi/anywhere in the tree./docs/iac/concepts/options/* redirect hops (8 files, outside PR #21145's scope)
Every internal link to
/docs/iac/concepts/options/<name>/301s to/docs/iac/concepts/resources/options/<name>/(each target page declares the old path under its ownaliases:frontmatter). PR #21145 already ownscontent/blog/why-choose-pulumi-over-terraform/index.md-- its 5 remaining occurrences there are intentionally left alone here to avoid a stacked/conflicting diff on a file another open PR is editing. Everywhere else in the tree, fixed:content/blog/aws-cdk-on-pulumi-1.0/index.mdcontent/docs/iac/cli/commands/pulumi_state_protect.mdcontent/docs/iac/concepts/resources/options/parent.md(two internal cross-links to sibling option pages)content/docs/iac/guides/clouds/aws/cdk.mdcontent/docs/insights/policy/policy-packs/authoring.md(three occurrences)content/tutorials/creating-resources-gcp/index.mdcontent/tutorials/creating-resources-kubernetes/index.mdEvery rewritten target verified live (200, no further hop) via curl before committing.
aliases:frontmatter entries under both prefixes are left untouched everywhere -- they are the redirect stubs, not the defect.Verification
git commitran clean through the repo's husky pre-commit hook (node ./scripts/lint/lint-markdown.js+ prettier via lint-staged) with no fixups needed.🧠 This PR was created by workprentice.