Verification trail
#1
➖ Not a claim
.claude/commands/docs-review/references/claim-extraction.md:26
| `version` | A pinned version, SDK/runtime version, or availability-by-version statement ("`pulumi-gcp` v8.2.0", "requires Node.js 18+", "available since…
evidence: This line is from the PR author's own internal tooling documentation (.claude/commands/docs-review/references/claim-extraction.md) defining a claim-type category with illustrative examples ("pulumi-gcp v8.2.0", "requires Node.js 18+"…; source: repo:.claude/commands/docs-review/references/claim-extraction.md
source: repo:.claude/commands/docs-review/references/claim-extraction.md
pass1
#2
➖ Not a claim
.claude/commands/docs-review/references/claim-extraction.md:274
- Wrong record: `text` = "The example `Pulumi.yaml` pins the `terraform-provider` package's `random` provider to version 1.4.0." — this attaches 1.4.0 to the…
evidence: This is an illustrative example within the fact-checking tooling's own documentation (claim-extraction.md), describing a hypothetical mis-extracted claim to teach the extraction process. It is not a factual assertion about a real…; source: repo:.claude/commands/docs-review/references/claim-extraction.md
source: repo:.claude/commands/docs-review/references/claim-extraction.md
pass1
#3
➖ Not a claim
.claude/commands/docs-review/references/fact-check.md:181
The canonical worked-example set — composite/split, implicit comparison, quantitative, negative, the third-party-attribution flip, and the hard…
evidence: This is a self-referential note within the PR author's own internal documentation (.claude/commands/docs-review reference files) describing where worked examples live and instructing not to duplicate them — an internal…; source: N/A - internal repo documentation structure, not an external fact
source: N/A - internal repo documentation structure, not an external fact
pass3
#4
➖ Not a claim
.claude/commands/docs-review/references/fact-check.md:426
Five hard rules for every verifier, in-review or pre-step. Each exists because violating it produced false `contradicted` verdicts in the 2026-07 ledger…
evidence: This is a self-referential process note within the fact-check.md instructions describing the rationale/history behind the document's own "Source discipline" rules (an internal ledger re-adjudication statistic), not an externally…; source: .claude/commands/docs-review/references/fact-check.md (the reviewed file itself)
source: .claude/commands/docs-review/references/fact-check.md (the reviewed file itself)
pass3
#5
➖ Not a claim
.claude/commands/docs-review/references/fact-check.md:432
1. **The content under review never verifies — or contradicts — itself.** The reviewed file restating a claim is not evidence for it, and the *live published…
evidence: This line is part of the fact-check.md methodology document describing the PR author's own verification-tooling design (source discipline rule #5, mirrored at line 432 vs the earlier draft at line 432 shown in-repo). It's a policy…; source: repo:.claude/commands/docs-review/references/fact-check.md (lines 424-432)
source: repo:.claude/commands/docs-review/references/fact-check.md (lines 424-432)
pass1
#6
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_routing.py:91
text = "Requires Node.js 18+ per https://nodejs.org/en/about/previous-releases."
evidence: This line is a hardcoded string literal inside a test script (test_verify_claims_routing.py) used to test the claim-extraction/routing logic itself, not an actual documentation statement about Node.js version requirements.; source: .claude/commands/docs-review/scripts/test_verify_claims_routing.py:L91
source: .claude/commands/docs-review/scripts/test_verify_claims_routing.py:L91
pass3
#7
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_routing.py:94
assert vc.route_claim(claim, fetched("https://nodejs.org/en/about/previous-releases")) == "pass2"
evidence: This is a unit test assertion verifying that the PR's own `route_claim` routing function returns "pass2" for a fetched URL case; it is test code describing the author's own pipeline logic, not a falsifiable external claim.; source: .claude/commands/docs-review/scripts/test_verify_claims_routing.py L94
source: .claude/commands/docs-review/scripts/test_verify_claims_routing.py L94
pass3
#8
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:82
("content/docs/iac/languages-sdks/javascript/_index.md", "/docs/iac/languages-sdks/javascript/"),
evidence: This line is a parametrized test-case tuple in the repo's own test suite (`test_verify_claims_self_reference.py`), asserting how a content-file path should map to a site URL for the test harness's internal path-conversion logic. It is…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#9
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:99
ATP_URL = "https://www.pulumi.com/docs/iac/concepts/providers/any-terraform-provider/"
evidence: This is a Python test-fixture constant (`ATP_URL`) used within the docs-review tooling's own test suite to synthesize self-reference test cases (e.g. `test_self_reference_sources`, `test_gate_verdict_scope`). It is not an editorial…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#10
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:109
ATP_URL.replace("https://www.", "http://"),
evidence: This is a line of Python test code performing a string replace operation on a URL variable within a test script, not a falsifiable factual assertion about Pulumi products or documentation.; source: .claude/commands/docs-review/scripts/test_verify_claims_self_reference.py L109
source: .claude/commands/docs-review/scripts/test_verify_claims_self_reference.py L109
pass3
#11
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:110
ATP_URL.upper().replace("HTTPS://WWW.PULUMI.COM", "https://www.pulumi.com"),
evidence: This is a line of Python test code manipulating a string constant (uppercasing/replacing a URL fragment for a test fixture), not a factual assertion about Pulumi's product or docs.; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#12
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:114
f"https://www.pulumi.com/docs/iac/get-started/ and {ATP_URL}",
evidence: This is a parametrized test-fixture string in test_verify_claims_self_reference.py used as input to the `shape()`/`source_discipline_shape` predicate, asserting it is classified as "self-reference". It's test data exercising the…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py L106-122
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py L106-122
pass1
#13
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:126
"https://www.pulumi.com/registry/packages/aws/installation-configuration/", # editorial, not api-docs
evidence: This is a parametrized test-fixture list in a pytest test (`test_same_site_only_sources`) asserting that `shape(source) == \"same-site-only\"` for these URL strings. The line is test data/code, not an editorial or factual claim about…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#14
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:136
f"{ATP_URL} and https://github.com/pulumi/pulumi-terraform-provider/releases/tag/v1.4.0",
evidence: This line is a parametrized test fixture string inside test_verify_claims_self_reference.py, used purely to exercise the `source_discipline_shape` predicate (verifying it classifies a pulumi.com URL + an independent GitHub release URL as…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#15
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:142
f"{ATP_URL} and https://registry.terraform.io/providers/hashicorp/random/latest",
evidence: This is a line in a Python test script (test_verify_claims_self_reference.py) constructing a test string/fixture that happens to embed a URL. It's test code, not an editorial or factual assertion about Pulumi documentation content.; source: .claude/commands/docs-review/scripts/test_verify_claims_self_reference.py L142
source: .claude/commands/docs-review/scripts/test_verify_claims_self_reference.py L142
pass3
#16
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:144
"https://www.pulumi.com/registry/packages/aws/api-docs/s3/bucket/",
evidence: This is a string literal inside a test fixture list in test_verify_claims_self_reference.py, used to exercise the claim-verification harness's handling of generated-reference URLs (per the code comment "The generated-reference carve-out…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:L143-144
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:L143-144
pass1
#17
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:145
f"{ATP_URL} and https://www.pulumi.com/docs/iac/cli/commands/pulumi_package_add/",
evidence: This line is a parametrized test-input string in a pytest test suite (test_independent_or_unrecognised_sources_are_not_shaped), used to exercise the source_discipline_shape() helper's logic on a synthetic combination of ATP_URL and a…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py (lines 134-147)
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py (lines 134-147)
pass1
#18
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:149
"https://app.pulumi.com/acme/settings",
evidence: This is a test fixture string in a unit test (`test_independent_or_unrecognised_sources_are_not_shaped`) used to verify that `app.pulumi.com/acme/settings` (an example/placeholder org URL, comment: \"Not this repo rendered.\") is…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:149
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:149
pass1
#19
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:161
assert shape("https://www.pulumi.com/docs/iac/cli/commands/pulumi_up/", file_path=cli) == "self-reference"
evidence: This is a unit test assertion (`test_a_generated_reference_page_under_review_is_still_self_reference`) verifying the internal `shape()`/`source_discipline_shape()` helper function correctly classifies a URL as "self-reference" when it…; source: .claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: .claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#20
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:166
svg = "https://www.pulumi.com/images/docs/concepts/state.svg"
evidence: This line is inside test_verify_claims_self_reference.py, a unit test for the claim-verification script's own self-reference/dead-link detection logic. The URL string is test fixture data used to assert `shape(...)` return values, not an…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:L164-176
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:L164-176
pass1
#21
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:172
assert shape("https://www.pulumi.com/docs/",
evidence: This is a line from a unit test file (test_verify_claims_self_reference.py) asserting the shape of a URL string in a test helper function; it's test/code metadata, not a falsifiable factual assertion about Pulumi's product or documentation.; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#22
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:173
assert shape("https://www.pulumi.com/docs/iac/concepts/stacks/#create",
evidence: The line is a Python test assertion (`assert shape(...) is None`) exercising the `source_discipline_shape` helper's URL-matching logic in the docs-review tooling's own test suite. The URL string is test fixture data, not a factual…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py L172-175
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py L172-175
pass1
#23
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:194
other = "https://www.pulumi.com/docs/iac/get-started/"
evidence: The line is a Python test fixture: `other = \"https://www.pulumi.com/docs/iac/get-started/\"` used as an input value to test the `_gate_for_verdict` function's \"same-site-only\" gating logic. It is not a falsifiable assertion about…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#24
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:219
"pass1": [verify_block("verified", "v1.4.0 is the latest release of pulumi-terraform-provider.",
evidence: This line is a mock/stub payload inside a pytest test (test_refresh_false_positive_is_cleared_by_release_tags) for the docs-review self-verification harness. The string "v1.4.0 is the latest release of pulumi-terraform-provider." is test…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#25
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:242
"https://www.typescriptlang.org/tsconfig/#target")],
evidence: This is a line in a test script (test_verify_claims_self_reference.py) that references a URL as test fixture data for testing the claim-verification tooling itself, not an editorial assertion made in Pulumi documentation.; source: .claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: .claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass3
#26
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:247
assert rec["source"] == "https://www.typescriptlang.org/tsconfig/#target"
evidence: This is a unit test assertion in the PR's own test file verifying internal logic (that a recorded source field equals a URL string), not a factual assertion about TypeScript documentation content.; source: .claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: .claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass3
#27
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:255
"https://www.pulumi.com/docs/iac/guides/clouds/aws/ecr/"),
evidence: The URL appears inside a pytest parametrize block as mock/fixture data (`verify_block("contradicted", ..., "https://www.pulumi.com/docs/iac/guides/clouds/aws/ecr/")`) used to test the claim-verification harness's self-reference re-check…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py (lines 251-263)
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py (lines 251-263)
pass1
#28
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:258
"https://www.pulumi.com/docs/iac/guides/clouds/aws/ecs/"),
evidence: The URL appears inside a pytest parametrize block (test_unsettled_recheck_downgrades_and_keeps_the_reasoning) as synthetic fixture data simulating a `contradicted` verdict on non-independent evidence, used to test the verifier tool's own…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:251-259
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:251-259
pass1
#29
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:309
"pass1": [read_turn, verify_block("verified", "v1.4.0 exists.", "gh release view v1.4.0 -R pulumi/pulumi-terraform-provider")],
evidence: This line is a Python test fixture inside a test file for the docs-review claim-verification tooling itself (test_verify_claims_self_reference.py), constructing a mock verify_block call with sample text "v1.4.0 exists." It is not an…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#30
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:327
verify_block("verified", "v1.4.0 is the latest release.", "gh release list -R pulumi/pulumi-terraform-provider")],
evidence: This line is inside a pytest test fixture (`test_verify_claims_self_reference.py`) that mocks the verify_claims harness's tool responses to test escalation/re-check logic. The string "v1.4.0 is the latest release." is a stubbed mock…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#31
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:339
"contradicted", "Latest release is v1.4.0, not 2.0.0.",
evidence: This line is a mocked `verify_block` return value inside `test_independent_contradiction_is_never_rechecked`, a unit test for the verification harness's own re-check logic. The string "Latest release is v1.4.0, not 2.0.0." is test…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py L337-343
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py L337-343
pass1
#32
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:340
f"{ATP_URL} and https://github.com/pulumi/pulumi-terraform-provider/releases")]}
evidence: This is a Python test fixture string in a unit test file for the fact-checking harness's own `source_discipline_shape` logic (test_independent_or_unrecognised_sources_are_not_shaped). The GitHub URL is synthetic test data, not an…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#33
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:347
svg = "https://www.pulumi.com/images/docs/concepts/state.svg"
evidence: The line is a Python string literal (`svg = "https://www.pulumi.com/images/docs/concepts/state.svg"`) used as test fixture data inside a unit test (`test_dead_link_claim_keeps_its_pass2_contradiction` /…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#34
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:375
"https://www.pulumi.com/docs/reference/pre-built-policy-packs/cis-aws/")]}
evidence: This line is inside a unit test (test_generated_from_data_gate_takes_precedence) in the verifier's own test script. The URL is a mock/fixture value used to simulate a `verify_block` return for testing the gating logic, not an actual…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py
pass1
#35
➖ Not a claim
.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py:387
"text": "The example Pulumi YAML pins the `terraform-provider` package's `random` provider to version 1.4.0."}
evidence: This line is inside a Python test file's fixture function `_own_claim()`, used purely to test the claim-verifier tool's own-file-only source-discipline detection logic (`test_own_file_only_shape_matches_repo_and_bare_paths`). It is…; source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py (lines 380-392)
source: repo:.claude/commands/docs-review/scripts/test_verify_claims_self_reference.py (lines 380-392)
pass1
#36
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:5
"claim": "The example Pulumi YAML pins the `terraform-provider` package's `random` provider to version 1.4.0.",
evidence: This file is testdata for the docs-review tooling itself (`.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json`), containing sample claim/verdict pairs used to test the review script's behavior, not an actual…; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#37
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:8
"evidence": "framing: claim asserts random pinned to 1.4.0; published page shows random pinned to 3.7.1 (terraform-provider package version is 0.10.0)…
evidence: This is a JSON test fixture file (testdata/self-reference-verdicts.json) used to test a docs-review script's output format, not an actual published documentation claim. The "text" field is itself a stored example verdict string used for…; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#38
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:9
"source": "https://www.pulumi.com/docs/iac/concepts/providers/any-terraform-provider/",
evidence: This file is testdata (.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json) used to test the docs-review tooling's verdict-parsing logic. The "source" URL at line 9 is a data field inside a fixture/expected-output…; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#39
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:17
"evidence": "framing: claim asserts version 1.4.0 as the pinned example version; source consistently shows 0.10.0 for the terraform-provider package version…
evidence: This file is testdata/fixture data (self-reference-verdicts.json) used internally by the .claude/commands/docs-review tooling to store example prior verdicts for its own test suite. The "text" being checked is a JSON evidence string…; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#40
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:18
"source": "https://www.pulumi.com/docs/iac/concepts/providers/any-terraform-provider/",
evidence: This is a testdata fixture file (.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json) used to test the docs-review tooling itself; the "source" URL at line 18 is a data value inside a test fixture record, not an…; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#41
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:28
"evidence": "framing: Source specifies target ES2022 or later for nodenext+top-level-await; claim substitutes ES2017, a weaker/incorrect minimum that…
evidence: This is a test fixture file (testdata/self-reference-verdicts.json) used by a docs-review script to test verdict handling — it contains a synthetic/example "evidence" string for testing purposes, not an actual assertion made in Pulumi…; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#42
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:29
"source": "https://www.pulumi.com/docs/iac/languages-sdks/javascript/",
evidence: This line is inside `.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json`, a test fixture containing sample/expected verdict objects (with fields like "claim", "verdict", "evidence", "source") used to test the…; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#43
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:39
"evidence": "framing: source: \"IAM permissions which are typically enabled by default\" vs claim: \"must be granted explicitly\" \u2014 same topic…
evidence: This is a JSON fixture in a test data file (`testdata/self-reference-verdicts.json`) used to test the docs-review script's verdict logic itself, not a factual assertion published in docs or blog content. The "evidence" field is…; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#44
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:40
"source": "https://www.pulumi.com/docs/iac/guides/clouds/aws/ecr/",
evidence: This is a test fixture file (testdata/self-reference-verdicts.json) used to test a docs-review script's verdict handling, not an actual documentation assertion. The "source" field is sample/mock data, not a real claim being made to readers.; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#45
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:50
"evidence": "framing: Claim asserts version 7.* but source shows 4.* for the same example schema field.; evidence: The live Pulumi docs page for this exact…
evidence: This file is a testdata fixture (.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json) used to test the docs-review tooling's verdict-handling logic. The "evidence" text quoted is a synthetic/example verdict entry…; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#46
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:51
"source": "https://www.pulumi.com/docs/iac/guides/building-extending/packages/schema/",
evidence: This is a line inside a testdata JSON fixture (`self-reference-verdicts.json`) used by the docs-review tooling's own test suite to store expected verdict outputs for prior fact-checking runs. The URL is a data value in a test case, not a…; source: .claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: .claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#47
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:59
"evidence": "framing: Claim asserts ^5.0.0; source (and identical archived pulumi-hugo copy) both show ^3.7.0.; evidence: The live Pulumi docs page for this…
evidence: This file is testdata (`.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json`) used to test the docs-review script's verdict-generation logic itself. It is a fixture recording an example expected verdict output, not…; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#48
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:70
"evidence": "framing: source ties 'deployment-runner' to Business Critical edition, not Enterprise; claim shifts the edition boundary; evidence: Pulumi's…
evidence: The referenced file is test fixture data (`.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json`) containing a pre-recorded sample verdict object used to test the docs-review script's self-reference detection logic.…; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#49
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:71
"source": "https://www.pulumi.com/docs/administration/access-identity/oidc-issuers/",
evidence: This file is test fixture data (`testdata/self-reference-verdicts.json`) used by a docs-review script to test verdict-detection logic. The "source" field at line 71 is a data value embedded in a JSON test fixture, not an editorial…; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#50
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:79
"evidence": "evidence: Pulumi's own docs state that Terraform Registry modules are resolvable from Pulumi programs as well, not \"only\" from…
evidence: This is a line in a test fixture (testdata/self-reference-verdicts.json) used to test the docs-review script's verdict-recording logic, not an editorial assertion made by this PR. The JSON stores a prior automated tool's evidence string…; source: .claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: .claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#51
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:85
"claim": "Mapping a single GitHub organization to multiple Pulumi organizations requires contacting [Pulumi support](/support/new/). This option is only…
evidence: This is a test fixture file (testdata/self-reference-verdicts.json) used to test the docs-review script's self-reference detection logic, not an actual documentation claim asserted in published content.; source: .claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: .claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass3
#52
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:88
"evidence": "framing: shifted \u2014 source restricts to \"Enterprise and Business Critical customers\" vs. claim's \"Pro and Enterprise customers\"…
evidence: This file lives under `.claude/commands/docs-review/scripts/testdata/` — it is test fixture data containing expected/sample verdict output for a review tooling script, not an actual documentation assertion made in a docs or blog PR.; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#53
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:89
"source": "https://www.pulumi.com/docs/integrations/version-control/github-app/",
evidence: This line is a JSON field inside a testdata fixture (self-reference-verdicts.json) used by the docs-review tooling to store previously-computed verdicts for regression testing. The "source" URL at L89 is metadata attached to an unrelated…; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#54
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:94
"claim": "coverage: 12 hours/day, 7 days/week",
evidence: This line is inside a test fixture file (testdata/self-reference-verdicts.json) used to test a docs-review script's self-reference detection logic, not an actual published factual claim in Pulumi documentation.; source: .claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: .claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass3
#55
➖ Not a claim
.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json:97
"evidence": "framing: source: \"12x5\" (12 hrs/day, 5 days/week) vs claim: \"12 hours/day, 7 days/week\" \u2014 same 12-hour anchor but wrong day count…
evidence: This is a line from a testdata fixture file (self-reference-verdicts.json) used to test the docs-review tooling's parsing of verdict evidence strings, not an editorial claim about Pulumi pricing/support hours.; source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
source: repo:.claude/commands/docs-review/scripts/testdata/self-reference-verdicts.json
pass1
#56
➖ Not a claim
.claude/commands/docs-review/scripts/verify-claims.py:343
Five hard rules. Each one exists because violating it produced false `contradicted` verdicts in a full ledger re-adjudication (2026-07): 17 of 22…
evidence: This is a self-referential statement describing the internal rationale/history behind the verifier's own rules (an internal ledger re-adjudication of Pulumi's own fact-checking tooling), not a falsifiable external claim checkable via web…; source: .claude/commands/docs-review/scripts/verify-claims.py (self-referential process documentation)
source: .claude/commands/docs-review/scripts/verify-claims.py (self-referential process documentation)
pass3
#57
➖ Not a claim
.claude/commands/docs-review/scripts/verify-claims.py:349
- **The content under review never verifies its own technical claims.** The PR's own file restating a claim is what made it a claim — it is not evidence.…
evidence: This is a line from the verifier's own instructions/prompt file (verify-claims.py), describing methodology rules for the fact-checking process itself, not a factual assertion about a Pulumi product or docs page. It's meta-documentation…; source: repo:.claude/commands/docs-review/scripts/verify-claims.py
source: repo:.claude/commands/docs-review/scripts/verify-claims.py
pass1
#58
➖ Not a claim
.claude/commands/docs-review/scripts/verify-claims.py:869
re.compile(r"^/registry/packages/[^/]+/api-docs(?:/|$)"), # registry API docs, from provider schemas
evidence: This line is a regex pattern within the PR author's own verify-claims.py script, used to classify URLs matching /registry/packages/*/api-docs as registry API docs generated from provider schemas. It's a description of the script's own…; source: repo:.claude/commands/docs-review/scripts/verify-claims.py
source: repo:.claude/commands/docs-review/scripts/verify-claims.py
pass1
#59
➖ Not a claim
.claude/commands/docs-review/scripts/verify-claims.py:870
re.compile(r"^/docs/iac/cli/commands/"), # CLI command pages, from `pulumi gen-markdown`
evidence: This is a code comment in the PR author's own script (verify-claims.py) describing an internal regex classification rule for CLI command doc pages, generated by `pulumi gen-markdown`. It's a description of the author's own…; source: repo:.claude/commands/docs-review/scripts/verify-claims.py:L870
source: repo:.claude/commands/docs-review/scripts/verify-claims.py:L870
pass1
#60
➖ Not a claim
.claude/commands/docs-review/scripts/verify-claims.py:871
re.compile(r"^/docs/reference/cloud-rest-api/"), # REST reference, from the OpenAPI spec
evidence: This is a line from the docs-review tooling's own script (verify-claims.py), listing regex patterns for paths considered "generated reference" pages carrying product-source authority. It's internal script metadata/code, not a falsifiable…; source: repo:.claude/commands/docs-review/scripts/verify-claims.py
source: repo:.claude/commands/docs-review/scripts/verify-claims.py
pass1
#61
➖ Not a claim
.claude/commands/docs-review/scripts/verify-claims.py:882
"""Rendered site path for a content file: `content/docs/a/b.md` → `/docs/a/b/`.
evidence: This is a docstring in the PR author's own verification script explaining its own URL-derivation logic (content/docs/a/b.md → /docs/a/b/), not a falsifiable third-party assertion.; source: .claude/commands/docs-review/scripts/verify-claims.py:L882
source: .claude/commands/docs-review/scripts/verify-claims.py:L882
pass1
#62
➖ Not a claim
.claude/commands/docs-review/scripts/verify-claims.py:920
https://www.pulumi.com/images/x.svg" + HTTP 404 is a legitimate
evidence: This is a docstring comment inside verify-claims.py explaining the function's logic with a hypothetical illustrative example ("the diagram is at https://www.pulumi.com/images/x.svg" + HTTP 404 is a legitimate `contradicted`...). It's not…; source: repo:.claude/commands/docs-review/scripts/verify-claims.py
source: repo:.claude/commands/docs-review/scripts/verify-claims.py
pass1
#63
➖ Not a claim
.claude/commands/docs-review/scripts/verify-claims.py:930
# Delimited on both sides: `/docs` must not match inside `/docs/iac/...`.
evidence: This is a code comment in the PR author's own verification script explaining their regex delimiting logic, not a falsifiable third-party assertion.; source: .claude/commands/docs-review/scripts/verify-claims.py L930
source: .claude/commands/docs-review/scripts/verify-claims.py L930
pass1
No claims match the current filter.
Findings
| ID | Bucket | File:lines | Status | Disposition |
|---|---|---|---|---|
| F1 | ⚠️ Reviewer check | .claude/commands/docs-review/scripts/verify-claims.py:422 | accepted-as-is | accepted — Accepting as-is — it's the right trade. Version claims carrying a bare non-URL hint are rare (~60 of ~4,000 claims in the index, most with no hint at all), pass1 escalates to web search when gh can't close it, and the failure this replaces was a false blocker needing a human dispute to clear. An extra hop on the occasional Node.js pin is cheap next to that; if PR #21736's claim artifacts show it costing real money, a narrower rule is easy to add with data in hand. |
Editorial stances
Superlative, ranking, or comparative language the diff adds. No verdict — a page's own framing isn't fact-checkable — listed so a reviewer can confirm each is a stance the docs should take.
- .claude/commands/docs-review/references/fact-check.md L181 The canonical worked-example set — composite/split, implicit comparison, quantitative, negative, the third-party-attribution flip, and the hard… positioning · found by regex
Investigation log
- cross-sibling-reads
- not run (not in a templated section)
- external-claim-verification
- 0 of 63 claims verified (0 unverifiable, 0 contradicted) · 4 specialists (numerical, cross-reference, capability, framing); 0 cross-specialist corroborations · routed: 0 inline, 52 Pass 1, 0 Pass 2, 11 Pass 3 (verified 0, contradicted 0, unverifiable 11).
- cited-claim-spot-checks
- not run (no cited claims)
- frontmatter-sweep
- not run (no frontmatter in diff)
- temporal-trigger-sweep
- ran (recency words present in diff; spot-check in-review)
- 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
- 2026-09-18T19:10:35Z
d15a885
initial review (pending publication)
- 2026-09-18T19:24:26Z
d15a885d96
Author accepted F1 as-is: version-hint routing cost is a deliberate trade, revisit with #21736 data.