Skip to content

fix(viewer): report only qualified renderer metadata on current main - #417

Open
seonghobae wants to merge 5 commits into
mainfrom
fix/viewer-bootstrap-renderer-truth-main-20260812-r2
Open

fix(viewer): report only qualified renderer metadata on current main#417
seonghobae wants to merge 5 commits into
mainfrom
fix/viewer-bootstrap-renderer-truth-main-20260812-r2

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Objective

Make buyer-visible viewer bootstrap metadata report only renderer capability that Clearfolio actually delivers.

Exact current-head evidence

  • protected base: 961f44a19c4ced87f8062b3ab9842a9a08d05235;
  • test-only RED head: 00d3e4ed1cd4515b3b649cdd01592ca13a63911a;
  • exact GREEN head: e2379d30e9abf4d71858bba9b630b121100eef86;
  • CI, Security Scan, SAST Semgrep, and fuzz: terminal-success;
  • mergeable: true;
  • unresolved review threads: zero.

Contract

Every currently delivered bootstrap advertises only the qualified PDF_JS renderer while preserving normalized source-extension metadata. Source filenames no longer fabricate DOCX, spreadsheet, slide, or text renderer adapters that are not shipped.

Scope boundary

Buyer-visible metadata truth only. Office conversion, PDF.js runtime, authentication, async controls, lifecycle, OpenAPI, credentials, and canonical documentation are unchanged.

Merge gate

Keep this exact head unchanged. Auto-merge may act only after live checks remain successful, zero valid unresolved findings remain, and a qualifying independent non-author approval is attached to this exact head. Automated evidence and predecessor reviews do not transfer.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Important

Review available on request

  • 🔍 Trigger review

Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment @coderabbitai review to review the latest changes. For a full review, comment @coderabbitai full review.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1266b85b-ef31-48c6-a389-d013c2fa5019


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.

@seonghobae
seonghobae marked this pull request as ready for review August 12, 2026 07:13
@seonghobae
seonghobae enabled auto-merge (squash) August 12, 2026 07:13

Copy link
Copy Markdown
Collaborator Author

@opencode-agent review

Please review the unchanged exact current head 05679e5c469b1a5f8021336507bdb81a59e49b86 against live protected main and repository gates. Treat checks/model output as evidence only and submit a formal review only for this exact head.

Copy link
Copy Markdown
Collaborator Author

Exact-current-head read-only review request for e2379d30e9abf4d71858bba9b630b121100eef86 on protected main 961f44a19c4ced87f8062b3ab9842a9a08d05235. CI, Security Scan, SAST Semgrep, and fuzz are terminal-success; the three-file buyer-visible metadata delta is mergeable with zero unresolved threads. Verify that bootstrap reports only qualified PDF_JS capability while retaining normalized source-extension provenance. Do not mutate the branch or bypass independent approval.

@opencode-agent review
@cwl-noema-review review
@strix review
@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

base="961f44a19c4ced87f8062b3ab9842a9a08d05235"
head="e2379d30e9abf4d71858bba9b630b121100eef86"

printf '%s\n' '== checked-out commit =='
git rev-parse HEAD
printf '%s\n' '== supplied commits =='
git show -s --format='%H%n%P%n%s' "$base" "$head"

printf '%s\n' '== changed files and stat =='
git diff --stat "$base" "$head"
git diff --name-status "$base" "$head"

printf '%s\n' '== complete supplied diff =='
git diff --find-renames --find-copies --no-ext-diff "$base" "$head"

printf '%s\n' '== changed-file outlines =='
git diff --name-only "$base" "$head" | while IFS= read -r path; do
  printf '\n-- %s --\n' "$path"
  ast-grep outline "$path" --items all --view expanded || true
done

printf '%s\n' '== renderer and provenance references =='
rg -n -C 4 --glob '!node_modules/**' --glob '!dist/**' \
  'PDF_JS|renderer|Renderer|sourceExtension|source_extension|extension.*normaliz|normaliz.*extension' .

printf '%s\n' '== pull request identity, files, checks, and reviews =='
gh pr view 417 --repo ContextualWisdomLab/clearfolio \
  --json number,url,headRefOid,baseRefOid,mergeable,reviewDecision,statusCheckRollup,reviews,files

printf '%s\n' '== review thread state =='
gh api graphql \
  -F owner='ContextualWisdomLab' \
  -F name='clearfolio' \
  -F number=417 \
  -f query='
query($owner: String!, $name: String!, $number: Int!) {
  repository(owner: $owner, name: $name) {
    pullRequest(number: $number) {
      reviewThreads(first: 100) {
        nodes {
          isResolved
          isOutdated
          path
          line
          comments(first: 20) {
            nodes { author { login } body }
          }
        }
      }
    }
  }
}' \
  --jq '.data.repository.pullRequest.reviewThreads.nodes[] |
    select(.isResolved == false) |
    {path, line, isOutdated, comments: [.comments.nodes[] | {author: .author.login, body}]}'

Length of output: 98642


@seonghobae Reviewed exact head e2379d30e9abf4d71858bba9b630b121100eef86 against base 961f44a19c4ced87f8062b3ab9842a9a08d05235.

No findings.

ViewerBootstrapResponse.from(...) now always reports rendererAdapter as PDF_JS. It retains normalized sourceExtension metadata. The tests cover Office, tabular, slide, text, PDF, and unknown source extensions. The controller tests preserve sourceExtension=docx and assert rendererAdapter=PDF_JS.

