Skip to content

fix(viewer): remove hard-coded external company branding - #318

Closed
seonghobae wants to merge 5 commits into
mainfrom
fix/product-branding-boundary
Closed

seonghobae wants to merge 5 commits into
mainfrom
fix/product-branding-boundary

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 10, 2026 •

Copy link
Copy Markdown
Collaborator

Objective

Advance issue #317 with a bounded production-branding integrity slice. Protected main rendered Copyright (c) 2026 by HYOSUNG. All rights reserved. in the root shell and document viewer even though Clearfolio is independently distributed under Apache-2.0. This slice removes that unrelated hard-coded ownership claim without pretending the larger buyer-demo workspace problem is solved.

Fresh exact state — 2026-08-10

The former divergent branch and predecessor runs are historical. #270 is protected-main behavior. This clean branch first recreated the focused RED regression on that baseline, then applied only the two intended footer replacements.

Test-first evidence

Historical RED

Test-only head 2b7483a428c54baf41afb4d5d024189ecb891317 originally added ViewerUiBrandingContractTest without changing production. CI 31350957100, Maven job 93341547450, failed exactly the root/viewer assertions because both surfaces contained HYOSUNG.

Clean-baseline GREEN

Current head changes only the two rendered footer claims to Clearfolio Viewer · Apache-2.0 while preserving #270's controller, signed artifact, privacy, and test-evidence changes. The focused contract and full exact-head CI/security/SAST/fuzz gates are GREEN.

Scope / product truth

Changed files:

  1. src/main/java/com/clearfolio/viewer/controller/ViewerUiController.java
  2. src/test/java/com/clearfolio/viewer/controller/ViewerUiBrandingContractTest.java

This PR does not touch demo.js or dom-utils.js, which remain owned by #264, and does not duplicate #268 lifecycle, #306 Office conversion, #313 signing-key readiness, or #316 OpenAPI work.

Issue #317 still owns removal of browser/service demo authority and the truthful production workspace/session bootstrap. Removing a false company footer is not production-workspace readiness.

Merge gate

Move to Ready for ordinary independent review. Merge only if this unchanged exact head continues to satisfy every live required check, zero valid unresolved findings, the counted write-authorized independent approval required by repository policy, and expected-head-safe protection. Never infer approval from checks/comments/models and do not close issue #317 when this bounded slice integrates.

Summary by CodeRabbit

  • 변경 사항
    • 뷰어 및 데모 화면의 푸터 문구를 Clearfolio Viewer · Apache-2.0으로 업데이트했습니다.
    • 기존 HYOSUNG 브랜드가 표시되지 않고 새 푸터 문구가 정상적으로 표시되는지 검증을 추가했습니다.

@coderabbitai

coderabbitai Bot commented Aug 10, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 668ac822-6ae4-4431-b171-ead56a4b4ab0

📥 Commits

Reviewing files that changed from the base of the PR and between da1d76e and 43d9d92.

📒 Files selected for processing (1)
  • src/test/java/com/clearfolio/viewer/controller/ViewerUiBrandingContractTest.java
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/test/java/com/clearfolio/viewer/controller/ViewerUiBrandingContractTest.java

📝 Walkthrough

Walkthrough

뷰어와 데모 HTML 셸의 푸터 문구를 Clearfolio Viewer · Apache-2.0으로 변경했습니다. 루트 및 문서 뷰어 응답에서 새 브랜딩과 기존 문자열 제외를 검증합니다.

Changes

뷰어 브랜딩

Layer / File(s) Summary
브랜딩 문구 및 계약 테스트
src/main/java/com/clearfolio/viewer/controller/ViewerUiController.java, src/test/java/com/clearfolio/viewer/controller/ViewerUiBrandingContractTest.java
뷰어와 데모 셸의 푸터 문구를 변경했습니다. 루트 및 문서 뷰어 엔드포인트의 정상 응답, Clearfolio Viewer 포함, HYOSUNG 제외를 검증하는 테스트를 추가했습니다.

