Skip to content

Auto PR: Scheduled addition of new proofs#50

Closed
semmet95 wants to merge 1 commit into
mainfrom
proof-auto-add-26357441581
Closed

Auto PR: Scheduled addition of new proofs#50
semmet95 wants to merge 1 commit into
mainfrom
proof-auto-add-26357441581

Conversation

@semmet95
Copy link
Copy Markdown
Contributor

@semmet95 semmet95 commented May 24, 2026

Adds proofs for claims made by the ingested sources in the last week for ingestion

Summary by CodeRabbit

  • Chores
    • Added 25+ proof records with standardized metadata including claim digests, reviewer attribution, claim support status, and source URIs across multiple claim categories.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 24, 2026

📝 Walkthrough

Walkthrough

Twenty-seven proof YAML files are updated to include standardized claim metadata: each file adds four fields (claimUriDigest, reviewedBy, supportsClaim, uri) that record claim digests, reviewers, support flags, and source URLs across diverse claim categories.

Changes

Proof record metadata enrichment

Layer / File(s) Summary
Proof record metadata fields
proofs/a_newt_dawn_wknd_talks_to_whi/whitleyaward_org.yaml, proofs/american_tourists_arrested_in/www_straitstimes_com.yaml, proofs/at_least_nine_dead_in_china_af/www_nbcnews_com.yaml, proofs/avax_one_avx_q1_2026_earning/www_insidermonkey_com.yaml, proofs/cbse_flags_fake_circular_on_ca/indianexpress_com.yaml, proofs/cbse_flags_fake_circular_on_ca/timesofindia_indiatimes_com.yaml, proofs/china_drives_ralph_lauren_sale/finance_yahoo_com.yaml, proofs/cockroach_janta_party_s_founde/economictimes_indiatimes_com.yaml, proofs/cockroach_janta_party_s_founde/www_thehindu_com.yaml, proofs/ebola_outbreak_in_congo_kills/www_pbs_org.yaml, proofs/ebola_spreads_in_eastern_congo/www_who_int.yaml, proofs/eu_trade_deal_with_south_ameri/trade_ec_europa_eu.yaml, proofs/federally_protected_bird_s_nes/jcpost_com.yaml, proofs/federally_protected_bird_s_nes/www_upi_com.yaml, proofs/fox_news_ai_newsletter_ai_gir/ew_com.yaml, proofs/fox_news_ai_newsletter_ai_gir/www_hollywoodreporter_com.yaml, proofs/free_chatgpt_plus_for_everyone/openai_com.yaml, proofs/free_chatgpt_plus_for_everyone/www_euronews_com.yaml, proofs/hong_kong_records_10_tremor_re/www_thestandard_com_hk.yaml, proofs/moore_threads_posts_us_4_3m_pr/www_trendforce_com.yaml, proofs/niti_calls_for_two-year_constr/www_tribuneindia_com.yaml, proofs/pet_valu_q1_earnings_call_high/ca_finance_yahoo_com.yaml, proofs/pet_valu_q1_earnings_call_high/finance_yahoo_com.yaml, proofs/three_leopards_rescued_releas/www_amarujala_com.yaml, proofs/three_leopards_rescued_releas/www_amritvichar_com.yaml, proofs/waymo_pauses_robotaxis_in_five/static_nhtsa_gov.yaml, proofs/waymo_pauses_robotaxis_in_five/www_cnbc_com.yaml
All 27 proof YAML files receive the same four metadata fields to record claim digests, reviewer identifiers, boolean claim support indicators, and source URLs.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • SatyaLens/sources#48: Both PRs perform the same YAML proof-record change—adding/updating claimUriDigest, reviewedBy, supportsClaim, and uri fields (data-only) across proof files—so they're directly related.
  • SatyaLens/sources#41: The main PR adds/overwrites proof YAML fields (claimUriDigest, reviewedBy, supportsClaim, uri), which matches the retrieved PR's newly added ingest/create logic that generates these exact claim-proof document fields.
  • SatyaLens/sources#44: The main PR's newly added reviewedBy values in proof YAMLs align with the retrieved PR's change to set a default reviewedBy of "semmet95" in scripts/ingest_proofs.py.

Poem