The live checks for this exact head are successful. This includes Maven tests, merge compatibility, OSV, dependency review, Trivy, Semgrep, CodeQL, fuzz, and Strix. I also checked the repository security-gate requirement from the retrieved guidance. The required evidence gates remain active and successful.

The pull request is mergeable. There are no unresolved review threads. GitHub still reports REVIEW_REQUIRED. A qualifying independent non-author approval remains required. This review does not bypass that requirement.


🧠 Learnings used
Learnt from: CR
Repo: ContextualWisdomLab/clearfolio PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-08-04T22:33:33.803Z
Learning: Every pull request must pass the required security evidence gates, including SAST/code-scanning evidence, OSV scan, dependency review, and repository-wide Trivy scanning for fixable CRITICAL/HIGH findings. Do not weaken or disable the gates; remediate findings at the source, or document only genuine false positives narrowly.
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Collaborator Author

@opencode-agent review
@coderabbitai review
@cwl-noema-review review
@strix review

Review exact head e2379d30e9abf4d71858bba9b630b121100eef86 only. Exact-head CI, Security Scan, SAST Semgrep, and fuzz are terminal-success; unresolved inline findings are zero. Verify that every delivered bootstrap advertises only the qualified PDF_JS renderer while preserving normalized source-extension metadata and never fabricating Office/text adapters.

Review read-only; preserve independent reviewer identity. Do not mutate the branch, synthesize author approval, weaken protection, or merge.

@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

repo="ContextualWisdomLab/clearfolio"
pr="417"
base="961f44a19c4ced87f8062b3ab9842a9a08d05235"
head="e2379d30e9abf4d71858bba9b630b121100eef86"

echo "== Local commit identity =="
git rev-parse HEAD
git show -s --format='base %H%nparents %P%nsubject %s' "$base"
git show -s --format='head %H%nparents %P%nsubject %s' "$head"
git merge-base --is-ancestor "$base" "$head" && echo "base-is-ancestor=true"

echo "== Exact diff file list and stat =="
git diff --name-status "$base" "$head"
git diff --stat "$base" "$head"

echo "== Exact complete diff =="
git diff --find-renames --find-copies --no-ext-diff "$base" "$head"

echo "== Changed file structure =="
git diff --name-only "$base" "$head" | while IFS= read -r f; do
  echo "-- $f --"
  ast-grep outline "$f" --items all --view expanded || true
done

echo "== Renderer and source-extension implementation references =="
rg -n -C 5 \
  -g '!node_modules/**' -g '!dist/**' -g '!build/**' \
  'rendererAdapter|RendererAdapter|PDF_JS|sourceExtension|source_extension|normalize.*[Ee]xtension|[Ee]xtension.*normalize' .

echo "== GitHub PR identity, checks, and reviews =="
gh pr view "$pr" --repo "$repo" \
  --json url,headRefOid,baseRefOid,mergeable,reviewDecision,statusCheckRollup,reviews,files

echo "== Unresolved review threads =="
gh api graphql \
  -F owner='ContextualWisdomLab' -F name='clearfolio' -F number="$pr" \
  -f query='
query($owner: String!, $name: String!, $number: Int!) {
  repository(owner: $owner, name: $name) {
    pullRequest(number: $number) {
      reviewThreads(first: 100) {
        nodes {
          isResolved
          isOutdated
          path
          line
          comments(first: 20) { nodes { author { login } body } }
        }
      }
    }
  }
}' \
  --jq '.data.repository.pullRequest.reviewThreads.nodes[]
    | select(.isResolved == false)
    | {path, line, isOutdated, comments: [.comments.nodes[] | {author: .author.login, body}]}'

Length of output: 81478


@seonghobae Reviewed exact head e2379d30e9abf4d71858bba9b630b121100eef86 against protected base 961f44a19c4ced87f8062b3ab9842a9a08d05235.

No findings.

ViewerBootstrapResponse.from(...) now reports rendererAdapter=PDF_JS for every bootstrap. It retains normalized lowercase sourceExtension metadata. The removed adapter mapping no longer fabricates Office, spreadsheet, slide, or text renderer adapters.

The tests cover qualified and non-qualified source extensions. The controller tests retain sourceExtension=docx and verify rendererAdapter=PDF_JS.

The exact head is mergeable. The relevant CI, security, SAST, fuzz, CodeQL, and Strix checks completed successfully. The unresolved review-thread query returned no threads.

GitHub still reports REVIEW_REQUIRED. A qualifying independent non-author approval remains required. This review does not approve, merge, or modify the pull request.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Collaborator Author

Exact-current-head independent review request for e2379d30e9abf4d71858bba9b630b121100eef86.

The three-file viewer-metadata truth slice is mergeable; CI, Security Scan, SAST Semgrep, and fuzz are terminal-success; unresolved inline findings are zero. Every delivered bootstrap now reports the actually shipped PDF_JS renderer while preserving normalized source-extension metadata instead of fabricating unavailable Office/text adapters. Protected main has advanced since construction, so any base update must regenerate all exact-head evidence.

@opencode-agent review
@coderabbitai review
@cwl-noema-review review
@strix review

Review this exact head read-only. Do not mutate the branch, synthesize author approval, weaken protection, or merge.

@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown

Rate Limit Exceeded

@seonghobae have exceeded the limit for the number of chat messages per hour. Please wait 29 minutes and 33 seconds before sending another message.

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