Skip to content

Content review: content/docs/iac/concepts/functions/provider-functions.md - #20736

Open
pulumi-bot wants to merge 1 commit into
masterfrom
content-review/docs-iac-concepts-functions-provider-functions
Open

Content review: content/docs/iac/concepts/functions/provider-functions.md#20736
pulumi-bot wants to merge 1 commit into
masterfrom
content-review/docs-iac-concepts-functions-provider-functions

Conversation

@pulumi-bot

@pulumi-bot pulumi-bot commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Important

This PR is set to auto-merge (squash). Once it has an approving review and the required build check passes, GitHub will merge it automatically — approving this PR will merge it. To prevent that, disable auto-merge (or convert the PR back to a draft) before approving.

Why this page

  • Page: content/docs/iac/concepts/functions/provider-functions.md/docs/iac/concepts/functions/provider-functions/
  • Lane: priority
  • Strategic tier: 1 (no_retire: true)
  • Traffic: 636 monthly visits (period 2026-02-03 to 2026-08-03; source CLICKSTREAM.FCT_PAGEVIEWS)
  • Last reviewed: never (attempts: 0)
  • Selection score: 33.0558

This section is composed deterministically from the selection queue; do not edit it.

Fixes applied

Claim / finding Authoritative source Correction
Legacy internal link (L286): /docs/concepts/inputs-outputs/ content/docs/iac/concepts/inputs-outputs/_index.md (path is one of its aliases:) Updated to the canonical path /docs/iac/concepts/inputs-outputs/.
Legacy internal link (L332): /docs/concepts/options/ content/docs/iac/concepts/resources/options/_index.md (path is one of its aliases:) Updated to the canonical path /docs/iac/concepts/resources/options/.
Legacy internal link (L335): /docs/concepts/options/parent/ content/docs/iac/concepts/resources/options/parent.md (path is one of its aliases:) Updated to the canonical path /docs/iac/concepts/resources/options/parent/.
Legacy internal link (L336): /docs/concepts/resources/providers/#explicit-provider-configuration content/docs/iac/concepts/providers/_index.md (path is one of its aliases:; the ## Explicit provider configuration heading confirms the anchor) Updated to the canonical path /docs/iac/concepts/providers/#explicit-provider-configuration.
Readthrough prerequisite-inversion (L334): "This option is only available in the Output form of a provider function. See [Choosing between dire…" readthrough coherence pass (local_repair) Applied the finding's second option: added the inline reason ("because only the output form participates in the dependency graph and can wait on other resources before it executes") so the reader doesn't have to jump forward, and lowercased "Output form" to match the rest of the page. The forward reference is kept for the full explanation.

Findings not applied

  • Claim (c21, L278): In YAML, the direct form of a provider function is invoked using fn::invoke, and the result is resolved synchronously. — Real internal inconsistency (three other passages say YAML makes no direct/output distinction), but the fix is a prose rewrite with no single unambiguous wording, and the verdict is medium confidence; the right repair may be to drop the YAML entry from the per-language direct/output choosers entirely. Judgment call for a human.
  • Vale wordiness (L332): 'In addition' is too wordy. — Style nag, not a deterministic fix; no replacement is prescribed and the phrase reads naturally.
  • Vale punctuation (L332): Commas and periods go inside quotation marks. — Misfire: the quoted term is "invoke options", and the comma placement here is deliberate (the quotes scope a term, not a quotation). Changing it would alter meaning.
  • Vale wordiness (L332): 'similar to' is too wordy. — Style nag with no prescribed replacement; "similar to" is the accurate comparison here.
  • Vale wordiness (L348): 'participate' is too wordy. — Style nag; "participate in the dependency graph" is established Pulumi terminology.
  • Vale wordiness (L349): 'therefore' is too wordy. — Style nag with no prescribed replacement.
  • Vale wordiness (L349): 'participate' is too wordy. — Style nag; same established terminology as above.
  • Vale future tense (L349): Future tense ('Pulumi will ensure') -- prefer present tense for product behavior: 'Neo pauses', not 'Neo will pause' (STYLE-GUIDE.md §Grammar and punctuation). — Legitimate style point, but rewriting "Pulumi will ensure" to present tense means recasting the sentence; not a mechanical swap.
  • Vale filler (L353): Don't start a sentence with 'There are'. — Requires rewriting the lead-in to the section; prose-quality judgment.
  • Vale weasel word (L353): 'several' is a weasel word! — Style nag; the section genuinely lists two scenarios, so a rewrite is a judgment about how to count them.
  • Frontmatter menu parent ? (menu concepts) not found — Every sibling in content/docs/iac/concepts/functions/ carries the same menu.concepts block, and the parent identifier comes from the legacy secondary concepts menu. Changing it here alone would be inconsistent and out of this review's scope.
  • Vale difficulty qualifier (L348): Avoid difficulty qualifier 'just' -- it judges difficulty for the reader (STYLE-GUIDE.md §Inclusive Language). — Not a deterministic fix (deterministic_fix: false); "execute just like any other function call" uses "just" as "exactly/precisely", not as a difficulty judgment, so Vale's rule misfires here. Rewording is a style call.

