Skip to content

🎨 Palette: OpenAPI μŠ€ν‚€λ§ˆ DX κ°œμ„  및 λΆˆν•„μš”ν•œ κΈ°λ³Έκ°’ 제거 - #797

Closed
seonghobae wants to merge 2 commits into
developfrom
palette-dx-schemas-6931125032443637349
Closed

🎨 Palette: OpenAPI μŠ€ν‚€λ§ˆ DX κ°œμ„  및 λΆˆν•„μš”ν•œ κΈ°λ³Έκ°’ 제거#797
seonghobae wants to merge 2 commits into
developfrom
palette-dx-schemas-6931125032443637349

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Current exact disposition

  • protected base: develop@e06b1f3fb10903569124af011da213951e6e2473
  • exact head: f5a116de0b4fd43581363f32a56ac852444e48e1
  • current diff: 8 files

Fresh diff verification shows that the originally described OpenAPI/schema DX change is no longer present as a semantic product delta. src/newsdom_api/schemas.py differs only by formatter line wrapping around the already-existing json_schema_extra={"example": ...} value. The six test-file changes are likewise formatting-only and change no assertion or contract.

The only remaining non-formatting delta is uv.lock: pypdf 6.15.0 -> 6.16.2 plus the regenerated exceptiongroup marker. That security/dependency delta has a stronger canonical successor in #787 at exact head ebd6c71ba17151228c23d32705687097290c0c89: #787 carries the same 6.16.2 artifact hashes and marker, raises the declared pyproject.toml floor to pypdf>=6.16.2,<7.0, and adds the corresponding security regression/doctoring rather than relying on a lock-only drift.

Exact-head workflow evidence here is also not merge-complete: tests, container, CodeQL, ClusterFuzzLite, Security Scan, SAST and Scorecards succeeded, while dependency-review and quality-gate were cancelled. The existing CodeRabbit approval therefore does not turn this stale/mis-scoped tree into a protected merge candidate.

Succession decision

Close this lane under the fleet rule permitting closure only after complete valid-delta succession / no remaining valid unique delta:

  • semantic OpenAPI/schema delta: none remains on the current diff;
  • formatting-only test/schema changes: no product/test/fixture/contract value to preserve;
  • pypdf lock/security delta: completely and more strongly inherited by fix: bound /parse request body before multipart parsingΒ #787, including declaration, lock, regression and traceability.

No checks, reviews, approvals or status from this PR transfer to #787. #787 remains Draft until its own unchanged exact head satisfies then-live required checks/review/governance. This closure is not a merge, bypass, force-push, destructive rebase, or count-only cleanup.

@google-labs-jules

Copy link
Copy Markdown

πŸ‘‹ Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a πŸ‘€ emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. πŸŽ‰

ℹ️ Recent review info
βš™οΈ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: eecd6863-eef6-419d-a2f3-c201e08ea85f

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between e06b1f3 and f5a116d.

β›” Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
πŸ“’ Files selected for processing (7)
  • src/newsdom_api/schemas.py
  • tests/test_auth.py
  • tests/test_auth_deployment_contract.py
  • tests/test_auth_fail_closed_contract.py
  • tests/test_auth_protocol_edges.py
  • tests/test_project_metadata.py
  • tests/test_pypdf_security_floor.py

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


πŸ“ Walkthrough

Walkthrough

μŠ€ν‚€λ§ˆ μ˜ˆμ‹œμ™€ μ—¬λŸ¬ ν…ŒμŠ€νŠΈ 파일의 μ½”λ“œ μ„œμ‹μ„ μ •λ¦¬ν–ˆμŠ΅λ‹ˆλ‹€. κ°’, μ •κ·œμ‹ νŒ¨ν„΄, ν…ŒμŠ€νŠΈ 둜직, μ œμ–΄ 흐름은 λ³€κ²½ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

Changes

μ„œμ‹ 정리