Estimated code review effort: 2 (Simple) | ~10분

Mergeability Score: 🔵 Low · up to 43d9d

This PR makes a localized branding correction and is supported by passing automated checks. It is mergeable with explicit owner awareness that the required independent approval must still be obtained before merging.

🚥 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 제목은 하드 코딩된 외부 회사 브랜딩 제거라는 주요 변경 사항을 정확하고 간결하게 설명합니다.
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.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/product-branding-boundary

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.

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@opencode-agent @cwl-noema-review Please independently review exact current head 076574d5145640c881290f5db4aed3ae5fdf8c1f against protected main f3cc09a9838f0f88c81a2ceae22138fab80a2edb. This is a bounded issue-#317 branding-integrity slice only: the RED head proved both rendered UI shells exposed a hard-coded unrelated company ownership claim, and the GREEN head changes only those two footer claims to Clearfolio Viewer · Apache-2.0 while preserving product identity. Exact-head CI 31351475453, Security Scan 31351475466, SAST 31351475434, and fuzz 31351475440 are successful. Verify the actual diff, licensing/branding truth, no broader demo/UI regression, current-head tests, and absence of stale/predecessor evidence. Report actionable findings or a formal review; do not infer merge approval from automated status.

@coderabbitai

coderabbitai Bot commented Aug 10, 2026 •

Copy link
Copy Markdown
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '== Checkout and ancestry =='
git rev-parse HEAD
git status --short
git cat-file -e 076574d5145640c881290f5db4aed3ae5fdf8c1f^{commit}
git cat-file -e f3cc09a9838f0f88c81a2ceae22138fab80a2edb^{commit}
git merge-base --is-ancestor f3cc09a9838f0f88c81a2ceae22138fab80a2edb 076574d5145640c881290f5db4aed3ae5fdf8c1f && echo 'base-is-ancestor=yes'
echo
echo '== Changed files and full diff =='
git diff --name-status f3cc09a9838f0f88c81a2ceae22138fab80a2edb 076574d5145640c881290f5db4aed3ae5fdf8c1f
git diff --check f3cc09a9838f0f88c81a2ceae22138fab80a2edb 076574d5145640c881290f5db4aed3ae5fdf8c1f
git diff --find-renames --find-copies --unified=80 f3cc09a9838f0f88c81a2ceae22138fab80a2edb 076574d5145640c881290f5db4aed3ae5fdf8c1f
echo
echo '== License and relevant source/test structure =='
fd -HI '^LICENSE|^NOTICE|^COPYING' . -d 2 -x sh -c 'echo "--- $1"; sed -n "1,120p" "$1"' sh {} \;
fd -HI 'ViewerUiController.*|ViewerUiBrandingContractTest.*' . -x sh -c 'echo "--- $1"; ast-grep outline "$1" --items all || true; cat -n "$1"' sh {}
echo
echo '== Branding references in tracked text files =='
rg -n -i -C 2 --glob '!**/.git/**' 'HYOSUNG|Clearfolio Viewer|Apache-2\.0|Copyright \(c\) 2026' .
echo
echo '== GitHub PR current state =='
gh pr view 318 --repo ContextualWisdomLab/clearfolio --json number,state,isDraft,mergeable,headRefOid,baseRefOid,changedFiles,files,reviews,latestReviews,statusCheckRollup,url
echo
echo '== GitHub inline review threads =='
gh api graphql -F owner='ContextualWisdomLab' -F name='clearfolio' -F number=318 -f query='
query($owner: String!, $name: String!, $number: Int!) {
  repository(owner: $owner, name: $name) {
    pullRequest(number: $number) {
      reviewThreads(first: 100) {
        nodes {
          isResolved
          isOutdated
          comments(first: 10) {
            nodes { author { login } body commit { oid } path line originalLine }
          }
        }
      }
    }
  }
}'

