Skip to content

chore: 作業環境整理 (settings.json 環境変数 + todo.md 完了タスク削除) - #53

Merged
aloekun merged 2 commits into
masterfrom
chore/workspace-cleanup
Apr 18, 2026
Merged

chore: 作業環境整理 (settings.json 環境変数 + todo.md 完了タスク削除)#53
aloekun merged 2 commits into
masterfrom
chore/workspace-cleanup

Conversation

@aloekun

@aloekun aloekun commented Apr 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • .claude/settings.jsonCLAUDE_CODE_USE_POWERSHELL_TOOL=1 を追加
  • docs/todo.md から完了タスク 3 件 (旧 3〜5) を削除し、後続タスクを 3・4 にリナンバリング

削除した完了タスク

Test plan

  • todo.md の番号が 1〜4 で連続していることを確認
  • quality_gate (lint/test/build/rust-test) PASS

Summary by CodeRabbit

リリースノート

  • Chores

    • 環境設定に環境変数オーバーライドの指定を追加しました。
  • Documentation

    • PR 監視を並行実行する観測タスクの設計を追加(状態変化の早期検出・通知化に関する仕様)。
    • takt 自動修正での差分取り扱いを分離する方針と検証タスクを追記(実装未完・設計確定)。

@coderabbitai

coderabbitai Bot commented Apr 18, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

.claude/settings.jsonに環境変数CLAUDE_CODE_USE_POWERSHELL_TOOLを追加して設定を拡張。docs/todo.mdではPR監視の並行BGタスク導入案と、takt自動修正でのamend問題を回避するための修正差分を別コミット化する方針の設計記載を追加・入れ替え。

Changes

Cohort / File(s) Summary
設定ファイル更新
\.claude/settings.json
envブロックを追加し、CLAUDE_CODE_USE_POWERSHELL_TOOL"1" に設定。既存の permissions には変更なし。
タスク進捗管理ドキュメント更新
docs/todo.md
タスク順序を入れ替え。PR状態ファイル(pr-monitor-state.json)をポーリングする観測用BGタスクの設計(未実装)を追加し、action_required/approved 検知で stdout 出力するフローを記載。takt自動修正時の amend 問題を解消するため、修正差分を新しい子コミットとして分離する方針と実装検討項目を追加。既存の3〜5番タスクの一部削除・整理。

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed プルリクエストのタイトルは、主な変更内容(settings.json への環境変数追加と todo.md の完了タスク削除)を明確かつ簡潔に要約しており、変更セットの主要な目的を適切に反映している。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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 and usage tips.

@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: 3

🧹 Nitpick comments (2)
docs/todo.md (2)

47-58: markdownlint 警告の解消(任意)。

Line 47 のコードブロックに言語指定がないため、markdownlint が警告を出しています。テキスト図であることを明示するために、言語タグ text を追加することを検討してください。

🎨 修正案
-  ```
+  ```text
   Claude Code が 2 つの BG タスクを同時起動:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/todo.md` around lines 47 - 58, Update the fenced code block that starts
with "```" before the line "Claude Code が 2 つの BG タスクを同時起動:" to include a
language tag by changing the opening fence to "```text" so markdownlint
recognizes it as a plain-text block; keep the rest of the block unchanged and
ensure the closing "```" remains.

98-98: decide_repush の比較構文が不正確です。

decide_repush == HasChange という表記が複数箇所にありますが、decide_repush は関数であり、その戻り値は RepushDecision enum です。正確には以下のいずれかで表記すべきです:

  • decide_repush(..) == RepushDecision::HasChange
  • decide_repush() の結果が HasChange の場合」

該当箇所:

  • Line 98: 「decide_repush == HasChange のみ分離」
  • Line 107: 「HasChange の場合のみ分離」
  • Line 118: 「decide_repush == HasChange のみ」