For the judgment-level items above, run /glow-up content/docs/iac/concepts/functions/provider-functions.md.

Screenshot check

No images. The page source references no screenshots, diagrams, or other content images (only the generic shared meta_image card, if any), so there is nothing to verify. (Determined from the source; the screenshot pass was skipped.)

Rendered content

Skipped — the page source uses only render-safe chrome (choosable, chooser, notes), so the rendered HTML and markdown carry no content beyond the source prose (nothing data-sourced or partial-included to fact-check). No make build or rendered pass required. (Determined from the source.)

Verification

  • make lint: ✅ make lint re-verified by the workflow on c4eaf8651b
  • Pre-step artifacts:
    • .verified-claims.json: 67 verdict(s); 1 contradicted/mismatch, 0 unverifiable
    • .vale-findings.json: 10 finding(s)
    • .readthrough-findings.json: ran=True, 1 finding(s)
    • .frontmatter-validation.json: 1 file(s); 0 alias collision(s)

…s.md

Automated existing-content review.

Co-Authored-By: Claude <noreply@anthropic.com>
@pulumi-bot
pulumi-bot enabled auto-merge (squash) August 6, 2026 15:02
@github-actions github-actions Bot added review:triaging Claude Triage is currently classifying the PR domain:docs PR touches technical docs review:in-progress Claude review is currently running and removed review:triaging Claude Triage is currently classifying the PR labels Aug 6, 2026
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Pre-merge Review — Last updated 2026-08-06T15:05:08Z

Tip

