Conversation
* ci: use pull_request_target to fix "Resource not accessible by integration" The pull_request trigger gives GITHUB_TOKEN read-only permissions in certain contexts (fork PRs, restrictive repo/org settings), causing peter-evans/create-or-update-comment and gh api DELETE calls to fail. Switch both verify_data_Integrity.yml and visualize_stopping_patterns.yml to pull_request_target, which runs with the base repo's token permissions. Explicitly checkout the PR head SHA so the correct code is validated. https://claude.ai/code/session_01Lr3k5y8UYcH26a8hndo8ek * ci: fix privilege escalation by splitting into two-workflow pattern Both verify_data_Integrity.yml and visualize_stopping_patterns.yml used pull_request_target while checking out and executing untrusted PR code (cargo run, python3) with write permissions — a known code-execution escalation path. Fix by splitting each into two workflows: - Runner workflow: triggered by pull_request (read-only token), executes untrusted PR code, uploads results as artifacts - Comment workflow: triggered by workflow_run (write permissions), only downloads trusted artifact data and manages PR comments This ensures untrusted code never runs with elevated permissions. https://claude.ai/code/session_01Lr3k5y8UYcH26a8hndo8ek * ci: add actions: read permission for cross-run artifact download actions/download-artifact@v4 with run-id requires actions: read to access artifacts from the triggering workflow run. https://claude.ai/code/session_01Lr3k5y8UYcH26a8hndo8ek * ci: use trusted event context for PR number and harden metadata reads - Use github.event.workflow_run.pull_requests[0].number instead of reading PR number from artifact files (avoids trusting artifact data) - Add conclusion == 'success' gate to visualization comment workflow so it only posts when the source workflow succeeded - Add existence/non-empty checks for metadata files with clear error messages or safe defaults https://claude.ai/code/session_01Lr3k5y8UYcH26a8hndo8ek --------- Co-authored-by: Claude <noreply@anthropic.com>
github.event.workflow_run.pull_requests[0].number can be empty when GitHub cannot resolve the PR association (e.g., head and base branch share the same name). This caused the comment step to fail on PR #1405. Use event context when available, fall back to artifact pr_number file. All downstream steps reference steps.meta.outputs.pr_number. https://claude.ai/code/session_01Lr3k5y8UYcH26a8hndo8ek Co-authored-by: Claude <noreply@anthropic.com>
- actions/labeler を v4 → v5 に更新し、labeler.yml を v5 形式に移行 - TimonVS/pr-labeler-action@v5 を追加してブランチパターンによるラベル付与を実装 - ヘッドブランチ (feature/*, fix/*, data/*, release/* 等) に基づくラベル付与 - ベースブランチ (master, dev, staging) に基づく deploy:production / deploy:dev / deploy:staging ラベル付与 - labeler.yml からブランチ記法 (deploy-prod, deploy-staging, deploy-dev) を除去 https://claude.ai/code/session_011JibAfjh65ao3VdZFJhXka Co-authored-by: Claude <noreply@anthropic.com>
* feat: add katakana-to-IPA conversion module for TTS pronunciation Rule-based converter that handles: - Palatalized sounds (拗音): キョ→kʲo, チョ→t͡ɕo, ジョ→ʤo, etc. - Moraic nasal (撥音) assimilation: ン→m/ɲ/ŋ/n/ɴ based on context - Geminate consonants (促音): ッ doubles following onset - Long vowels: オウ→oː, オオ→oː, ー→vowelː Replaces 31 hardcoded IPA mappings in Cloud Functions tts.ts with systematic pattern-based generation from katakana input. https://claude.ai/code/session_01Pjo9E2fzdLZEkvNqxXAPeQ * chore: update gRPCProto submodule with name_ipa fields Points to local branch adding optional name_ipa to Station and Line messages for TTS IPA transcription support. https://claude.ai/code/session_01Pjo9E2fzdLZEkvNqxXAPeQ * feat: wire up IPA generation in Station/Line gRPC responses Compute name_ipa from name_katakana using katakana_to_ipa() in: - Station DTO (From<Station> for GrpcStation) - Line DTO (From<Line> for GrpcLine) - StationMinimal construction in route queries The IPA field is optional and only set when the katakana input produces a non-empty transcription. https://claude.ai/code/session_01Pjo9E2fzdLZEkvNqxXAPeQ * chore: update gRPCProto submodule with StationMinimal name_ipa field https://claude.ai/code/session_01Pjo9E2fzdLZEkvNqxXAPeQ * fix: resolve clippy warnings and fmt issues in ipa module https://claude.ai/code/session_01Pjo9E2fzdLZEkvNqxXAPeQ * style: apply cargo fmt to DTO files https://claude.ai/code/session_01Pjo9E2fzdLZEkvNqxXAPeQ * bump proto submod * chore: sync proto submodule pointer * fix: improve IPA phonological rules for palatal nasal and voiced affricate gemination - Add 'j' and 'ç' to palatal assimilation check in nasal_for_following so ン before ヤ行/ヒ行 correctly produces ɲ (e.g. シンヨコハマ → ɕiɲjokohama) - Fix sokuon (ッ) handling for voiced affricates: replace dead d͡ check with actual mapped symbols dʑ/ʤ, geminating with 'd' instead of 't' * bump proto submod * test: add regression tests for voiced affricate gemination (ッジ/ッジュ) * chore: sync proto submodule pointer * revert: restore proto submodule pointer * fix(ipa): return None on unknown characters, fix geminate palatalized onsets - Change katakana_to_ipa to return Option<String>, returning None when input contains characters that cannot be converted instead of silently dropping them. - Fix geminate (ッ) handling for palatalized onsets: only duplicate the base consonant (e.g., ッキョ → kkʲo) instead of the full onset including palatalization marker (was producing kʲkʲo). - Update all call sites to use the new Option return type. https://claude.ai/code/session_01Pjo9E2fzdLZEkvNqxXAPeQ * style: fix rustfmt formatting in dto files https://claude.ai/code/session_01Pjo9E2fzdLZEkvNqxXAPeQ * fix: use consistent IPA symbol dʑ for ジ行拗音 mappings ('ジ','ョ') was using "ʤo" while ('ジ','ャ') and ('ジ','ュ') used "dʑ". Updated to "dʑo" for consistency. https://claude.ai/code/session_01Pjo9E2fzdLZEkvNqxXAPeQ * docs: fix split_onset comment to match return type (&str, &str) The comment said "or None if starts with a vowel" but the function returns (&str, &str), with an empty onset when the string starts with a vowel. https://claude.ai/code/session_01Pjo9E2fzdLZEkvNqxXAPeQ * fix: geminate only the first base consonant for multi-char onsets For onsets like "dz", strip_secondary_articulation returns the full string, causing "dzdz..." duplication. Now only the leading character of the base is pushed, matching the intended gemination behavior. https://claude.ai/code/session_01Pjo9E2fzdLZEkvNqxXAPeQ --------- Co-authored-by: Claude <noreply@anthropic.com>
* fix: handle full-width space in katakana-to-IPA conversion Station names like "ドッキョウダイガクマエ ソウカマツバラ" contain a full-width space (U+3000) which was not mapped in lookup_single, causing katakana_to_ipa to return None and nameIpa to be null. https://claude.ai/code/session_01Pjo9E2fzdLZEkvNqxXAPeQ * test: add half-width space test for katakana-to-IPA conversion Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
* fix: strip line-name suffixes (線/本線/支線) from IPA for English TTS Line names like セイブイケブクロセン were converted to IPA as "seibɯikebɯkɯɾoseɴ", but English TTS reads these as "Seibu Ikebukuro Line", making the trailing "seɴ" incorrect. Strip common suffixes (セン, ホンセン, シセン) before IPA conversion so only the proper name portion is transcribed. シンカンセン (Shinkansen) is preserved as it is used as-is in English. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * style: apply cargo fmt Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: fix strip_line_name_suffix comment to match implementation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…#1413) Instead of just removing 線/本線/支線 from the IPA, replace them with their English IPA equivalents (laɪn / meɪn laɪn) so that Google TTS correctly pronounces the line type in English. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* master<-dev (#1337) * GetRoutesMinimal RPCを実装 (#1334) * Add minimal route retrieval functionality and related proto types * Refactor code formatting for improved readability in grpc.rs and query.rs * Add line symbols to LineMinimal in get_lines_by_station_group_id * Update subproject commit reference in stationapi/proto * Add get_lines_by_id_list method and update QueryUseCase trait * Refactor import order for improved readability in grpc.rs * Use entry method for inserting line_minimal in all_lines to avoid overwriting * Refactor route_row_tree_map creation into a separate build_route_tree_map method for improved readability * Enhance line symbol handling in QueryInteractor: populate line_symbols for all lines and update line_minimal entries conditionally * Refactor line symbol handling in QueryInteractor: update all_lines conditionally based on line_symbols presence * Add AGENTS.md for automation agent and contributor workflow guidelines * Update AGENTS.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * 石橋阪大前駅ローカライズ修正 (#1336) --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * master<-dev (#1374) * SQLの致命的なバグをいくつか修正 (#1371) * ひらがな混じりで駅検索ができないバグを修正 * get_train_types_by_station_idが動かないバグを修正 * GetStationsByLineGroupIdの修正 * ユニットテスト拡充 * cargo fmt * バス路線はline_typeをOtherLineTypeに強制 (#1372) * direction_idがNULLのトリップに存在するバス停も正しく取り込むよう修正 (#1373) * direction_idがNULLのトリップに存在するバス停も正しく取り込むよう修正 GTFSの仕様ではdirection_idはオプショナルであり、NULLの場合でも バス停は有効な停留所として扱うべきである。 これまではvariant_only_with_neighbors CTEで「direction_id IS NOT NULL」 のトリップにのみ存在するバス停をフィルタリングしていたため、 早81の原宿駅前や渋谷駅東口などのバス停がレスポンスから除外されていた。 * バリアントバス停の位置推定でメイントリップに存在する隣接バス停を優先 variant_only_with_neighborsでバス停の隣接情報を選択する際に、 隣接バス停(prev_stop_id/next_stop_id)がメイントリップに存在する レコードを優先するよう修正。 これにより、原宿駅前などのバス停がより正確な位置に挿入される。 --------- Co-authored-by: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> * 西鉄データ更新 (#1375) * 春日原駅を特急停車駅に指定 * 聖マリア病院前の駅名修正 * master<-dev (#1391) * GetStationsByLineIdList RPC追加 複数のline_idを一括で処理するバッチRPCを追加。 既存のGetStationByIdList/GetLineByIdListと同じバッチパターンに従う。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * cargo fmt * get_by_line_id_vecのORDER BYを入力順序保持のCASE式に変更 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Merge pull request #1389 from TrainLCD/feature/tt-batch GetStationsByLineGroupIdList RPC追加 * get_stations_by_line_group_id_vecで列車種別を一括取得してセット (#1390) * get_stations_by_line_group_id_vecで列車種別を一括取得してセット N+1問題を回避しつつ、train_type_repository.get_by_line_group_id_vecで 複数line_group_idの列車種別を1クエリで取得し、top-levelとlines[].station の両方にセットするよう修正。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * get_stations_by_line_group_id_vecのユニットテストを追加 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ネストされた駅のtrain_typeをis_some()で明示的に検証するよう修正 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * train_typeをtrain_type_mapから常に上書きしてリーク防止 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> * 近鉄種別修正 * 近鉄種別修正 駅コード修正 --------- Co-authored-by: Tsubasa SEKIGUCHI <oss@tinykitten.me> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
…#1415) Instead of just removing 線/本線/支線 from the IPA, replace them with their English IPA equivalents (laɪn / meɪn laɪn) so that Google TTS correctly pronounces the line type in English. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* fix: IPA母音長音化ルールを削除しGoogle TTSの誤読を修正 apply_vowel_length関数(ei→eː, oɯ→oː, oo→oː)を削除。 Google TTSがeːを英語の/eɪ/と解釈し「名鉄」が「まいてつ」と 発音される問題を修正。カタカナの音素をそのまま出力するようにした。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: fmtの余分な空行とLine DTOテストの期待値を修正 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: 連続母音間にIPA音節区切りを挿入しGoogle TTSの二重母音誤読を防止 Google TTSが連続母音(ei, ou等)を英語の二重母音として解釈し 「西武」が「サイブ」と発音される問題を修正。 insert_syllable_breaks関数で母音間に「.」を挿入し、 各母音が独立した音節であることをTTSに伝える。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * test: 実在しない駅名・路線名のテストケースを削除 セイー、コウー、オオー、ラーメン、カッジ、カッジュ、ニッキョウ など架空の組み合わせのテストを削除。 ニッキョウのパターンはドッキョウダイガクマエのテストでカバー済み。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* Fix Meitetsu Nagoya Main Line station names * Fix Meitetsu Toyokawa Line station names * Fix Meitetsu Nishio and Gamagori station names * Fix Meitetsu Mikawa Line station names * Fix Meitetsu Toyota Line station names * Fix Meitetsu Tokoname and Airport station names * Fix Meitetsu Chikko Line station names * Fix Meitetsu Kowa and Chitashin station names * Fix Meitetsu Tsushima and Bisai station names * Fix Meitetsu Takehana and Hashima station names * Fix Meitetsu Inuyama Line station names * Fix Meitetsu Hiromi Line station names * Fix Meitetsu Komaki Line station names * Fix Meitetsu Kakamigahara Line station names * Fix Meitetsu Seto Line station names * Fix Meitetsu line English names * Fix Meitetsu line English names
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
🚉 停車駅の変更3 件の新しい停車パターン | 1 件の変更された停車パターン | 16 件の削除された停車パターン
✏️ 快速 (Rapid) - えちぜん鉄道三国芦原線type_cd=102, line_group_cd=1220 変更内容: 三国港: ● → ● 全駅リスト (24駅)
🗑️ 急行 (Express) - 近鉄名古屋線 / 近鉄山田線 / 近鉄鳥羽線type_cd=304, line_group_cd=111 変更内容: 63 駅削除 🗑️ 急行 (Express) - 近鉄京都線 / 近鉄橿原線type_cd=304, line_group_cd=317 変更内容: 43 駅削除 🗑️ 急行 (Express) - 近鉄京都線type_cd=304, line_group_cd=320 変更内容: 28 駅削除 🗑️ 急行 (Express) - 近鉄京都線 / 近鉄橿原線 / 近鉄天理線type_cd=304, line_group_cd=323 変更内容: 37 駅削除 🗑️ 急行 (Express) - 近鉄南大阪線 / 近鉄吉野線type_cd=304, line_group_cd=327 変更内容: 44 駅削除 🗑️ 急行 (Express) - 近鉄南大阪線 / 近鉄長野線type_cd=304, line_group_cd=331 変更内容: 24 駅削除 🗑️ 急行 (Express) - 近鉄難波線 / 近鉄奈良線type_cd=304, line_group_cd=334 変更内容: 25 駅削除 🗑️ 急行 (Express) - 近鉄大阪線 / 近鉄山田線 / 近鉄鳥羽線type_cd=304, line_group_cd=340 変更内容: 64 駅削除 🗑️ 急行 (Express) - 近鉄山田線 / 近鉄鳥羽線type_cd=304, line_group_cd=343 変更内容: 19 駅削除 🗑️ 急行 (Express) - 京都市営地下鉄烏丸線 / 近鉄京都線type_cd=304, line_group_cd=374 変更内容: 39 駅削除 🗑️ 急行 (Express) - 近鉄京都線type_cd=304, line_group_cd=377 変更内容: 19 駅削除 🗑️ 急行 (Express) - 近鉄名古屋線 / 近鉄鈴鹿線type_cd=304, line_group_cd=617 変更内容: 14 駅削除 🗑️ 区間急行 (Section Express) - 近鉄南大阪線type_cd=319, line_group_cd=326 変更内容: 28 駅削除 🗑️ 快速急行 (Rapid Express) - 阪神本線 / 阪神なんば線 / 近鉄難波線 / 近鉄奈良線type_cd=330, line_group_cd=335 変更内容: 60 駅削除 🗑️ 快速急行 (Rapid Express) - 近鉄大阪線 / 近鉄山田線 / 近鉄鳥羽線type_cd=330, line_group_cd=341 変更内容: 67 駅削除 🗑️ 快速急行 (Rapid Express) - 近鉄山田線 / 近鉄鳥羽線type_cd=330, line_group_cd=344 変更内容: 19 駅削除 🆕 区間急行 (Sub. Express) - 近鉄南大阪線type_cd=374, line_group_cd=326 変更内容: 28 駅追加 全駅リスト (28駅)
🆕 急行 (Express) - 近鉄名古屋線 / 近鉄山田線 / 近鉄鳥羽線type_cd=375, line_group_cd=111 変更内容: 63 駅追加 全駅リスト (63駅)
🆕 急行 (Express) - 近鉄京都線 / 近鉄橿原線type_cd=375, line_group_cd=317 変更内容: 43 駅追加 全駅リスト (43駅)
|
No description provided.