feat: ブログ連携機能を撤去(ADR-0022 / #519)#530
Conversation
経歴書へ還流せず投稿頻度スコアが逆効果になり得るブログ連携(Zenn/note 同期・ 記事一覧・スコアリング)を全量撤去する。ADR-0008 の流儀(残さず消す)に倣う。 backend: - routers/blog・services/blog・repositories/blog・models/blog・schemas/blog を削除 - main.py / 各 __init__.py の登録解除、messages.json の blog キー削除 - context_builder の _build_blog_context とブログ依存 import を削除。prompt (agent_career_summary / agent_self_pr)と test(test_agent / test_agent_context_builder)の blog_context 前提を同一 PR で更新 - drop マイグレーション 0049 を追加(子→親順で 3 テーブル削除。実 SQLite で base→head 適用を検証。downgrade は機能撤去のため no-op) - security テストの blog ケースを削除(攻撃クラスは resume/notification/ github_link で担保継続) web: - BlogPage・components/blog・api/blog・hooks/blog・未使用の Zenn/Qiita/Note アイコンを削除、routes/SidebarLayout の導線と messages.ts の blog 文言を削除 - api/index・paths・types から blog を除去、generated.ts を再生成(codegen-drift) - E2E の「別タブ遷移」検証を GitHub 連携(/github_link)へ張り替え(38 pass) docs / rules: - README・api.md・data-model.md の blog 記述を削除 - .claude/rules(architecture/agent/database)を整合更新、layers.md の blog 教材例を github intelligence collector 例へ差し替え - pyproject の mutmut scope から削除済み scorer.py を除去、CLAUDE.md/skills の blog 例を更新 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 43 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughブログ連携をバックエンド、フロントエンド、DB、エージェント参照コンテキスト、テスト、生成型、ドキュメントから削除し、GitHub連携中心の構成へ更新しています。 ChangesBlog integration removal
Estimated code review effort: 4 (Complex) | ~60 minutes Possibly related issues
Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
#519) 新規公開された js-yaml の advisory(YAML merge-key チェーンによる二次的 CPU 消費 / high)が npm audit ゲートで #530 の CI を落としていた。openapi-typescript (dev) → @redocly/openapi-core 経由の推移的依存で、自前 backend の OpenAPI スキーマ (信頼済み)を codegen する時だけ使う。本番バンドル非到達・攻撃者制御の YAML を parse しないため到達不能。npm audit fix でも解消できないため、既存 esbuild 2 件と 同じく理由・見直し期限付きで allowlist に時限追加する。 (同内容の独立 PR #531 と重複するため、本コミットが入れば #531 はクローズ可能) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
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 `@web/scripts/audit-check.mjs`:
- Around line 27-35: Update the ALLOWLIST handling in the audit-check script,
including the GHSA-52cp-r559-cp3m entry, to store reviewBy as a machine-readable
expiry and validate it before allowing an advisory. Reject entries with missing
or malformed expiry values and fail closed when the expiry has passed; retain
allowance only while the expiry is valid.
🪄 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: 0456d52a-a11a-4680-a0da-479de052dbaf
📒 Files selected for processing (1)
web/scripts/audit-check.mjs
CodeRabbit 指摘(Major): allowlist は reviewBy を文字列で持つだけで期限を強制 しておらず、見直し忘れで advisory が恒久的に握り潰される恐れがあった。 - reviewBy を "YYYY-MM-DD (説明)" の先頭日付としてパースし、実行時 UTC 日付と比較 - 期限切れ・不正日付(YYYY-MM-DD で始まらない / 暦上あり得ない値)のエントリは fail-closed(CI を落とす)。allowlist は期限内のみ有効になる - 既存 esbuild 2 件・js-yaml 1 件はいずれも reviewBy=2026-09-30(未来)のため現状 pass Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
概要
機能整理ロードマップ #517 のサブ issue #519。ADR-0022(#518 / PR #529)に従い、ブログ連携(Zenn / note 同期・記事一覧・投稿スコアリング)を全量撤去する。流儀は ADR-0008 と同じく「残さず消す」。
撤去内容
backend
routers/blog/・services/blog/・repositories/blog.py・models/blog.py・schemas/blog.pyを削除、main.py/各__init__.pyの登録解除、messages.jsonの blog キー(error 6 / success 3)削除context_builder._build_blog_contextとブログ依存 import を削除。Agent の入力契約移行として prompt 2 本(agent_career_summary/agent_self_pr)と test 2 本(test_agent/test_agent_context_builder)のblog_context前提を同一 PR で更新blog_article_tags→blog_articles→blog_accountsを削除。存在ガード付き。実 SQLite で base→head 適用を検証済み。downgrade は機能撤去のため no-op)web
BlogPage・components/blog/・api/blog.ts・hooks/blog/・未使用の Zenn/Qiita/Note アイコンを削除、routes.tsx/SidebarLayoutの導線とmessages.tsの blog 文言削除api/index・paths・typesから blog を除去、generated.tsを再生成(codegen-drift 対策)/github_link)へ張り替え(navigation / career-dirty-indicator / auth の 3 spec)docs / rules
README・api.md・data-model.mdの blog 記述を削除.claude/rules(architecture/agent/database)を整合更新、layers.mdの blog 教材例を github intelligence collector 例へ差し替えscorer.pyを除去、CLAUDE.md/skills の blog 例を更新検証
make cigreen(backend 643 passed / web 376 passed / ruff・pyright 0 / adr-index・tdd・env-keys OK / codegen-drift なし)受け入れ条件
make cigreen・E2E passgrep -ri blog backend/app web/srcで本番コードにブログ参照が残っていない(テスト・migration 履歴・既存 ADR は除く)残す blog 参照(意図的)
既存 ADR(0006/0007/0009/0010)と migration 履歴のみ。当時の決定の記録として不変(ADR-0008 が 0004 を遡及編集しなかったのと同じ流儀)。
Closes #519
🤖 Generated with Claude Code
Summary by CodeRabbit
/blogなど)を削除しました。