Review evidence

pulumi/docs PR #22646 702df44821 generated 2026-11-01T15:04:29Z

Verification trail

#1 ✅ Verified
content/docs/deployments/concepts/webhooks.md:195
The Pulumi Cloud webhook event filter for a failed stack refresh is named `refresh_failed` (underscore), belongs to the `stack_update` group, is available at…
evidence: The pulumi-pulumiservice provider source defines `WebhookFilterRefreshFailed WebhookFilters = "refresh_failed"` with the description "Trigger a webhook when a stack refresh fails." It has no "Only valid for org webhooks" note, unlike…; source: gh api repos/pulumi/pulumi-pulumiservice/contents/provider/pkg/resources/webhook.go (L109); gh search code "Trigger a webhook when a stack refresh fails"
source: gh api repos/pulumi/pulumi-pulumiservice/contents/provider/pkg/resources/webhook.go (L109); gh search code "Trigger a webhook when a stack refresh fails"
pass1 · api-surface · medium confidence
#2 ✅ Verified
content/docs/deployments/concepts/webhooks.md:428
In the Node.js webhook signature verification example, the expected signature is computed as an HMAC-SHA256 hex digest of the request payload using the…
framing: The Pulumi Cloud code that signs webhooks is closed-source, so I couldn't check the signing side directly. The evidence is Pulumi's official example handler…; evidence: The doc's JS snippet (L428-429) does what the claim says: `crypto.createHmac('sha256', sharedSecret)` followed by `.update(payload).digest('hex')`. Pulumi's own working webhook handler in pulumi/examples computes the signature the same…; source: gh api repos/pulumi/examples/contents/aws-ts-pulumi-webhooks/index.ts (L35-39); repo:content/docs/deployments/concepts/webhooks.md L413-429
source: gh api repos/pulumi/examples/contents/aws-ts-pulumi-webhooks/index.ts (L35-39); repo:content/docs/deployments/concepts/webhooks.md L413-429
framing: The Pulumi Cloud code that signs webhooks is closed-source, so I couldn't check the signing side directly. The evidence is Pulumi's official example handler, which checks signatures the same way.
pass1 · behavior · medium confidence

Findings

No findings.

Editorial stances

The extractor found no positioning or comparison language in this PR's added lines.

Investigation log

cross-sibling-reads
0 of 6 siblings
external-claim-verification
2 of 2 claims verified (0 unverifiable, 0 contradicted) · 4 specialists (numerical, cross-reference, capability, framing); 0 cross-specialist corroborations · routed: 0 inline, 2 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/)

History

  1. 2026-11-01T15:04:29Z 702df44

    initial review (pending publication)