Length of output: 164869


@seonghobae Reviewed source head 076574d5145640c881290f5db4aed3ae5fdf8c1f against main f3cc09a9838f0f88c81a2ceae22138fab80a2edb.

No actionable findings.

  • The base commit is an ancestor of the reviewed source head.
  • The diff changes only the two footer claims in ViewerUiController and adds the focused regression test.
  • Both rendered shells now show Clearfolio Viewer · Apache-2.0.
  • The repository LICENSE is Apache License 2.0. The product identity is consistently Clearfolio Viewer.
  • ViewerUiBrandingContractTest covers both / and /viewer/{docId}. It requires product identity and rejects HYOSUNG.
  • Existing controller tests continue to protect the root buyer-demo shell and document-viewer shell contracts.
  • The exact head has successful Maven, Security Scan, Semgrep, fuzz, and CodeQL results. No formal reviews or inline review threads existed at query time.
  • The strix check was still in progress in the current GitHub status snapshot.

This review does not constitute a merge approval. The PR should remain Draft until the repository review and protection requirements are satisfied.

⚠️ 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.

@seonghobae
seonghobae force-pushed the fix/product-branding-boundary branch from 076574d to 2593408 Compare August 10, 2026 12:11
@seonghobae
seonghobae marked this pull request as ready for review August 10, 2026 12:22
@seonghobae
seonghobae enabled auto-merge (squash) August 10, 2026 12:22

Copy link
Copy Markdown
Collaborator Author

@opencode-agent @cwl-noema-review Please independently review exact current head 046176824929d5185b7431fbe5fb4eb56d1e8237 against protected main 55d7ae8647208e301f282350f076eeddaba61d11. Exact-head CI 31386947737, Security Scan 31386947787, SAST 31386947746, and fuzz 31386947790 are successful. Verify the clean two-file slice preserves #270 controller/security behavior, removes only the two false HYOSUNG ownership claims, and does not misrepresent this branding fix as issue #317 production-workspace/session-bootstrap completion. Advisory review only; do not mutate, count as human approval, merge, or weaken gates.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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
`@src/test/java/com/clearfolio/viewer/controller/ViewerUiBrandingContractTest.java`:
- Around line 37-38: Update both branding assertions in
src/test/java/com/clearfolio/viewer/controller/ViewerUiBrandingContractTest.java
at lines 37-38 and 53-54 to verify the exact footer text “<small>Clearfolio
Viewer · Apache-2.0</small>” rather than checking for a generic “Clearfolio
Viewer” presence. Ensure both the root shell and document viewer shell tests
require the complete footer branding.
🪄 Autofix

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: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9d8f6d3c-bbcf-436b-ac83-3ae95adc5cc5

📥 Commits

Reviewing files that changed from the base of the PR and between b66b692 and da1d76e.

📒 Files selected for processing (2)
  • src/main/java/com/clearfolio/viewer/controller/ViewerUiController.java
  • src/test/java/com/clearfolio/viewer/controller/ViewerUiBrandingContractTest.java

Comment thread src/test/java/com/clearfolio/viewer/controller/ViewerUiBrandingContractTest.java Outdated
@opencode-agent
opencode-agent Bot disabled auto-merge August 12, 2026 11:24
@seonghobae
seonghobae enabled auto-merge (squash) August 12, 2026 19:40

Copy link
Copy Markdown
Collaborator Author

Superseded by current-main reconstruction #447. #447 preserves this PR's two-file buyer-visible branding correction on protected main 961f44a19c4ced87f8062b3ab9842a9a08d05235, has exact-head CI/Security/SAST/fuzz success, is Ready, and has auto-merge enabled subject to independent approval and branch protection. Closing this obsolete-base duplicate prevents parallel review and merge ambiguity; no predecessor evidence transfers.

@seonghobae seonghobae closed this Aug 14, 2026
auto-merge was automatically disabled August 14, 2026 09:31

Pull request was closed

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