Skip to content

Content glow-up: content/docs/iac/guides/clouds/aws/api-gateway.md - #21603

Merged
CamSoper merged 1 commit into
masterfrom
content-review/glowup-docs-iac-guides-clouds-aws-api-gateway
Sep 14, 2026
Merged

CamSoper merged 1 commit into
masterfrom
content-review/glowup-docs-iac-guides-clouds-aws-api-gateway

Conversation

@pulumi-bot

@pulumi-bot pulumi-bot commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

Important

Glow-up PR — human review required. Auto-merge is never armed on glow-up PRs and the automated PR-review sweep never approves them; it assigns the reviewers. Adjudicate the Backlog executed / Backlog declined tables below and merge manually.

Why this page

  • Page: content/docs/iac/guides/clouds/aws/api-gateway.md/docs/iac/guides/clouds/aws/api-gateway/
  • Lane: glowup
  • Strategic tier: 2 (no_retire: true)
  • Traffic: 324 monthly visits (period 2026-03-14 to 2026-09-14; source CLICKSTREAM.FCT_PAGEVIEWS)
  • Last reviewed: 2026-08-28 (attempts: 0)
  • Selection score: 6.8605

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

Backlog executed

Banked finding Source PR What changed
findings-f10Vale difficulty qualifier (L28): Avoid difficulty qualifier 'simple' -- it judges difficulty for the reader (brand guide: voice, words and phrases). (prior disposition: Avoid difficulty qualifier 'simple' -- it judges difficulty for the reader (brand guide: voice, words and phrases).) findings record Rewrote the Overview sentence: "simple, declarative APIs, including easy Lambda integration" → "declarative API definitions, including built-in Lambda integration" (and "an easier way" → "a higher-level way"). No difficulty qualifiers left on L28.
findings-f11Vale difficulty qualifier (L28): Avoid difficulty qualifier 'easy' -- it judges difficulty for the reader (brand guide: voice, words and phrases). (prior disposition: Avoid difficulty qualifier 'easy' -- it judges difficulty for the reader (brand guide: voice, words and phrases).) findings record Same edit as findings-f10 — 'easy' removed from L28 in the same rewrite.
findings-f13Vale difficulty qualifier (L50): Avoid difficulty qualifier 'just' -- it judges difficulty for the reader (brand guide: voice, words and phrases). (prior disposition: Avoid difficulty qualifier 'just' -- it judges difficulty for the reader (brand guide: voice, words and phrases).) findings record L50 "For simple APIs, you will likely just have one." → "A single stage is often all an API needs." Same meaning, no 'simple'/'just'.
pr21224-findings-12Vale filler (L56): Don't start a sentence with 'There are'. (prior disposition: Style nag requiring a sentence rewrite.) #21224 L56 "There are multiple ways to define APIs using the AWS API Gateway component:" → "The AWS API Gateway component supports multiple ways to define APIs:" — filler opener gone and the sentence now names the actor.
findings-f16Vale wordiness (L187): 'all of' is too wordy. (prior disposition: 'all of' is too wordy.) findings record L187 "all of these capabilities are accessible to you in the Pulumi AWS package" → "these capabilities remain accessible through the Pulumi AWS package".
findings-f18Vale wordiness (L197): 'obtain' is too wordy. (prior disposition: 'obtain' is too wordy.) findings record L197 "authenticate, obtain an identity/access token, and call your API with said token" → "authenticate, get an identity or access token, and call your API with that token" — also drops the stilted "said token" and the slash construction.
findings-f19Vale heading capitalization (L199): Heading 'Lambda Authorizers' should use sentence case (capitalize only the first word and proper nouns). (prior disposition: Heading 'Lambda Authorizers' should use sentence case (capitalize only the first word and proper nouns).) findings record Re-cased as part of the one deliberate whole-page heading pass (see pr21224-findings-15): "Lambda Authorizers" → "Lambda authorizers".
pr21224-findings-2Readthrough self-redundancy (L265-267): the awsx-apigateway-validation-types example program is embedded twice, at L259 and L267 (prior disposition: Declined: the local_repair proposed_fix is to author a new dedicated example program, which is a new file under static/programs/ and therefore outside this review's editing scope (and beyond a one-page repair). Worth noting the reuse is not wholly wrong — that program does demonstrate requiredParameters — but the reader sees identical code under two headings.) (this run: readthrough re-raised it at L265-267) #21224 Executed the proposed_fix's second branch, which is in scope for a one-page repair: the duplicate awsx-apigateway-validation-types embed at L267 is removed, and the Request parameter validation section now points back to the example under Assigning validators to APIs and methods and says what in it demonstrates the feature — its /search route declares requiredParameters with name: "q" / in: "query". Verified against static/programs/awsx-apigateway-validation-types-typescript/index.ts. No new example program authored, so nothing outside this page changed.
pr21224-findings-8Vale difficulty qualifier (L28): 'simple', 'easy' (prior disposition: Not a deterministic fix; rewriting "simple, declarative APIs" / "easy Lambda integration" means rewriting the Overview's positioning, which is editorial.) #21224 Executed here rather than deferred again: the glow-up lane is where this editorial rewrite belongs. L28 now reads "a higher-level way to manage API Gateway resources… declarative API definitions, including built-in Lambda integration" — same positioning, no difficulty judgment.
pr21224-findings-9Vale difficulty qualifier (L50): 'just' (prior disposition: "you will likely just have one" needs a rephrase, not a substitution; left for the glow-up lane.) #21224 Same edit as findings-f13 — the rephrase the prior review explicitly left to this lane.
pr21224-findings-13Vale wordiness (L187): 'all of' (prior disposition: Style nag; rewriting the sentence is editorial.) #21224 Same edit as findings-f16.
pr21224-findings-14Vale wordiness (L197): 'obtain' (prior disposition: Style nag; "obtain an identity/access token" is the conventional phrasing in this domain.) #21224 Same edit as findings-f18.
pr21224-findings-15Vale heading capitalization (L189, L199): 'Cognito Authorizers', 'Lambda Authorizers' should be sentence case (prior disposition: Correct per STYLE-GUIDE.md, but this page has ~10 Title Case H2/H3s ("Controlling Access to APIs", "Request Validation", "Custom Domains and SSL", …). Re-casing two of them in isolation would make the page less consistent, and re-casing all of them changes heading anchors. Worth doing as one deliberate pass with the anchor/alias implications considered.) #21224 Done as the single deliberate pass the prior review asked for — all eleven Title Case H2/H3s are now sentence case: "Controlling access to APIs", "Cognito authorizers", "Lambda authorizers", "Request validation", "Assigning validators to APIs and methods", "Request parameter validation", "Use API keys to limit requests", "Custom domains and SSL", "Defining an entire endpoint", "Defining a single route", "Additional API Gateway resources". The anchor concern does not apply: Hugo lowercases heading text when slugifying, so a case-only change leaves every generated anchor byte-identical (#cognito-authorizers, #request-parameter-validation, …), and the five headings that are link targets from the page's own TOC carry explicit {#…} ids anyway. No aliases needed. The five in-page TOC link labels at L58-62 were also aligned to the headings they point at (they previously used unrelated Title Case names like "Lambda Function Event Handler Route").
fresh-c32Claim (c32, L163): The aws_proxy integration route type allows an API to expose an AWS service action but passes the HTTP request, including headers, path, query parameters, an… — contradicted (medium) (evidence: AWS docs draw a clear line: the non-proxy "AWS" integration type "lets an API expose AWS service actions" with configured request/response mappings, while "AWS_PROXY... lets an API method be integrated with the Lambda function invocation a…) this run Real defect, fixed. L163 described aws_proxy as "Also allows an API expose an AWS service action, but instead passes the HTTP request … directly to the underlying action" — which is the non-proxy aws type's purpose glued to AWS_PROXY's passthrough behavior, and also carried a grammar error ("an API expose"). Now: "Integrates a route with a Lambda function invocation (Lambda proxy integration), passing the HTTP request (including headers, path, query parameters, and body) directly to the function without any data mappings to configure." Matches the cited AWS integration-types page, which scopes AWS_PROXY to Lambda function invocation. The adjacent aws bullet's "Amazon Lambda Functions" was corrected to "AWS Lambda functions" in the same list.

Backlog declined

Banked finding Source PR Why not executed
findings-f1Claim (c4): Amazon API Gateway handles traffic management, authorization and access control, monitoring, and API version management, and can accept and process up to hundr… — unverifiable (prior disposition: The pre-fetched page body is mostly JSON navigation/menu data from the AWS API Gateway marketing page; the truncated content does not contain the supporting pa…) (this run: c3 unverifiable low at L21-24) findings record Not a page defect: unverifiable here is a source-reachability artifact — the pre-step fetched the AWS API Gateway marketing page and got mostly JSON nav data. This run re-verdicted it unverifiable (low) again, from the same page. The sentence paraphrases AWS's own product description and a glow-up has no evidence with which to change it.
findings-f2Claim (c13): Pulumi offers multiple ways of defining the Lambda function for an event-handler route and provisions the appropriate permissions so that API Gateway can commu… — unverifiable (prior disposition: The cited URL is AWS's generic Lambda marketing/product page, which does not mention Pulumi, API Gateway event-handler routes, or permission provisioning at al…) (this run: c14 unverifiable low at L68) findings record Not a page defect: the claim is about Pulumi behavior while the cited link is AWS's generic Lambda product page, so it can never confirm it. Re-verdicted unverifiable (low) this run. Fixing the citation would mean asserting a different source for a claim I cannot independently verify; left for a component owner.
pr21224-findings-5Claim (c21): A Static Route in the AWS API Gateway component serves static content from S3 at an API endpoint. — unverifiable (prior disposition: Same shape: the cited link is the generic S3 product page. The claim is about the Pulumi component and is consistent with the embedded example; nothing to correct.) (this run: c21 unverifiable low at L126-128) #21224 Same shape as findings-f2: the cited link is the generic S3 product page and the claim is about the Pulumi component. Consistent with the embedded awsx-apigateway-s3 example; nothing to correct.
findings-f4Claim (c26): In the AWS API Gateway component's static route, setting the index property to a filename such as default.html changes the default index document name used. — unverifiable (prior disposition: The cited AWS S3 doc explains that S3 static website hosting requires configuring an index document name (e.g. index.html) — it supports the general concept of…) (this run: c26 unverifiable low at L146) findings record Same shape: the cited AWS S3 index-document page supports the general concept but not the component's index property specifically. The behavior is a component API detail, not something this lane can re-source.
findings-f12Vale weasel word (L30): 'several' is a weasel word! (prior disposition: 'several' is a weasel word!) findings record Declined on evidence: the write-good.Weasel rule no longer fires on 'several' (its quantifier tokens were removed in #21470), and this run's .vale-findings.json does not contain the finding. "several common scenarios" is accurate and a hard count would be brittle.
findings-f15Vale difficulty qualifier (L161): Avoid difficulty qualifier 'Simple' -- it judges difficulty for the reader (brand guide: voice, words and phrases). (prior disposition: Avoid difficulty qualifier 'Simple' -- it judges difficulty for the reader (brand guide: voice, words and phrases).) findings record Confirmed false positive: the flagged 'Simple' occurrences at L161 are inside the product names "Amazon Simple Notification Service" and "Amazon Simple Queue Service". Still the only two Vale findings the page carries after this glow-up, and they should stay.
pr21224-findings-3Claim (c4): Amazon API Gateway handles traffic management, authorization and access control, monitoring, and API version management, and can accept and process up to hundreds of thousands of concurrent calls — unverifiable (prior disposition: The fetched AWS marketing page body came back as mostly JSON nav data, so the pre-step could not reach the supporting passage; no evidence of an error, just no confirmation.) (this run: c3 unverifiable low at L21-24) #21224 Duplicate of findings-f1; same reasoning.
pr21224-findings-4Claim (c13): Pulumi offers multiple ways of defining the Lambda function for an event-handler route and provisions the appropriate permissions — unverifiable (prior disposition: The cited link is AWS's generic Lambda product page, which says nothing about Pulumi; the claim is about Pulumi behavior and would need a different source, not a content change.) (this run: c14 unverifiable low at L68) #21224 Duplicate of findings-f2; same reasoning.
pr21224-findings-7Claim (c79): you can customize the base path of a custom-domain URL to something other than /stage. — unverifiable (prior disposition: The cited link is the CloudFront landing page, which covers none of this; the claim itself looks right but is unconfirmed at this source.) #21224 Same shape: the cited CloudFront landing page covers none of the custom-domain base-path behavior. The claim is consistent with the awsx-apigateway-custom-domain example and AWS's custom-domain docs already linked two paragraphs later; no wording change is warranted.
pr21224-findings-10Vale difficulty qualifier (L161): 'Simple' (prior disposition: False positive: this is inside the proper nouns "Amazon Simple Notification Service" and "Amazon Simple Queue Service". Do not "fix" this one.) #21224 Duplicate of findings-f15; the prior review's "do not fix this one" reading is correct.
pr21224-findings-11Vale weasel word (L30): 'several' (prior disposition: Style nag; "several common scenarios" is accurate and a count would be brittle.) #21224 Duplicate of findings-f12; the rule no longer fires.
pr21224-rendered-1Ran with a caveat. make build could not complete in the review sandbox (prior disposition: it fails in layouts/partials/icon-context.html with <nil> can not be transformed at fingerprint while rendering content/_index.md, an asset-pipeline failure unrelated to this page or to these edits (all four are prose-only). The HTML view was therefore unavailable; the PR's normal CI build is the authoritative check.) #21224 Not a finding about this page: it records that make build could not complete in the previous review sandbox. Per this lane's instructions the rendered pass is gated and pre-filled, and the Screenshot check / Rendered content sections came pre-resolved, so no build was required this run. The PR's CI build remains the authoritative check.
pr21224-rendered-2The pass was instead run against the residue's actual source. The only content-bearing shortcode here is example-program (10 calls), and layouts/shortcodes/example-program.html inlines the program files verbatim from static/programs/<path>-<lang>/, so the render-time residue is exactly those programs. Claims checked against them: #21224 Prior rendered-pass methodology note, not outstanding work — it explains that example-program inlines static/programs/ verbatim. Reused that method this run to adjudicate fresh-c19, fresh-c80, and pr21224-findings-2.
pr21224-rendered-3L263 requiredParameters (prior disposition: confirmed and fixed; all six language variants of awsx-apigateway-validation-types use requiredParameters / required_parameters / RequiredParameters, so the prose was the only thing saying requiredParams.) #21224 Already resolved: requiredParameters was corrected in #21224 and L263 still reads requiredParameters, matching all six language variants. Nothing to execute.
pr21224-rendered-4L281-282 apiKeyRequired / apiKeySource: "HEADER" (prior disposition: match awsx-apigateway-api-keys.) #21224 Prior confirmation, no defect: L281-282's apiKeyRequired / apiKeySource: "HEADER" still match awsx-apigateway-api-keys.
pr21224-rendered-5L321 ACM certificate in us-east-1, DNS validation, CertificateValidation via Route53 (prior disposition: all present in awsx-apigateway-custom-domain.) #21224 Prior confirmation, no defect: the ACM us-east-1 / DNS-validation / CertificateValidation details still match awsx-apigateway-custom-domain.
pr21224-rendered-6L193 Cognito authorizer taking the Authorization header and the user pool ARN — matches awsx-apigateway-auth-cognito (parameterName, identitySource, providerARNs). #21224 Prior confirmation, no defect: the Cognito authorizer description still matches awsx-apigateway-auth-cognito.
pr21224-rendered-7L361 the data property is the x-amazon-apigateway-integration object — matches awsx-apigateway-openapi-route. #21224 Prior confirmation, no defect: the data property description still matches awsx-apigateway-openapi-route. (The sentence was reworded this run only to drop a 'just'.)
pr21224-rendered-8No shared-source (shortcode / partial / data) fix was needed, so nothing here is multi-page. One flag for the human, not fixed (outside this review's editing scope): static/programs/awsx-apigateway-openapi-route-typescript/index.ts is written in CommonJS (require / exports.url) rather than TypeScript import / export, unlike every other TypeScript example on this page. #21224 Out of bounds for this lane: the flagged CommonJS style in static/programs/awsx-apigateway-openapi-route-typescript/index.ts is a different file, and verify-glowup-scope.py limits edits to this page and its bundle's non-markdown assets. Still worth a human's follow-up — it is the only TypeScript example on the page not using import/export.
fresh-c19Claim (c19, L115-120): Curling the exported URL of the awsx-apigateway-lambda example returns the JSON body {"message":"Hello from API Gateway!"}. — contradicted (medium) (evidence: (escalated from pass1 after exhausting its 12-turn cap) Pulumi's own registry/docs examples for the API Gateway + Lambda route consistently show the curl response as plain text "Hello, API Gateway!" (e.g. `$ curl -w '\n' "$(pulumi stack ou…) this run False positive. The verifier reasoned from external registry docs for a different example (the py-routes guide, whose Lambda route returns plain text "Hello, API Gateway!"). This page embeds awsx-apigateway-lambda, whose handler in this repo returns json.dumps({"message": "Hello from API Gateway!"})static/programs/awsx-apigateway-lambda-typescript/index.ts and static/programs/awsx-apigateway-lambda-{python,go,java,csharp,yaml}/function/handler.py all agree. The documented curl output at L115-120 is correct as written.
fresh-c80Claim (c80, L338-340): The awsx-apigateway-openapi-full example proxies a route through to another HTTP endpoint by setting up an http_proxy integration. — contradicted (medium) (evidence: (escalated from pass1 after exhausting its 12-turn cap) The Pulumi AWS API Gateway guide lists example names such as "awsx-apigateway-s3-yaml", "awsx-apigateway-auth-lambda-yaml", "awsx-apigateway-lambda-yaml", and "awsx-apigateway-http-pr…) this run False positive. The verifier searched an external guide listing for an example named awsx-apigateway-openapi-full and concluded it does not exist. It does — static/programs/awsx-apigateway-openapi-full-{typescript,python,go,java,csharp,yaml}/ are in this repo, and the TypeScript variant's swaggerString sets "type": "http_proxy" with uri: "https://httpbin.org/uuid", exactly as L338-340 describes (and matching the curl output showing a uuid body).
findings-f7Claim (c61, L242): API Gateway basic validation can verify that the request payload adheres to the configured JSON schema request model of the method. (prior disposition: The same doc section states just a few lines later: "Request body validation is not yet supported. To follow progress or share your use case, comment on [this …) (this run: c58 verified high at L238-242) findings record superseded by re-verification: this run's .verified-claims.json re-verdicted the same sentence verified (high) at L238-242 (c58, text overlap 0.92). Pre-declined by the composer.
findings-f9Claim (c79): You can configure a custom domain name for an API Gateway instance and customize the base path of the URL to be something other than /stage. — unverifiable (prior disposition: The cited URL (aws.amazon.com/cloudfront/) is the generic CloudFront marketing landing page and contains no content about API Gateway custom domain names or ba…) (this run: c11 verified high at L50-51) findings record superseded by re-verification: this run's .verified-claims.json re-verdicted the same sentence verified (high) at L50-51 (c11, text overlap 0.50). Pre-declined by the composer.
pr21224-findings-1Claim c61 (L242): "The request payload adheres to the configured JSON schema request model of the method." — contradicted (prior disposition: Real internal contradiction (pulumi/pulumi-aws-apigateway#36, "Support Request Body Validation", is still open, yet L251-255 documents ALL and BODY_ONLY validator values and L271-273 says body validation "is not yet supported"), but the correction is genuinely ambiguous: L234-242 describes the AWS service's generic capability, so the repair could be scoping the sentence to AWS, deleting the BODY_ONLY/ALL values, or expanding the existing caveat. Needs an owner's call on which. Highest-value item on this page.) (this run: c58 verified high at L238-242) #21224 superseded by re-verification: this run's .verified-claims.json re-verdicted the same sentence verified (high) at L238-242 (c58, text overlap 1.00). Pre-declined by the composer.

Secondary sweep

  • Style improvements: Removed the remaining Pulumi.Difficulty / write-good hits the backlog did not name: 'simple' at L154 ("the streamlined interface the component exposes"), 'is authorized to' at L201 ("whether a request may reach the backend"), 'portion' and 'very easy' at L313/L316 ("the host of the URL", "user-friendly or memorable"), 'accomplish' at L333, and 'just' at L359/L361. Vale re-ran to a fixpoint (2 rounds; round 2 surfaced nothing applicable). Three findings remain, all false positives: two Pulumi.Difficulty hits on 'Simple' inside "Amazon Simple Notification Service" / "Amazon Simple Queue Service" at L161 (see findings-f15), and one HeadingSentenceCase hit on "Additional API Gateway resources", where the rule reads the proper noun "API Gateway" as Title Case.
  • Structural fixes: The duplicate example embed under Request parameter validation is gone (pr21224-findings-2), and the five TOC link labels at L58-62 now match the headings they link to, so a reader scanning the list and a reader scanning the page see the same names.
  • Code formatting: No changes. Every code block on the page is either a shell transcript or an example-program embed; the embedded programs are outside this lane's editing bounds (one flag carried forward as pr21224-rendered-8).
  • Terminology corrections: "Amazon Lambda Functions" → "AWS Lambda functions" (L160); "Amazon Web Application Firewall (WAF)" → "AWS WAF" (L177); "Amazon CloudFront Content Distribution Network (CDN)" → "Amazon CloudFront content delivery network (CDN)" (L319). All three were non-names.
  • Link improvements: No link targets changed. All internal links already use full canonical /docs/… paths; the one link added is the in-page anchor #assigning-validators-to-apis-and-methods, which resolves against the re-cased heading (case-only changes do not move Hugo anchors).
  • Image and diagram improvements: No changes — the page references no images (see Screenshot check).
  • Content enhancements: One factual correction (fresh-c32, the aws_proxy bullet) and one added sentence naming what the validation example demonstrates (pr21224-findings-2). No superlative or ranking language was added, and the glow-up scope gate reported no superlative warnings (.self-check-report.json: "superlatives": [], "warnings": []). Churn: 72 lines of 400 allowed.

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.)

Verification

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

Automated existing-content review.

Co-Authored-By: Claude <noreply@anthropic.com>
@pulumi-bot pulumi-bot added surface:v3 content-review/glow-up Content glow-up PR (whole-article polish) labels Sep 14, 2026
@github-actions github-actions Bot added review:triaging Claude Triage is currently classifying the PR domain:docs PR touches technical docs and removed review:triaging Claude Triage is currently classifying the PR labels Sep 14, 2026
@github-actions

github-actions Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

🤖 Review errored. Flip to draft and back to ready, or mention @claude #update-review, to retry.

@github-actions github-actions Bot added review:in-progress Claude review is currently running review:error Workflow failed before publishing a review; see Actions logs and removed review:in-progress Claude review is currently running labels Sep 14, 2026
@pulumi-bot

Copy link
Copy Markdown
Collaborator Author

@CamSoper

Copy link
Copy Markdown
Contributor

@claude #update-review — this PR's initial review errored; requesting the retry path.

@github-actions github-actions Bot added review:in-progress Claude review is currently running and removed review:error Workflow failed before publishing a review; see Actions logs labels Sep 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Reviewer's guide v1 — not for the author

Tip

This is the reviewer's guide. Work through the ⚠️ checklist below, then approve — approving asserts only that the ⚠️ items looked right to you. Machine-verified this run: links, shortcodes, page metadata, and every claim marked verified (receipts on the evidence page). Code samples are read, not compiled.

PR author: your to-do list is the other review comment, "Author action guide" — nothing on this card is yours.

Note

What this PR changes:

  • Section headings on the page are re-cased to sentence case ("Controlling Access to APIs" → "Controlling access to APIs" and eight more), with every explicit anchor id left untouched.
  • The route-list bullets at the top are retitled to task phrasing ("Lambda Function Event Handler Route" → "Handling requests with Lambda").
  • The "Request parameter validation" section no longer re-embeds the same example program twice; it now points at the example above and explains what that example's /search route declares.
  • The aws_proxy integration bullet is rewritten to describe Lambda proxy integration specifically, instead of "an AWS service action".
  • Product names are corrected in passing: "Amazon Lambda Functions" → "AWS Lambda functions", "Amazon Web Application Firewall" → "AWS WAF", "Content Distribution Network" → "content delivery network".
  • Assorted wording tightening ("easier way" → "higher-level way", "isn't user-friendly or very easy to remember" → "isn't user-friendly or memorable").

The wrongness that would matter here is a rewrite that quietly changes what the product does — a renamed integration type, a capability overstated, or a removed example a later section still depends on. Claim-by-claim fact-checking, a cited-source spot check, a link and anchor check, a frontmatter sweep, and a style pass all ran.

Review confidence:

Dimension Level Notes
mechanics HIGH
facts MEDIUM One rewritten sentence needs a second opinion on nuance — → see F2.
cross-sibling consistency MEDIUM Not yours to check — the nine other AWS guides weren't read in full, but this PR changes no shared terminology or shared example.

⚠️ Check these before approving

ID Where Finding
F2 content/docs/iac/guides/clouds/aws/api-gateway.md L154 "API Gateway integrations give full control over how HTTP requests are handled and responses are served by an API Gateway route." — AWS reserves "full control" for custom integrations; proxy integrations (which the Lambda and S3 routes above use) deliberately give none. This clause is unchanged by the PR — only the second half of the line was reworded — so it's your call whether to ask for "custom integrations give full control" here or leave it for a later pass.

Not your area? Any member of the routed reviewer team can approve — hand it off rather than approving on faith.

Editorial stances introduced by this PR

Superlative, ranking, or comparative language the diff adds. No verdict — a page's own framing isn't fact-checkable — but confirm each is a stance the docs should take, and that no agent-written rewrite introduced it unasked.

None — the extractor found no positioning or comparison language in this PR's added lines.

✅ What you can rubber-stamp

  • Facts: 35 factual claims checked — 33 verified clean, 1 flagged in the ⚠️ list, 1 settled — see the evidence page.
  • Mechanics: frontmatter sweep ran; no internal links added.
  • Style: 1 advisory suggestion(s) left with the author; never blocking.

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

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

Review v1 · updated 2026-09-14T19:34:45Z · head commit 0244eb6


For the reviewer: the ⚠️ items above are the minutes that matter — the receipts for everything machine-verified are on the evidence page. The author's open items live on their own card (the comment headed "Author action guide"); while any are open, a Waiting on the author list above tracks them, and merge stays blocked until they're answered. If something here seems off, comment on the PR — @claude <your point> #update-review re-adjudicates with your input.

@github-actions

Copy link
Copy Markdown
Contributor

Author action guide v1 — nothing blocks merge

Note

Nothing here blocks merge — no open items need an answer from you. A human reviewer still approves the merge.

This PR is a prose polish of the AWS API Gateway guide — sentence-case headings, tightened wording, and a duplicated example replaced with a cross-reference; the review fact-checked every claim on the changed lines, re-checked the page's links and anchors, and ran a style pass.

🚨 Fix or disagree

Nothing to fix — this section is empty.

❓ Questions for you

No open questions for you.

Editing in the browser? The ✏️ links open the file in GitHub's editor — Ctrl+F for the quoted line.

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

Review v1 · updated 2026-09-14T19:34:45Z · head commit 0244eb6


How to answer

Every 🚨 and ❓ item above needs one of these before merge:

  1. Fix it — push the change. If your push lines up with the flagged lines, this card shows a 🔄 banner within a minute and then refreshes itself. No banner? Comment:

    @claude I pushed a fix for F1 #update-review
    
  2. Disagree with it — say which item and why; the review re-checks with your input:

    @claude F2: <your reasoning — e.g. where the figure comes from> #update-review
    

    Either way your answer counts: the review marks the item resolved, or keeps it with a 🛡️ note for your human reviewer to weigh — it stops blocking merge in both cases.

  3. Accept it as-is — you own the PR; a one-line reason is a valid answer, and your reviewer sees it beside the finding:

    @claude F2: accepting as-is — <your reason> #update-review
    

    To accept every open item at once: @claude accepting all open items — <reason> #update-review.

The #update-review hashtag matters — it routes your reply to this review, and (besides pushing a fix) it is the only reply that unblocks merge. A bare @claude gets you ad-hoc help and leaves this card — and the merge block — untouched.

Please don't edit, hide, or delete this comment — it is the review's record. Full mechanics: CONTRIBUTING.md §AI-assisted contributions.

@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 Sep 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🤖 Review regenerated on @CamSoper's request.

@CamSoper
CamSoper enabled auto-merge (squash) September 14, 2026 22:27
@CamSoper
CamSoper merged commit b734171 into master Sep 14, 2026
14 of 16 checks passed
@CamSoper
CamSoper deleted the content-review/glowup-docs-iac-guides-clouds-aws-api-gateway branch September 14, 2026 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

content-review/glow-up Content glow-up PR (whole-article polish) 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.

2 participants