✏️ 修正案
-  - takt 実行後、`@` の内容が変わっていれば (`decide_repush == HasChange`)、修正差分を**新しい子コミット**として分離する
+  - takt 実行後、`@` の内容が変わっていれば (`decide_repush()` の結果が `RepushDecision::HasChange`)、修正差分を**新しい子コミット**として分離する
-    - HasChange の場合のみ分離。NoChange (amend なし) は既存のスキップ動作
+    - `RepushDecision::HasChange` の場合のみ分離。`NoChange` (amend なし) は既存のスキップ動作
-  - コミット分離は `decide_repush == HasChange` のみ。NoChange (takt が実質変更なし) の場合は既存 no-op
+  - コミット分離は `decide_repush()` の結果が `RepushDecision::HasChange` の場合のみ。`NoChange` (takt が実質変更なし) の場合は既存 no-op

Also applies to: 106-107, 118-118

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/todo.md` at line 98, Update the inaccurate comparisons that use
"decide_repush == HasChange" to properly reflect that decide_repush is a
function returning a RepushDecision; change those occurrences to either
"decide_repush(..) == RepushDecision::HasChange" or rephrase to "the result of
decide_repush() is HasChange" so the docs reference the function call and the
RepushDecision::HasChange enum variant (look for occurrences mentioning
decide_repush and HasChange, e.g., the three places flagged in the review).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/todo.md`:
- Line 55: ドキュメントと実装で状態ファイルパスが不一致しています; 修正はどちらかに統一してください —
もし実装をドキュメントに合わせるなら、src/cli-pr-monitor/src/state.rs の state_file_path()
を変更して実行ファイルのディレクトリではなくホームか実行ディレクトリ直下の ".claude" サブディレクトリを参照するようにし、".claude"
ディレクトリがなければ作成する(PathBuf::join(".claude") と std::fs::create_dir_all を使う)ことで
".claude/pr-monitor-state.json" を返すようにしてください; 逆にドキュメントを実装に合わせるなら docs/todo.md
の該当箇所を "pr-monitor-state.json"(実行ファイルと同じディレクトリに作成されることを明記)に書き換えてください.
- Line 104: ドキュメント内の誤ったファイル参照を修正してください。`src/cli-pr-monitor/src/stages/push.rs`
と書かれている箇所を正しい実装ファイル `src/cli-pr-monitor/src/stages/repush.rs` に置き換え、併せて該当関数名
`run_push()` と `execute_repush_flow()`
がそのファイルに実装されている旨を記載して、調査対象と動作確認手順が正しいファイル/関数を参照するようにしてください。
- Line 65: start_monitoring() と run_poll_loop() が常にファインディングを報告してしまうため、finding の
notified フラグを参照して再通知を防ぐロジックを追加してください: ファインディングを検出した直後(報告/emit の直前)に
finding.notified を読み、true なら報告処理をスキップし、false の場合のみ報告を行って報告成功時に finding.notified
を true に永続化する実装に変更してください。CLI の --mark-notified が使われた分岐(該当するパーシスト/更新処理)も必ず
notified を恒久的に保存するよう確認し、start_monitoring/run_poll_loop
内での並行実行時の競合を避けるために該当更新箇所でトランザクションまたはロックを用いることを忘れないでください.

---

Nitpick comments:
In `@docs/todo.md`:
- Around line 47-58: Update the fenced code block that starts with "```" before
the line "Claude Code が 2 つの BG タスクを同時起動:" to include a language tag by changing
the opening fence to "```text" so markdownlint recognizes it as a plain-text
block; keep the rest of the block unchanged and ensure the closing "```"
remains.
- Line 98: Update the inaccurate comparisons that use "decide_repush ==
HasChange" to properly reflect that decide_repush is a function returning a
RepushDecision; change those occurrences to either "decide_repush(..) ==
RepushDecision::HasChange" or rephrase to "the result of decide_repush() is
HasChange" so the docs reference the function call and the
RepushDecision::HasChange enum variant (look for occurrences mentioning
decide_repush and HasChange, e.g., the three places flagged in the review).
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ff321936-f587-4827-ac4b-796be364da57

📥 Commits

Reviewing files that changed from the base of the PR and between ca6c0e3 and d5cb8c9.