🐰 Twenty-seven claims now wear their proof attire,
With digests, reviewers, and URIs so fine,
Each YAML file dressed in metadata's splire,
Supporting the facts that align and combine! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the PR's main objective: automated addition of new proof records across multiple files, matching the PR description and changeset content.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch proof-auto-add-26357441581

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@proofs/cockroach_janta_party_s_founde/www_thehindu_com.yaml`:
- Around line 1-4: The YAML file
proofs/cockroach_janta_party_s_founde/www_thehindu_com.yaml uses JSON-style
quoted keys; update it to native YAML mapping style by removing the quotes
around keys such as "claimUriDigest", "reviewedBy", "supportsClaim", and "uri"
so they become unquoted mapping keys (claimUriDigest:, reviewedBy:,
supportsClaim:, uri:) while preserving the same values and boolean type for
supportsClaim; ensure the document remains valid YAML and matches the
repository's {sources,claims,proofs}/**/*.yaml guidelines.

In `@proofs/three_leopards_rescued_releas/www_amritvichar_com.yaml`:
- Around line 1-4: The file uses JSON-style quoted keys and is missing the
required uriDigest; convert the entries to proper YAML key: value form (e.g.,
claimUriDigest: <value>, reviewedBy: <value>, supportsClaim: <boolean>, uri:
<value>) and add a uriDigest: <hex-digest> field (compute and insert the correct
URI digest per the Proof schema requirements or, if intended, populate it with
the same digest value used in claimUriDigest) so the document validates against
components.schemas.Proof; ensure keys are unquoted and booleans are plain
(true/false).

In `@proofs/waymo_pauses_robotaxis_in_five/static_nhtsa_gov.yaml`:
- Around line 1-4: The YAML uses JSON-style quoted keys and is missing the
required uriDigest field; update the proof block by removing the quotes around
keys like "claimUriDigest", "reviewedBy", "supportsClaim", and "uri" so they are
plain YAML keys, and add a new uriDigest key whose value is the SHA-256 hex
digest of the uri
("https://static.nhtsa.gov/odi/rcl/2026/RCLRPT-26E026-6527.pdf") to satisfy
components.schemas.Proof.required; ensure the resulting keys are claimUriDigest,
reviewedBy, supportsClaim, uri, and uriDigest and that the file remains valid
YAML.

In `@proofs/waymo_pauses_robotaxis_in_five/www_cnbc_com.yaml`:
- Around line 1-4: The proof file
proofs/waymo_pauses_robotaxis_in_five/www_cnbc_com.yaml currently uses
JSON-style quoted keys and the wrong field name claimUriDigest; convert the
document to proper YAML mapping (unquoted keys, standard YAML boolean/null
formatting) and replace/rename claimUriDigest with the required uriDigest field,
setting uriDigest to the provided SHA-256 value
ed9a00eeda69f9c69d9a9386d70ffc0168235fb7a6e51901ec5e0d7535e94530 while keeping
reviewedBy, supportsClaim, and uri with their current values and types.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 3e39cbb9-3153-4feb-974a-be0dec6898c8

📥 Commits

Reviewing files that changed from the base of the PR and between 6ae267f and 32d069a.

📒 Files selected for processing (27)
  • proofs/a_newt_dawn_wknd_talks_to_whi/whitleyaward_org.yaml
  • proofs/american_tourists_arrested_in/www_straitstimes_com.yaml
  • proofs/at_least_nine_dead_in_china_af/www_nbcnews_com.yaml
  • proofs/avax_one_avx_q1_2026_earning/www_insidermonkey_com.yaml
  • proofs/cbse_flags_fake_circular_on_ca/indianexpress_com.yaml
  • proofs/cbse_flags_fake_circular_on_ca/timesofindia_indiatimes_com.yaml
  • proofs/china_drives_ralph_lauren_sale/finance_yahoo_com.yaml
  • proofs/cockroach_janta_party_s_founde/economictimes_indiatimes_com.yaml
  • proofs/cockroach_janta_party_s_founde/www_thehindu_com.yaml
  • proofs/ebola_outbreak_in_congo_kills/www_pbs_org.yaml
  • proofs/ebola_spreads_in_eastern_congo/www_who_int.yaml
  • proofs/eu_trade_deal_with_south_ameri/trade_ec_europa_eu.yaml
  • proofs/federally_protected_bird_s_nes/jcpost_com.yaml
  • proofs/federally_protected_bird_s_nes/www_upi_com.yaml
  • proofs/fox_news_ai_newsletter_ai_gir/ew_com.yaml
  • proofs/fox_news_ai_newsletter_ai_gir/www_hollywoodreporter_com.yaml
  • proofs/free_chatgpt_plus_for_everyone/openai_com.yaml
  • proofs/free_chatgpt_plus_for_everyone/www_euronews_com.yaml
  • proofs/hong_kong_records_10_tremor_re/www_thestandard_com_hk.yaml
  • proofs/moore_threads_posts_us_4_3m_pr/www_trendforce_com.yaml
  • proofs/niti_calls_for_two-year_constr/www_tribuneindia_com.yaml
  • proofs/pet_valu_q1_earnings_call_high/ca_finance_yahoo_com.yaml
  • proofs/pet_valu_q1_earnings_call_high/finance_yahoo_com.yaml
  • proofs/three_leopards_rescued_releas/www_amarujala_com.yaml
  • proofs/three_leopards_rescued_releas/www_amritvichar_com.yaml
  • proofs/waymo_pauses_robotaxis_in_five/static_nhtsa_gov.yaml
  • proofs/waymo_pauses_robotaxis_in_five/www_cnbc_com.yaml

Comment on lines +1 to +4
"claimUriDigest": "9235a33f8d444e73c05b3fa18886525b73e93651a3ae09859737dec754894d9c"
"reviewedBy": "semmet95"
"supportsClaim": true
"uri": "https://www.thehindu.com/news/national/crackdown-on-cockroach-janta-party-access-to-all-accounts-lost-says-founder-abhijeet-dipke/article71014074.ece"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Use native YAML mapping style instead of JSON-style keys.

Please switch to standard YAML key syntax (unquoted keys) for .yaml proof records to match repository format rules.

Proposed change
-"claimUriDigest": "9235a33f8d444e73c05b3fa18886525b73e93651a3ae09859737dec754894d9c"
-"reviewedBy": "semmet95"
-"supportsClaim": true
-"uri": "https://www.thehindu.com/news/national/crackdown-on-cockroach-janta-party-access-to-all-accounts-lost-says-founder-abhijeet-dipke/article71014074.ece"
+claimUriDigest: "9235a33f8d444e73c05b3fa18886525b73e93651a3ae09859737dec754894d9c"
+reviewedBy: "semmet95"
+supportsClaim: true
+uri: "https://www.thehindu.com/news/national/crackdown-on-cockroach-janta-party-access-to-all-accounts-lost-says-founder-abhijeet-dipke/article71014074.ece"

As per coding guidelines, "{sources,claims,proofs}/**/*.yaml: Use YAML format for documents unless JSON is explicitly requested".

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@proofs/cockroach_janta_party_s_founde/www_thehindu_com.yaml` around lines 1 -
4, The YAML file proofs/cockroach_janta_party_s_founde/www_thehindu_com.yaml
uses JSON-style quoted keys; update it to native YAML mapping style by removing
the quotes around keys such as "claimUriDigest", "reviewedBy", "supportsClaim",
and "uri" so they become unquoted mapping keys (claimUriDigest:, reviewedBy:,
supportsClaim:, uri:) while preserving the same values and boolean type for
supportsClaim; ensure the document remains valid YAML and matches the
repository's {sources,claims,proofs}/**/*.yaml guidelines.

Comment on lines +1 to +4
"claimUriDigest": "8907c536551469f514593ac774bfe470c8c6457dab4ac85f4bebabe33da7845d"
"reviewedBy": "semmet95"
"supportsClaim": true
"uri": "https://www.amritvichar.com/article/548303/lakhimpur-kheri-left-the-leopard-caught-near-the-residence-of"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify proof schema requirements from oapi.yaml

# Extract proof schema from oapi.yaml
echo "=== Proof Schema Definition ==="
yq eval '.components.schemas.Proof' oapi.yaml

echo -e "\n=== Required Fields ==="
yq eval '.components.schemas.Proof.required' oapi.yaml

echo -e "\n=== Field Constraints ==="
yq eval '.components.schemas.Proof.properties' oapi.yaml

Repository: SatyaLens/sources

Length of output: 289


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Inspect target YAML ==="
ls -la proofs/three_leopards_rescued_releas || true
sed -n '1,120p' proofs/three_leopards_rescued_releas/www_amritvichar_com.yaml

echo "=== Locate oapi.yaml ==="
ls -la oapi.yaml || true
test -f oapi.yaml && echo "oapi.yaml found"

echo "=== Extract components.schemas.Proof from oapi.yaml (Python) ==="
python3 - <<'PY'
import sys, re, json
from pathlib import Path

import yaml

path = Path("oapi.yaml")
data = yaml.safe_load(path.read_text(encoding="utf-8"))

schemas = (
    data.get("components", {})
        .get("schemas", {})
)
proof = schemas.get("Proof")
if proof is None:
    # try a few common alternatives
    for k, v in schemas.items():
        if k.lower() == "proof":
            proof = v
            break

if proof is None:
    print("ERROR: components.schemas.Proof not found in oapi.yaml", file=sys.stderr)
    sys.exit(1)

required = proof.get("required", [])
props = proof.get("properties", {})

def summarize_props(props):
    out = {}
    for name, spec in props.items():
        if not isinstance(spec, dict):
            continue
        # capture a few common constraint keys if present
        entry = {}
        for key in ["type", "enum", "minimum", "maximum", "minLength", "maxLength", "format", "pattern", "items"]:
            if key in spec:
                entry[key] = spec[key]
        # also include nested "$ref" cases lightly
        if "$ref" in spec:
            entry["$ref"] = spec["$ref"]
        out[name] = entry
    return out

print("Proof schema keys:", sorted(list(proof.keys())))
print("\nRequired fields:")
print(json.dumps(required, indent=2))

print("\nProperty constraints (subset):")
print(json.dumps(summarize_props(props), indent=2))

PY

Repository: SatyaLens/sources

Length of output: 1182


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== File size (lines) ==="
wc -l proofs/three_leopards_rescued_releas/www_amritvichar_com.yaml

echo "=== Full file contents ==="
cat -n proofs/three_leopards_rescued_releas/www_amritvichar_com.yaml

Repository: SatyaLens/sources

Length of output: 452


Fix YAML formatting and add missing required uriDigest in proofs/three_leopards_rescued_releas/www_amritvichar_com.yaml

  • Replace JSON-style quoted keys ("key": ...) with standard YAML keys (key: ...).
  • components.schemas.Proof requires uriDigest, but the file only contains claimUriDigest, reviewedBy, supportsClaim, and uri.
🔧 Proposed fix to convert to YAML format
-"claimUriDigest": "8907c536551469f514593ac774bfe470c8c6457dab4ac85f4bebabe33da7845d"
-"reviewedBy": "semmet95"
-"supportsClaim": true
-"uri": "https://www.amritvichar.com/article/548303/lakhimpur-kheri-left-the-leopard-caught-near-the-residence-of"
+claimUriDigest: "8907c536551469f514593ac774bfe470c8c6457dab4ac85f4bebabe33da7845d"
+reviewedBy: "semmet95"
+supportsClaim: true
+uri: "https://www.amritvichar.com/article/548303/lakhimpur-kheri-left-the-leopard-caught-near-the-residence-of"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@proofs/three_leopards_rescued_releas/www_amritvichar_com.yaml` around lines 1
- 4, The file uses JSON-style quoted keys and is missing the required uriDigest;
convert the entries to proper YAML key: value form (e.g., claimUriDigest:
<value>, reviewedBy: <value>, supportsClaim: <boolean>, uri: <value>) and add a
uriDigest: <hex-digest> field (compute and insert the correct URI digest per the
Proof schema requirements or, if intended, populate it with the same digest
value used in claimUriDigest) so the document validates against
components.schemas.Proof; ensure keys are unquoted and booleans are plain
(true/false).

Comment on lines +1 to +4
"claimUriDigest": "600067e3dbc11830d674c1fdcf252e01fa978c5c95e3873c23065c87d11f97af"
"reviewedBy": "semmet95"
"supportsClaim": true
"uri": "https://static.nhtsa.gov/odi/rcl/2026/RCLRPT-26E026-6527.pdf"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify proof schema requirements from oapi.yaml

# Extract proof schema from oapi.yaml
echo "=== Proof Schema Definition ==="
yq eval '.components.schemas.Proof' oapi.yaml

echo -e "\n=== Required Fields ==="
yq eval '.components.schemas.Proof.required' oapi.yaml

echo -e "\n=== Field Constraints ==="
yq eval '.components.schemas.Proof.properties' oapi.yaml

Repository: SatyaLens/sources

Length of output: 289


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Inspect target YAML ==="
ls -l proofs/waymo_pauses_robotaxis_in_five/static_nhtsa_gov.yaml
sed -n '1,120p' proofs/waymo_pauses_robotaxis_in_five/static_nhtsa_gov.yaml

echo
echo "=== Locate oapi.yaml ==="
ls -l oapi.yaml || ls -l **/oapi.yaml 2>/dev/null || true

echo
python3 - <<'PY'
import sys, json, os, re
from pathlib import Path

# Install PyYAML if missing
try:
    import yaml
except Exception:
    import subprocess
    subprocess.check_call([sys.executable, "-m", "pip", "install", "pyyaml", "-q"])
    import yaml

oapi_path = Path("oapi.yaml")
if not oapi_path.exists():
    # try to find it
    matches = list(Path(".").rglob("oapi.yaml"))
    if not matches:
        print("ERROR: oapi.yaml not found")
        sys.exit(1)
    oapi_path = matches[0]
    print(f"Using oapi.yaml at: {oapi_path}")

data = yaml.safe_load(oapi_path.read_text())

proof_schema = data.get("components", {}).get("schemas", {}).get("Proof")
if not proof_schema:
    print("ERROR: components.schemas.Proof not found in oapi.yaml")
    sys.exit(1)

print("\n=== Proof schema keys ===")
print(sorted(proof_schema.keys()))

required = proof_schema.get("required", [])
print("\n=== Required fields ===")
print(required)

properties = proof_schema.get("properties", {})
print("\n=== Properties (top-level) ===")
for k in sorted(properties.keys()):
    t = properties[k].get("type")
    enum = properties[k].get("enum")
    fmt = properties[k].get("format")
    extra = []
    for key in ["minLength","maxLength","minimum","maximum","pattern"]:
        if key in properties[k]:
            extra.append(f"{key}={properties[k][key]}")
    if enum is not None:
        extra.append(f"enum={enum}")
    if fmt is not None:
        extra.append(f"format={fmt}")
    if extra:
        print(f"- {k}: type={t}, " + ", ".join(extra))
    else:
        print(f"- {k}: type={t}")

print("\n=== Validate presence of required fields in the target file ===")
target = Path("proofs/waymo_pauses_robotaxis_in_five/static_nhtsa_gov.yaml")
doc = yaml.safe_load(target.read_text())

print("Parsed document keys:", sorted(doc.keys()) if isinstance(doc, dict) else type(doc))
missing = [f for f in required if f not in doc]
print("Missing required fields:", missing)

# Basic type checks for required fields when 'type' exists
def type_matches(value, expected):
    if expected == "string": return isinstance(value, str)
    if expected == "boolean": return isinstance(value, bool)
    if expected == "number": return isinstance(value, (int, float)) and not isinstance(value, bool)
    if expected == "integer": return isinstance(value, int) and not isinstance(value, bool)
    return True

type_mismatches = []
for f in required:
    if f in doc and f in properties:
        exp = properties[f].get("type")
        if exp and not type_matches(doc[f], exp):
            type_mismatches.append((f, type(doc[f]).__name__, exp, doc[f]))
print("Type mismatches (best-effort):", type_mismatches)
PY

Repository: SatyaLens/sources

Length of output: 1037


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
import sys
from pathlib import Path

import yaml

oapi = yaml.safe_load(Path("oapi.yaml").read_text())
proof = oapi["components"]["schemas"]["Proof"]
props = proof.get("properties", {})
for k in ["claimUriDigest","reviewedBy","supportsClaim","uri","uriDigest"]:
    p = props.get(k, {})
    print(f"\n=== {k} ===")
    for key in ["type","format","minLength","maxLength","pattern","minimum","maximum","enum","description"]:
        if key in p:
            print(f"{key}: {p[key]}")
    # also print any additional constraints
    other = {kk:v for kk,v in p.items() if kk not in {"type","format","minLength","maxLength","pattern","minimum","maximum","enum","description"}}
    if other:
        print("other:", other)
PY

Repository: SatyaLens/sources

Length of output: 1088


🏁 Script executed:

#!/bin/bash
set -euo pipefail
python3 - <<'PY'
import hashlib
uri="https://static.nhtsa.gov/odi/rcl/2026/RCLRPT-26E026-6527.pdf"
print(hashlib.sha256(uri.encode("utf-8")).hexdigest())
PY

Repository: SatyaLens/sources

Length of output: 126


Fix YAML proof schema compliance (missing uriDigest + JSON-style quoted keys)

  • Remove JSON-style quoted keys to follow YAML formatting guidelines.
  • Add required uriDigest (SHA-256 of uri) to satisfy components.schemas.Proof.required.
🔧 Proposed fix
-"claimUriDigest": "600067e3dbc11830d674c1fdcf252e01fa978c5c95e3873c23065c87d11f97af"
-"reviewedBy": "semmet95"
-"supportsClaim": true
-"uri": "https://static.nhtsa.gov/odi/rcl/2026/RCLRPT-26E026-6527.pdf"
+claimUriDigest: "600067e3dbc11830d674c1fdcf252e01fa978c5c95e3873c23065c87d11f97af"
+reviewedBy: "semmet95"
+supportsClaim: true
+uri: "https://static.nhtsa.gov/odi/rcl/2026/RCLRPT-26E026-6527.pdf"
+uriDigest: "468da7f52633b430f2b232a472ab352c8be9b15e73e7512b9f0462bc84ee0857"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"claimUriDigest": "600067e3dbc11830d674c1fdcf252e01fa978c5c95e3873c23065c87d11f97af"
"reviewedBy": "semmet95"
"supportsClaim": true
"uri": "https://static.nhtsa.gov/odi/rcl/2026/RCLRPT-26E026-6527.pdf"
claimUriDigest: "600067e3dbc11830d674c1fdcf252e01fa978c5c95e3873c23065c87d11f97af"
reviewedBy: "semmet95"
supportsClaim: true
uri: "https://static.nhtsa.gov/odi/rcl/2026/RCLRPT-26E026-6527.pdf"
uriDigest: "468da7f52633b430f2b232a472ab352c8be9b15e73e7512b9f0462bc84ee0857"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@proofs/waymo_pauses_robotaxis_in_five/static_nhtsa_gov.yaml` around lines 1 -
4, The YAML uses JSON-style quoted keys and is missing the required uriDigest
field; update the proof block by removing the quotes around keys like
"claimUriDigest", "reviewedBy", "supportsClaim", and "uri" so they are plain
YAML keys, and add a new uriDigest key whose value is the SHA-256 hex digest of
the uri ("https://static.nhtsa.gov/odi/rcl/2026/RCLRPT-26E026-6527.pdf") to
satisfy components.schemas.Proof.required; ensure the resulting keys are
claimUriDigest, reviewedBy, supportsClaim, uri, and uriDigest and that the file
remains valid YAML.

Comment on lines +1 to +4
"claimUriDigest": "600067e3dbc11830d674c1fdcf252e01fa978c5c95e3873c23065c87d11f97af"
"reviewedBy": "semmet95"
"supportsClaim": true
"uri": "https://www.cnbc.com/2026/05/12/waymo-recalls-3800-robotaxis-after-able-drive-into-standing-water.html"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify proof schema requirements from oapi.yaml

# Extract proof schema from oapi.yaml
echo "=== Proof Schema Definition ==="
yq eval '.components.schemas.Proof' oapi.yaml

echo -e "\n=== Required Fields ==="
yq eval '.components.schemas.Proof.required' oapi.yaml

echo -e "\n=== Field Constraints ==="
yq eval '.components.schemas.Proof.properties' oapi.yaml

Repository: SatyaLens/sources

Length of output: 289


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== File exists / contents (first 20 lines) =="
ls -la proofs/waymo_pauses_robotaxis_in_five/www_cnbc_com.yaml
sed -n '1,20p' proofs/waymo_pauses_robotaxis_in_five/www_cnbc_com.yaml | cat -n

echo "== Locate oapi.yaml =="
ls -la oapi.yaml || true
fd -t f -a oapi.yaml . || true

Repository: SatyaLens/sources

Length of output: 595