Summary: This is an automated content-review PR against the IaC concepts page on provider functions. It does two things: it repoints four stale /docs/concepts/... links to their current /docs/iac/concepts/... homes (including /docs/concepts/resources/providers/#explicit-provider-configuration/docs/iac/concepts/providers/#explicit-provider-configuration, which changes the path shape, not just the prefix), and it lowercases "Output form" to "output form" in the dependsOn bullet while adding a clause explaining why that restriction exists. The wrongness that would block a reader here is a link landing on a redirect chain or a 404, or the new dependsOn rationale asserting something the rest of the page contradicts — so the passes that ran were link-target verification against the live repo, a frontmatter/menu sweep, and a read of all three sibling pages in content/docs/iac/concepts/functions/. All four extracted claims verified against the repo, every rewritten link target exists at its stated anchor, and the new rationale clause matches what the page already says at L349. One pre-existing frontmatter issue surfaced on a line this PR doesn't touch.

Review confidence:

Dimension Level Notes
mechanics HIGH
facts HIGH
cross-sibling consistency HIGH All 3 sibling pages read; no conflicting statements.
Investigation log
  • Cross-sibling reads: 3 of 3 siblings
  • External claim verification: 4 of 4 claims verified (0 unverifiable, 0 contradicted) · 4 specialists (numerical, cross-reference, capability, framing); 0 cross-specialist corroborations · routed: 0 inline, 4 Pass 1, 0 Pass 2, 0 Pass 3.
  • Cited-claim spot-checks: not run (no cited claims)
  • Frontmatter sweep: ran on body + meta_desc
  • Temporal-trigger sweep: not run (no trigger words)
  • Code execution: not run (no static/programs/ change)
  • Code-examples checks: not run (no fenced code blocks in content files)
  • Editorial-balance pass: not run (not under content/blog/)
🚨 Outstanding ⚠️ Low-confidence 💡 Pre-existing ✅ Resolved
0 3 1 0

🔍 Verification trail

4 claims extracted · 4 verified · 0 unverifiable · 0 contradicted · 1 detector finding
  • L286 in content/docs/iac/concepts/functions/provider-functions.md "The output form of a provider function accepts Pulumi Inputs (or plain values) as arguments and returns a Pulumi Output as a result." → ✅ verified (evidence: The same file states elsewhere: "Output form functions are tracked by the Pulumi engine because they take Inputs as arguments and return Outputs as return values" (L349), confirming the claim, and the linked page /docs/iac/concepts/inputs-…; source: repo:content/docs/iac/concepts/functions/provider-functions.md and repo:content/docs/iac/concepts/inputs-outputs/_index.md)
  • L330-332 in content/docs/iac/concepts/functions/provider-functions.md "Provider functions accept 'invoke options' in addition to function arguments, similar to the way Pulumi resources accept resource options." → ✅ verified (evidence: The source page itself states: "In addition to function arguments, provider functions also accept "invoke options", similar to the way Pulumi resources accept resource options," linking to /docs/iac/concepts/resources/options/, which con…; source: repo:content/docs/iac/concepts/functions/provider-functions.md L330-332; repo:content/docs/iac/concepts/resources/options/_index.md)
  • L334-336 in content/docs/iac/concepts/functions/provider-functions.md "The dependsOn invoke option is only available in the output form of a provider function, because only the output form participates in the dependency graph an…" → ✅ verified (evidence: The same page states: "dependsOn: ... This option is only available in the output form of a provider function, because only the output form participates in the dependency graph and can wait on other resources before it executes." This is…; source: repo:content/docs/iac/concepts/functions/provider-functions.md)
  • L336 in content/docs/iac/concepts/functions/provider-functions.md "* provider: Pass an explicitly configured provider to use for this function call, instead of…" → ✅ verified (evidence: The target page content/docs/iac/concepts/providers/_index.md has a heading "### Explicit provider configuration" (anchor #explicit-provider-configuration) which states: "some programs may have special requirements. One example is a progra…; source: repo:content/docs/iac/concepts/providers/_index.md)
  • L1 in content/docs/iac/concepts/functions/provider-functions.md "frontmatter menu.concepts.parent: functions does not exist in the concepts menu" → 🚩 flagged (frontmatter: menu-parent)

🚨 Outstanding in this PR

No outstanding issues found in this PR.

⚠️ Low-confidence

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

Style findings

Found by pattern-based linting; Findings may be false positives.

  • line 332: [style] wordiness — 'In addition' is too wordy.
  • line 332: [style] punctuation — Commas and periods go inside quotation marks.
  • line 332: [style] wordiness — 'similar to' is too wordy.

💡 Pre-existing issues in touched files (optional)

  • [L1] content/docs/iac/concepts/functions/provider-functions.md — the frontmatter declares a second menu entry under menu.concepts whose parent: functions identifier doesn't exist in the concepts menu, so that entry never renders. The page's live nav placement comes from its menu.iac entry (parent: iac-concepts-functions), which resolves correctly — nothing is missing from the sidebar today. Pre-existing: the frontmatter is untouched by this PR (the diff starts at L283), and menu.concepts is a leftover from the pre-/docs/iac/ nav. Safe to drop the dead menu.concepts block in a follow-up; out of scope for a link-fix PR.

✅ Resolved since last review

No items resolved since the last review.

📜 Review history

  • 2026-08-06T15:05:08Z — All 4 claims verified and all 4 rewritten link targets confirmed to exist; no blockers. Moved the dead menu.concepts parent to pre-existing; 3 Vale style nags on pre-existing prose. (c4eaf86)

  • Refresh this review — comment @claude #update-review. Say what you fixed, or which finding you dispute and why; both work in the same mention.
  • Ask for anything else — comment @claude with no hashtag (questions, one-off fixes). Leaves this review untouched.

Important

Please don't hide, resolve, or delete this comment! It breaks things!

📖 How pre-merge review works — the full lifecycle, short-circuits, and escape hatches.

@github-actions github-actions Bot added review:no-blockers Claude review completed cleanly; outstanding is empty and removed review:in-progress Claude review is currently running labels Aug 6, 2026
@pulumi-bot

Copy link
Copy Markdown
Collaborator Author

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 review:no-blockers Claude review completed cleanly; outstanding is empty

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant