Phase 3: ノイズ除去 + 分類ロジック - #3
Merged
Merged
Conversation
star数閾値ではなくtopicsタグ(macos/macos-app)とインストール可能な 資産(.dmg/.zip)の存在ANDでリポジトリの発見対象を絞り込む。 Strategyパターンとして差し替え可能なNoiseFilteringプロトコルを定義。 -m "topics有無×asset有無の4象限、.pkgのみ資産の除外、大文字小文字の 非依存一致を含む7ケースをSwift Testingでカバー" Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
固定カテゴリenumと、キーワード辞書をResources/CategoryKeywords.json として外部化する読み込みロジックをセットで追加。リビルドなしで 手動メンテできるようにするための外部化。 -m "rawValueはenumケース名と同一camelCaseとし、JSONキーと直接一致 させることで変換テーブルを不要にした。未知キーはデコード時に無視する" Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
topics完全一致(3点)>リポジトリ名部分一致(2点)>README冒頭一致(1点)の 優先順位でスコアリングし、最高得点のカテゴリを採用するStrategyパターン 実装。全カテゴリ0点ならotherにフォールバックし、subTagsには分類先に 関わらず常に元のtopicsを併記する。 -m "README冒頭は先頭500文字と定義。同点タイブレークはCategory.allCases 宣言順で決定的に解決する。固定フィクスチャ辞書を注入し本番JSONの将来 変更に依存しないテストを8ケース追加" Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Phase3(NoiseFilter/Category/CategoryClassifier)の4項目を[x]化。 実装時にユーザーへ確認して確定した設計判断(subTags一律付与、 README冒頭=500文字、タイブレーク規則、プロトコル命名の動名詞スタイル) を「実装時に確定した設計判断」として追記した。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
NoiseFilter: topicsタグ(macos/macos-app)とインストール可能な資産(.dmg/.zip)のAND条件でリポジトリの発見対象を絞り込む(star数閾値は不採用)Categoryenum +Resources/CategoryKeywords.json: 固定カテゴリとリビルド不要な外部キーワード辞書CategoryClassifier: topics完全一致(3点) > リポジトリ名部分一致(2点) > README冒頭一致(1点)のスコアリングでカテゴリを自動分類し、全カテゴリ0点なら.other+元topicsをサブタグ併記NoiseFiltering/CategoryClassifyingプロトコル)で判定ロジックを差し替え可能にしたdocs/progress.mdのPhase3チェックリストを完了に更新、実装時に確定した設計判断(subTags一律付与・README冒頭=500文字・タイブレーク規則)を追記Test plan
just testで全66件のユニットテストがパス(NoiseFilterTests7件、CategoryClassifierTests8件を含む)just lintで新規違反なし(既存パターンと同様の警告のみ)🤖 Generated with Claude Code
https://claude.ai/code/session_01Wqgz7yinLxemFVe6f3NVCg