🏁 Script executed:

#!/bin/bash
set -euo pipefail
python3 - <<'PY'
import sys, os, json, re
from pathlib import Path

# ensure yaml parser available
try:
    import yaml
except Exception:
    import subprocess
    subprocess.check_call([sys.executable, "-m", "pip", "install", "pyyaml"])
    import yaml

repo_root = Path(".").resolve()

oapi = repo_root / "oapi.yaml"
if not oapi.exists():
    # fallback: search for oapi.yaml
    matches = list(repo_root.glob("**/oapi.yaml"))
    if not matches:
        print("ERROR: oapi.yaml not found")
        sys.exit(1)
    oapi = matches[0]

print("== Using oapi.yaml ==", oapi)

with oapi.open("r", encoding="utf-8") as f:
    oapi_doc = yaml.safe_load(f)

proof_schema = oapi_doc
for k in ["components", "schemas", "Proof"]:
    proof_schema = proof_schema.get(k) if isinstance(proof_schema, dict) else None

if not isinstance(proof_schema, dict):
    print("ERROR: Could not resolve components.schemas.Proof in oapi.yaml")
    sys.exit(1)

required = proof_schema.get("required", [])
properties = proof_schema.get("properties", {})

print("\n== Proof schema required fields ==", required)
print("\n== Proof schema property types (top-level) ==")
for name, spec in properties.items():
    t = spec.get("type")
    # keep output minimal but useful
    print(f"- {name}: type={t}")

proof_file = repo_root / "proofs/waymo_pauses_robotaxis_in_five/www_cnbc_com.yaml"
with proof_file.open("r", encoding="utf-8") as f:
    proof_data = yaml.safe_load(f)

print("\n== Loaded proof YAML data ==")
print(json.dumps(proof_data, indent=2, ensure_ascii=False))

print("\n== Required field presence check ==")
missing = [k for k in required if k not in proof_data]
print("Missing:", missing)

def check_type(field, value, spec):
    t = spec.get("type")
    if not t:
        return True, None
    if t == "string":
        return isinstance(value, str), f"expected string"
    if t == "boolean":
        return isinstance(value, bool), f"expected boolean"
    if t == "number":
        return isinstance(value, (int, float)) and not isinstance(value, bool), f"expected number"
    if t == "integer":
        return isinstance(value, int) and not isinstance(value, bool), f"expected integer"
    # for object/array/other: skip deeper checks here
    return True, None

print("\n== Type checks for fields present in file ==")
type_issues = []
for k, v in proof_data.items():
    spec = properties.get(k, {})
    ok, msg = check_type(k, v, spec)
    if not ok:
        type_issues.append((k, v, msg))
print("Type issues:", type_issues)
PY

Repository: SatyaLens/sources

Length of output: 806


🏁 Script executed:

python3 - <<'PY'
import hashlib

uri = "https://www.cnbc.com/2026/05/12/waymo-recalls-3800-robotaxis-after-able-drive-into-standing-water.html"
val = "600067e3dbc11830d674c1fdcf252e01fa978c5c95e3873c23065c87d11f97af"

for algo in ["sha256","sha512"]:
    h = getattr(hashlib, algo)(uri.encode("utf-8")).hexdigest()
    print(algo, h)
print("matches_claimUriDigest?", hashlib.sha256(uri.encode("utf-8")).hexdigest()==val)
PY

Repository: SatyaLens/sources

Length of output: 299


🏁 Script executed:

python3 - <<'PY'
import yaml
from pathlib import Path
oapi = Path("oapi.yaml")
doc = yaml.safe_load(oapi.read_text(encoding="utf-8"))
proof = doc["components"]["schemas"]["Proof"]
print("Proof.required:", proof.get("required"))
props = proof.get("properties", {})
for k in ["uriDigest","claimUriDigest"]:
    print("\nProperty:", k)
    spec = props.get(k, {})
    for field in ["type","description","format","pattern","minLength","maxLength","minimum","maximum","enum","example","items","allOf","oneOf","anyOf","nullable"]:
        if field in spec:
            print(f"  {field}: {spec[field]}")
    # print whole spec if short
    print("  keys:", list(spec.keys()))