Layer / File(s) Summary
μŠ€ν‚€λ§ˆ 및 ν…ŒμŠ€νŠΈ μ„œμ‹ 정리
src/newsdom_api/schemas.py, tests/test_auth.py, tests/test_auth_deployment_contract.py, tests/test_auth_fail_closed_contract.py, tests/test_auth_protocol_edges.py, tests/test_project_metadata.py, tests/test_pypdf_security_floor.py
ArticleNode.body_blocks μ˜ˆμ‹œ, _PDF_FILES λ¦¬ν„°λŸ΄, ν…ŒμŠ€νŠΈ 호좜, μ •κ·œμ‹ λ¬Έμžμ—΄, μ˜μ‘΄μ„± λ¬Έμžμ—΄, λ”•μ…”λ„ˆλ¦¬ 내포문을 μž¬ν¬λ§·ν–ˆμŠ΅λ‹ˆλ‹€. μ‹€ν–‰ λ™μž‘μ€ λ™μΌν•©λ‹ˆλ‹€.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: βšͺ Minimal Β· up to f5a11

μŠ€ν‚€λ§ˆ μ˜ˆμ‹œμ™€ ν…ŒμŠ€νŠΈ ν‘œν˜„ ν˜•μ‹λ§Œ μ •λ¦¬λ˜μ—ˆμœΌλ©°, 제곡된 근거상 API λ™μž‘, 인증 계약, ν…ŒμŠ€νŠΈ μ˜λ―ΈλŠ” μœ μ§€λ©λ‹ˆλ‹€. ν˜„μž¬ 병합을 막을 ꡬ체적인 μœ„ν—˜μ€ μ—†μŠ΅λ‹ˆλ‹€.

πŸš₯ Pre-merge checks | βœ… 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning 제λͺ©μ€ OpenAPI μŠ€ν‚€λ§ˆ κ°œμ„ κ³Ό κΈ°λ³Έκ°’ 제거λ₯Ό μ„€λͺ…ν•˜μ§€λ§Œ, 제곡된 λ³€κ²½ μš”μ•½μ—μ„œλŠ” ν•΄λ‹Ή κΈ°λŠ₯ 변경이 ν™•μΈλ˜μ§€ μ•Šκ³  주둜 μ½”λ“œ μ„œμ‹λ§Œ λ³€κ²½λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ‹€μ œ 변경을 λ°˜μ˜ν•˜λ„λ‘ 제λͺ©μ„ μˆ˜μ •ν•˜κ±°λ‚˜, κΈ°λ³Έκ°’ μ œκ±°μ™€ OpenAPI μ˜ˆμ‹œ 변경이 ν¬ν•¨λœ λ³€κ²½ λ‚΄μš©μ„ 확인해 μ£Όμ„Έμš”. 예: "OpenAPI μŠ€ν‚€λ§ˆ μ˜ˆμ‹œ 및 μ½”λ“œ μ„œμ‹ 정리"
Description check ⚠️ Warning μ„€λͺ…μ—λŠ” λ³€κ²½ λͺ©μ μ΄ ν¬ν•¨λ˜μ–΄ μžˆμ§€λ§Œ ν…œν”Œλ¦Ώμ˜ ## Summary, ## Git Flow target, ## Verification, ## Notes μ„Ήμ…˜κ³Ό 검증 κ²°κ³Όκ°€ μ—†μŠ΅λ‹ˆλ‹€. ν…œν”Œλ¦Ώμ— 맞좰 ν•„μˆ˜ μ„Ήμ…˜μ„ μΆ”κ°€ν•˜μ„Έμš”. λŒ€μƒ 브랜치, pytest 및 PYTHONWARNINGS=error pytest μ‹€ν–‰ κ²°κ³Ό, 릴리슀 λ˜λŠ” ν•«ν”½μŠ€ 후속 μž‘μ—…μ„ λͺ…μ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€.
βœ… Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage βœ… Passed Docstring coverage is 81.82% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 11 functions across 7 files.
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.
  • Fix all pre-merge checks with AI
✨ 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 palette-dx-schemas-6931125032443637349

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 closed this Sep 5, 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