📒 Files selected for processing (2)
  • .claude/settings.json
  • docs/todo.md

Comment thread docs/todo.md Outdated
Comment thread docs/todo.md Outdated
Comment thread docs/todo.md
- **案 B (明示)**: `jj split` で元コミットから fix 差分だけを切り出して child にする
- 案 A の方がシンプル。元コミットは不変、子コミットに `fix(review): ...` 相当の description を付けて push
- **タスク分解**:
- [ ] `src/cli-pr-monitor/src/stages/push.rs` の `run_push` 調査 + 既存の `jj new` 動作確認 (どのタイミングで走るか)

@coderabbitai coderabbitai Bot Apr 18, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

ファイル名が正しくありません。

push.rs と記載されていますが、実装は src/cli-pr-monitor/src/stages/repush.rs にあります。run_push() 関数と execute_repush_flow() 関数はこのファイルに実装されています。

📝 修正案
-  - [ ] `src/cli-pr-monitor/src/stages/push.rs` の `run_push` 調査 + 既存の `jj new` 動作確認 (どのタイミングで走るか)
+  - [ ] `src/cli-pr-monitor/src/stages/repush.rs` の `run_push` 調査 + 既存の `jj new` 動作確認 (どのタイミングで走るか)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- [ ] `src/cli-pr-monitor/src/stages/push.rs``run_push` 調査 + 既存の `jj new` 動作確認 (どのタイミングで走るか)
- [ ] `src/cli-pr-monitor/src/stages/repush.rs``run_push` 調査 + 既存の `jj new` 動作確認 (どのタイミングで走るか)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/todo.md` at line 104,
ドキュメント内の誤ったファイル参照を修正してください。`src/cli-pr-monitor/src/stages/push.rs`
と書かれている箇所を正しい実装ファイル `src/cli-pr-monitor/src/stages/repush.rs` に置き換え、併せて該当関数名
`run_push()` と `execute_repush_flow()`
がそのファイルに実装されている旨を記載して、調査対象と動作確認手順が正しいファイル/関数を参照するようにしてください。

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

False positive. run_push is defined in src/cli-pr-monitor/src/stages/push.rs (line 15) and re-exported via repush.rs (use crate::stages::push::run_push;). The task 4 description correctly references its definition site.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify the claim: check if push.rs exists and contains run_push definition
fd 'push.rs' src/cli-pr-monitor
echo "---"
rg -n 'run_push' src/cli-pr-monitor --type rust
echo "---"
rg -n 'fn run_push' src/cli-pr-monitor --type rust

Length of output: 435


@aloekun、おっしゃる通りです。コードを確認しました:

  • run_push の定義: src/cli-pr-monitor/src/stages/push.rs (line 15) — pub(crate) fn run_push(config: &FixConfig) -> bool
  • repush.rsuse crate::stages::push::run_push; でインポートして呼び出すだけ

todo.md のタスク 4 の参照先は正しいです。誤った指摘をお詫びします。


✏️ Learnings added
Learnt from: aloekun
Repo: aloekun/claude-code-hook-test PR: 53
File: docs/todo.md:106-106
Timestamp: 2026-04-18T08:42:49.400Z
Learning: In `aloekun/claude-code-hook-test`, within `src/cli-pr-monitor`, `run_push()` is defined in `src/cli-pr-monitor/src/stages/push.rs` (line 15) as `pub(crate) fn run_push(config: &FixConfig) -> bool`. It is imported and called from `src/cli-pr-monitor/src/stages/repush.rs` via `use crate::stages::push::run_push;`. Do NOT flag references to `push.rs` for `run_push` as incorrect — `push.rs` is the canonical definition site.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.


🧠 Learnings used
Learnt from: CR
Repo: aloekun/claude-code-hook-test PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-17T09:48:58.420Z
Learning: Implement Post-PR Monitor for automatic CI and CodeRabbit monitoring after push/PR creation (ADR-009, superseded by ADR-018 for daemon+CronCreate parts)

Learnt from: CR
Repo: aloekun/claude-code-hook-test PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-17T09:48:58.420Z
Learning: Share takt facets (fix/supervise) between pre-push and post-PR phases (ADR-020)

Learnt from: CR
Repo: aloekun/claude-code-hook-test PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-17T09:48:58.420Z
Learning: Limit push-time review to simplicity checks; delegate architectural review to post-PR phase (ADR-027)

Learnt from: CR
Repo: aloekun/claude-code-hook-test PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-17T09:48:58.420Z
Learning: Follow automation responsibility separation principle (ADR-022): limit takt/claude-p/cli-* side effects to code fixes and report generation only

Learnt from: aloekun
Repo: aloekun/claude-code-hook-test PR: 44
File: src/cli-pr-monitor/src/stages/repush.rs:40-54
Timestamp: 2026-04-16T15:41:14.368Z
Learning: In `aloekun/claude-code-hook-test`, `auto_push_severity` in `src/cli-pr-monitor` is a configuration preset (not a severity threshold comparator). Valid values are "none" / "critical" / "major", where both "critical" and "major" mean "always auto push" per ADR-019 L44-46. The function `should_auto_push(setting: &str)` in `src/cli-pr-monitor/src/stages/repush.rs` correctly returns `true` for both "critical" and "major" — do NOT flag this as missing threshold comparison logic. ADR-019 L52 prohibits double-judging AI evaluations in Rust, and ADR-019 L78 prohibits raw-findings-based auto push judgment.

Learnt from: aloekun
Repo: aloekun/claude-code-hook-test PR: 38
File: src/cli-pr-monitor/src/runner.rs:109-115
Timestamp: 2026-04-15T05:44:09.231Z
Learning: The `cli-pr-monitor` tool in `aloekun/claude-code-hook-test` is Windows-only. Hardcoded `.exe` suffixes (e.g., in `checker_exe_path()` in `src/cli-pr-monitor/src/runner.rs` and error messages in `src/cli-pr-monitor/src/stages/daemon.rs`) are intentional. Cross-platform support is not required.

Learnt from: CR
Repo: aloekun/claude-code-hook-test PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-17T09:48:58.420Z
Learning: Use takt-based push-runner for Push Pipeline execution (ADR-015, supersedes ADR-008 push-phase)

Learnt from: aloekun
Repo: aloekun/claude-code-hook-test PR: 36
File: docs/adr/adr-016-long-running-command-strategy.md:32-44
Timestamp: 2026-04-14T15:56:49.970Z
Learning: In `claude-code-hook-test`, the push-runner (`src/cli-push-runner`) has two independent timeout layers:
1. Bash tool `timeout` (e.g., 600000ms): applies to the entire `pnpm push` process tree.
2. push-runner `push.timeout` / `DEFAULT_PUSH_TIMEOUT_SECS` (300s): applies only to the `jj git push` command inside `run_push()` in `src/cli-push-runner/src/stages/push.rs`. These two layers do not conflict.

@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.

♻️ Duplicate comments (1)
docs/todo.md (1)

106-106: ⚠️ Potential issue | 🟡 Minor

ファイル名が正しくありません。

push.rs と記載されていますが、実装は src/cli-pr-monitor/src/stages/repush.rs にあります。run_push() 関数と execute_repush_flow() 関数はこのファイルに実装されています。

📝 修正案
-  - [ ] `src/cli-pr-monitor/src/stages/push.rs` の `run_push` 調査 + 既存の `jj new` 動作確認 (どのタイミングで走るか)
+  - [ ] `src/cli-pr-monitor/src/stages/repush.rs` の `run_push` 調査 + 既存の `jj new` 動作確認 (どのタイミングで走るか)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/todo.md` at line 106, Update the TODO entry to reference the correct
implementation file and functions: change the mention of `push.rs` to the actual
module that contains the implementation and verify the function names
`run_push()` and `execute_repush_flow()` are correctly attributed to that
module; ensure the line now points to the file containing
`execute_repush_flow()` and `run_push()` (the repush implementation) so readers
can find the real code.
🧹 Nitpick comments (1)
docs/todo.md (1)

47-47: フェンスコードブロックに言語指定を追加してください。

markdown のベストプラクティスとして、フェンスコードブロックには言語識別子を指定することが推奨されます。

♻️ 修正案
-  ```
+  ```text
   Claude Code が 2 つの BG タスクを同時起動:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/todo.md` at line 47, The fenced code block closing/backticks currently
lacks a language identifier; update the opening fence for the snippet that
begins with "Claude Code が 2 つの BG タスクを同時起動:" to include a language tag (e.g.,
change the opening "```" to "```text") so the block reads with a language
identifier and follows Markdown best practices.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@docs/todo.md`:
- Line 106: Update the TODO entry to reference the correct implementation file
and functions: change the mention of `push.rs` to the actual module that
contains the implementation and verify the function names `run_push()` and
`execute_repush_flow()` are correctly attributed to that module; ensure the line
now points to the file containing `execute_repush_flow()` and `run_push()` (the
repush implementation) so readers can find the real code.

---

Nitpick comments:
In `@docs/todo.md`:
- Line 47: The fenced code block closing/backticks currently lacks a language
identifier; update the opening fence for the snippet that begins with "Claude
Code が 2 つの BG タスクを同時起動:" to include a language tag (e.g., change the opening
"```" to "```text") so the block reads with a language identifier and follows
Markdown best practices.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fbb13e88-41ae-42f5-a2c0-a21ae2e07395

📥 Commits

Reviewing files that changed from the base of the PR and between d5cb8c9 and 7bfe12e.

📒 Files selected for processing (1)
  • docs/todo.md

@aloekun
aloekun merged commit b30616a into master Apr 18, 2026
1 check passed
@aloekun
aloekun deleted the chore/workspace-cleanup branch April 18, 2026 08:43
aloekun added a commit that referenced this pull request Apr 18, 2026
jj new 直後の「@ 空 / bookmark は @- 上」構成 (PR #53 実測) で
PR detection が空振りする問題を解消。

- BOOKMARK_SEARCH_REVSETS = ["@", "@-", "@--"] で近い順に探索
- trunk bookmark (master/main/trunk/develop) を除外し、fresh checkout で
  @- が master を指す状態での false hit を防止
- get_jj_bookmarks を parse / query / select の 3 層に分割し、
  select_from_revsets をクロージャ注入で単体テスト可能に

docs/todo.md: task 7 完了削除 + cli-pr-monitor 側の水平展開タスク新設

refs: ADR-013
aloekun added a commit that referenced this pull request Apr 18, 2026
jj new 直後の「@ 空 / bookmark は @- 上」構成 (PR #53 実測) で
PR detection が空振りする問題を解消。

- BOOKMARK_SEARCH_REVSETS = ["@", "@-", "@--"] で近い順に探索
- trunk bookmark (master/main/trunk/develop) を除外し、fresh checkout で
  @- が master を指す状態での false hit を防止
- get_jj_bookmarks を parse / query / select の 3 層に分割し、
  select_from_revsets をクロージャ注入で単体テスト可能に

docs/todo.md: task 7 完了削除 + cli-pr-monitor 側の水平展開タスク新設

refs: ADR-013
aloekun added a commit that referenced this pull request Apr 18, 2026
#54)

jj new 直後の「@ 空 / bookmark は @- 上」構成 (PR #53 実測) で
PR detection が空振りする問題を解消。

- BOOKMARK_SEARCH_REVSETS = ["@", "@-", "@--"] で近い順に探索
- trunk bookmark (master/main/trunk/develop) を除外し、fresh checkout で
  @- が master を指す状態での false hit を防止
- get_jj_bookmarks を parse / query / select の 3 層に分割し、
  select_from_revsets をクロージャ注入で単体テスト可能に

docs/todo.md: task 7 完了削除 + cli-pr-monitor 側の水平展開タスク新設

refs: ADR-013
aloekun added a commit that referenced this pull request Apr 19, 2026
…k 5)

takt 自動修正後の auto re-push で bookmark が旧 commit に取り残され remote 未反映になる
問題 (PR #53 で実測) を解消するため、cli-push-runner の push_jj_bookmark::advance_jj_bookmarks
を cli-pr-monitor に port。

- src/cli-pr-monitor/src/stages/push_jj_bookmark.rs 新設 (cli-push-runner からの port)
- run_push の jj new 後・push 前に advance_jj_bookmarks を挿入 (jj push のみ対象、失敗時は続行)
- unit テスト 6 項目 + 実 jj を使う integration テスト 1 件 (PR #53 症状の退行防止)
- log prefix は cli-pr-monitor の [action]/[state] に揃え、lib_jj_helpers::is_trunk_bookmark を再利用

共通化 (lib-jj-helpers への集約) は機能等価確認後の検討項目として TODO コメントを残す (ADR-024)。

Refs: docs/todo.md task 5, PR #50, PR #53, ADR-024
aloekun added a commit that referenced this pull request Apr 19, 2026
…k 5)

takt 自動修正後の auto re-push で bookmark が旧 commit に取り残され remote 未反映になる
問題 (PR #53 で実測) を解消するため、cli-push-runner の push_jj_bookmark::advance_jj_bookmarks
を cli-pr-monitor に port。

- src/cli-pr-monitor/src/stages/push_jj_bookmark.rs 新設 (cli-push-runner からの port)
- run_push の jj new 後・push 前に advance_jj_bookmarks を挿入 (jj push のみ対象、失敗時は続行)
- unit テスト 6 項目 + 実 jj を使う integration テスト 1 件 (PR #53 症状の退行防止)
- log prefix は cli-pr-monitor の [action]/[state] に揃え、lib_jj_helpers::is_trunk_bookmark を再利用

共通化 (lib-jj-helpers への集約) は機能等価確認後の検討項目として TODO コメントを残す (ADR-024)。

Refs: docs/todo.md task 5, PR #50, PR #53, ADR-024
aloekun added a commit that referenced this pull request Apr 19, 2026
…k 5)

takt 自動修正後の auto re-push で bookmark が旧 commit に取り残され remote 未反映になる
問題 (PR #53 で実測) を解消するため、cli-push-runner の push_jj_bookmark::advance_jj_bookmarks
を cli-pr-monitor に port。

- src/cli-pr-monitor/src/stages/push_jj_bookmark.rs 新設 (cli-push-runner からの port)
- run_push の jj new 後・push 前に advance_jj_bookmarks を挿入 (jj push のみ対象、失敗時は続行)
- unit テスト 6 項目 + 実 jj を使う integration テスト 1 件 (PR #53 症状の退行防止)
- log prefix は cli-pr-monitor の [action]/[state] に揃え、lib_jj_helpers::is_trunk_bookmark を再利用

共通化 (lib-jj-helpers への集約) は機能等価確認後の検討項目として TODO コメントを残す (ADR-024)。

Refs: docs/todo.md task 5, PR #50, PR #53, ADR-024
aloekun added a commit that referenced this pull request Apr 20, 2026
…k 5) (#61)

takt 自動修正後の auto re-push で bookmark が旧 commit に取り残され remote 未反映になる
問題 (PR #53 で実測) を解消するため、cli-push-runner の push_jj_bookmark::advance_jj_bookmarks
を cli-pr-monitor に port。

- src/cli-pr-monitor/src/stages/push_jj_bookmark.rs 新設 (cli-push-runner からの port)
- run_push の jj new 後・push 前に advance_jj_bookmarks を挿入 (jj push のみ対象、失敗時は続行)
- unit テスト 6 項目 + 実 jj を使う integration テスト 1 件 (PR #53 症状の退行防止)
- log prefix は cli-pr-monitor の [action]/[state] に揃え、lib_jj_helpers::is_trunk_bookmark を再利用

共通化 (lib-jj-helpers への集約) は機能等価確認後の検討項目として TODO コメントを残す (ADR-024)。

Refs: docs/todo.md task 5, PR #50, PR #53, ADR-024
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