PY

Repository: SatyaLens/sources

Length of output: 625


Fix Proof YAML schema compliance for proofs/waymo_pauses_robotaxis_in_five/www_cnbc_com.yaml

  • The file uses JSON-style quoted keys; coding guidelines require YAML formatting for proofs/ docs.
  • The Proof schema requires uriDigest; it’s missing here (provided fields match expected types).
🔧 Proposed fix to convert to YAML format
-"claimUriDigest": "600067e3dbc11830d674c1fdcf252e01fa978c5c95e3873c23065c87d11f97af"
-"reviewedBy": "semmet95"
-"supportsClaim": true
-"uri": "https://www.cnbc.com/2026/05/12/waymo-recalls-3800-robotaxis-after-able-drive-into-standing-water.html"
+claimUriDigest: "600067e3dbc11830d674c1fdcf252e01fa978c5c95e3873c23065c87d11f97af"
+reviewedBy: "semmet95"
+supportsClaim: true
+uri: "https://www.cnbc.com/2026/05/12/waymo-recalls-3800-robotaxis-after-able-drive-into-standing-water.html"

Add uriDigest as the SHA-256 hash of the uri:
ed9a00eeda69f9c69d9a9386d70ffc0168235fb7a6e51901ec5e0d7535e94530.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@proofs/waymo_pauses_robotaxis_in_five/www_cnbc_com.yaml` around lines 1 - 4,
The proof file proofs/waymo_pauses_robotaxis_in_five/www_cnbc_com.yaml currently
uses JSON-style quoted keys and the wrong field name claimUriDigest; convert the
document to proper YAML mapping (unquoted keys, standard YAML boolean/null
formatting) and replace/rename claimUriDigest with the required uriDigest field,
setting uriDigest to the provided SHA-256 value
ed9a00eeda69f9c69d9a9386d70ffc0168235fb7a6e51901ec5e0d7535e94530 while keeping
reviewedBy, supportsClaim, and uri with their current values and types.

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 27 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="proofs/waymo_pauses_robotaxis_in_five/www_cnbc_com.yaml">

<violation number="1" location="proofs/waymo_pauses_robotaxis_in_five/www_cnbc_com.yaml:4">
P1: Missing required `uriDigest` field. The `Proof` schema requires `uriDigest` (the SHA-256 hex digest of the `uri`), but this file omits it. This will fail schema validation. The expected value is `ed9a00eeda69f9c69d9a9386d70ffc0168235fb7a6e51901ec5e0d7535e94530`.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

"claimUriDigest": "600067e3dbc11830d674c1fdcf252e01fa978c5c95e3873c23065c87d11f97af"
"reviewedBy": "semmet95"
"supportsClaim": true
"uri": "https://www.cnbc.com/2026/05/12/waymo-recalls-3800-robotaxis-after-able-drive-into-standing-water.html"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Missing required uriDigest field. The Proof schema requires uriDigest (the SHA-256 hex digest of the uri), but this file omits it. This will fail schema validation. The expected value is ed9a00eeda69f9c69d9a9386d70ffc0168235fb7a6e51901ec5e0d7535e94530.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At proofs/waymo_pauses_robotaxis_in_five/www_cnbc_com.yaml, line 4:

<comment>Missing required `uriDigest` field. The `Proof` schema requires `uriDigest` (the SHA-256 hex digest of the `uri`), but this file omits it. This will fail schema validation. The expected value is `ed9a00eeda69f9c69d9a9386d70ffc0168235fb7a6e51901ec5e0d7535e94530`.</comment>

<file context>
@@ -0,0 +1,4 @@
+"claimUriDigest": "600067e3dbc11830d674c1fdcf252e01fa978c5c95e3873c23065c87d11f97af"
+"reviewedBy": "semmet95"
+"supportsClaim": true
+"uri": "https://www.cnbc.com/2026/05/12/waymo-recalls-3800-robotaxis-after-able-drive-into-standing-water.html"
</file context>

@semmet95 semmet95 closed this May 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant