Skip to content
Open
12 changes: 12 additions & 0 deletions .claude/rules/nabledge-skill.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Nabledge Skill Rules

## test-setup.sh Change Impact

When modifying CC command files (`.claude/commands/n${v}.md`) or GHC prompt files (`.github/prompts/n${v}.prompt.md`), check whether the change affects `tools/tests/test-setup.sh` in the nabledge-dev repository.

`test-setup.sh` depends on these marker strings:

- **CC**: `Delegate the following task` — extracts from this line onward as the prompt
- **GHC**: `#runSubagent` — extracts from this line onward as the prompt

If these markers are removed or changed, the dynamic checks in `test-setup.sh` will FAIL.
98 changes: 98 additions & 0 deletions .pr/00252/notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Notes - Issue #252: v1.x のプロジェクトベース統一

**Date**: 2026-04-08
**Branch**: 252-fix-verify-dynamic

## 完了した作業

### 2026-04-08 セッション2

#### Task: v1.x の setup_env と verify_dynamic を v6 ベースに変更

v1.x テスト環境が SVN 由来の tutorial ディレクトリを使用していたため、`.git` がない状態で CC/GHC CLI がプロジェクトルート判定に失敗していた。これを修正。

**実装内容**:

1. **setup_env 呼び出し** (行167-172)
- v1.4, v1.3, v1.2: `$V14_PROJECT_SRC/"tutorial"` → `$V6_PROJECT_SRC/"nablarch-example-batch"`
- すべて `$HINT_V6` を使用

2. **verify_env 呼び出し** (行385-390)
- プロジェクトパス: `v1.x/test-{cc,ghc}/tutorial` → `v1.x/test-{cc,ghc}/nablarch-example-batch`

3. **verify_dynamic 呼び出し** (行401-406)
- プロジェクトパス: 同上

4. **Summary セクション** (行439-444)
- 出力パス表示: `tutorial` → `nablarch-example-batch` に更新
- 左揃えをそろえて見やすく調整

5. **クリーンアップ**
- 不要な `V14_PROJECT_SRC`, `V13_PROJECT_SRC`, `V12_PROJECT_SRC` 変数削除
- 不要な `HINT_V14`, `HINT_V13`, `HINT_V12` 削除
- 関連コメント更新(SVN 参照削除)

**ゲート**:
- ✅ `bash -n` syntax OK
- ✅ `grep -c 'tutorial'` = 0(すべての obsolete 参照削除確認)

**コミット**:
```
93d12e86 fix: unify v1.x test environment base project to v6's nablarch-example-batch (#252)
```

## 残りの作業(明日再開)

### 未実施項目(PR本体にまだ含まれていないもの)

- ベースライン削除(v1.2, v1.3, v1.4, v5 の古い実行結果)
- nabledge-test SKILL.md の更新
- workflow コード分析テンプレート削除
- スクリプト側の prefill-template.sh 修正

### 推定される次ステップ

1. **検証実行**: `bash tools/tests/test-setup.sh` で全20行の動的チェック実行
- 各バージョン CC/GHC のペアが [OK] または detection rate 50%以上を確認

2. **PR本文作成**:
```
## Summary
- v1.x テスト環境を tutorial (SVN) から v6 の nablarch-example-batch に統一
- CC/GHC プロジェクトルート判定の問題を解決
- 動的チェックはナレッジ検索のみ(読み取り専用)なので v6 ベース使用で十分

## Tasks
- [x] tools/tests/test-setup.sh v1.x パス統一
- [ ] 検証実行(setup.sh → test-setup.sh)
- [ ] PR本文作成&expert review
```

3. **Expert Review**: Software Engineer として品質確認
- 設定の一貫性
- エラーハンドリング
- テスト環境の完全性

## 技術背景

**問題**:
- v1.4/v1.3/v1.2 の tutorial は SVN チェックアウト(`.git` なし)
- CC/GHC は `.git` で git リポジトリを検出
- 見つからないと親ディレクトリを遡って nabledge-dev ルートをプロジェクト認識
- `GIT_CEILING_DIRECTORIES` で回避していたが、プロジェクトルート判定が不安定

**ソリューション**:
- 動的チェック = ナレッジ検索のみ(読み取り専用操作)
- v1.x でも v6 の nablarch-example-batch を使用可
- プロジェクトルート判定が安定(`.git` あり)

**利点**:
- テスト環境構成が単純化
- 不要な SVN 参照削除
- v1.4/v1.3/v1.2 用のダウンロード時間削除(setup.sh で SVN チェックアウト不要)

## 関連issue/PR

- Issue #252: verify_dynamic の改善
- PR #277: re-baseline nabledge-test
- nabledge-dev/nabledge-6, v5, v1.x スキル全対応
64 changes: 64 additions & 0 deletions .pr/00252/pr-body-draft.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
Closes #252

## Approach

v1.x (v1.4, v1.3, v1.2) テスト環境が SVN 由来の tutorial ディレクトリを使用していたため、`.git` がなく、CC/GHC の CLI がプロジェクトルート判定に失敗していた。

**解決策**: v1.x も v6 の `nablarch-example-batch` をベースプロジェクトとして使用
- 理由: 動的チェック(ナレッジ検索)は読み取り専用操作のため、v1.x でも v6 ベースで十分
- 効果: プロジェクトルート判定が安定し、テスト環境構成が単純化
- 削除: v1.x SVN 参照(setup.sh での tutorial チェックアウト不要に)

## Tasks

- [x] `tools/tests/test-setup.sh` で setup_env, verify_env, verify_dynamic 呼び出し更新
- [x] v1.x 用の不要な PROJECT_SRC と HINT 変数削除
- [x] 関連コメント更新(SVN 参照削除)
- [x] Syntax チェック&tutorial 参照ゼロ確認
- [ ] `bash tools/tests/test-setup.sh` で検証実行(明日実施予定)
- [ ] Expert Review

## Changes

### tools/tests/test-setup.sh

#### setup_env 呼び出し(行167-172)
```diff
-should_run "v1.4" && setup_env "v1.4/test-cc" "$V14_PROJECT_SRC" "tutorial" ...
+should_run "v1.4" && setup_env "v1.4/test-cc" "$V6_PROJECT_SRC" "nablarch-example-batch" ...
```

#### verify_env 呼び出し(行385-390)
```diff
-should_run "v1.4" && verify_env "v1.4/test-cc" "v1.4/test-cc/tutorial" "1.4" ...
+should_run "v1.4" && verify_env "v1.4/test-cc" "v1.4/test-cc/nablarch-example-batch" "1.4" ...
```

#### verify_dynamic 呼び出し(行401-406)
```diff
-should_run "v1.4" && verify_dynamic "v1.4/test-cc" "v1.4/test-cc/tutorial" "1.4" ...
+should_run "v1.4" && verify_dynamic "v1.4/test-cc" "v1.4/test-cc/nablarch-example-batch" "1.4" ...
```

#### クリーンアップ
- 削除: `V14_PROJECT_SRC`, `V13_PROJECT_SRC`, `V12_PROJECT_SRC` 変数
- 削除: `HINT_V14`, `HINT_V13`, `HINT_V12` 変数
- 更新: コメント(SVN 参照削除)

## Success Criteria

- [x] Bash syntax チェック: OK
- [x] tutorial 参照ゼロ: grep -c 'tutorial' = 0
- [ ] 検証実行で全20行が [OK] または detection rate 50%以上
- [ ] 既存テスト・動作の劣化なし

## Notes

**残りの作業は明日に予定**:
1. `bash tools/tests/test-setup.sh` で実際の検証実行
2. Expert Review (Software Engineer)
3. PR本文最終化&merge

**技術的背景**: `.claude/rules/expert-review.md` 参照

🤖 Generated with [Claude Code](https://claude.com/claude-code)
79 changes: 79 additions & 0 deletions .pr/00252/tomorrow-checklist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# 明日の実施チェックリスト

**PR #252**: v1.x のプロジェクトベース統一

## 完了済み(本日)

- [x] `tools/tests/test-setup.sh` 修正
- setup_env, verify_env, verify_dynamic の v1.x パス更新
- 不要変数・コメント削除
- Syntax OK、tutorial 参照ゼロ確認
- [x] 作業ノート作成 (`.pr/00252/notes.md`)
- [x] PR本文ドラフト作成 (`.pr/00252/pr-body-draft.md`)

## 明日の実施順序

### Step 1: 検証実行
```bash
cd /home/tie303177/work/nabledge/work3
source .env
bash tools/tests/test-setup.sh
```

**期待される結果**:
- 全20行の動的チェック(CC/GHC × v6/v5/v1.4/v1.3/v1.2 各2回)
- 各行: [OK] または detection rate 50%以上
- エラーなし

### Step 2: PR作成
```bash
# 本文ドラフトを確認してから、以下で作成
gh pr create --title "fix: unify v1.x test environment base project to v6's nablarch-example-batch (#252)" \
--body "$(cat .pr/00252/pr-body-draft.md)"
```

### Step 3: Expert Review
- **Expert**: Software Engineer
- **Focus**:
- 設定の一貫性(環境変数、パス)
- エラーハンドリング(プロジェクト見つからない場合など)
- テスト構造の完全性
- **Output**: `.pr/00252/review-by-software-engineer.md`

### Step 4: PR本文最終化
- Expert Review の結果を PR 本文に反映
- 必要に応じてコード修正(High/Medium priority issue)

## 懸念点・確認事項

### 1. v1.x でも v6 ベース使用の妥当性

✅ **確認済み**: 動的チェックはナレッジ検索のみ(読み取り専用)
- v1.4/v1.3/v1.2 の特定シナリオ(qa-001など)で v6 ベースで十分
- 問題なければ検証実行で detection rate 50%以上を確認予定

### 2. 不要変数の削除について

✅ **判断**: 削除を実施した
- `V14_PROJECT_SRC`, `V13_PROJECT_SRC`, `V12_PROJECT_SRC`
- `HINT_V14`, `HINT_V13`, `HINT_V12`
- コード内で参照されていないため削除しても問題なし

### 3. Baseline 削除はこのPR?

❓ **未定**: PR本文には含めない
- 別途のbaseline cleanup PR として実施する可能性あり
- このPRはツール設定(test-setup.sh)のみフォーカス

## ファイル参照

- 修正内容: `tools/tests/test-setup.sh`
- 作業ノート: `.pr/00252/notes.md`
- PR本文案: `.pr/00252/pr-body-draft.md`
- ルール: `.claude/rules/expert-review.md`

## 関連PR・Issue

- Issue #252: verify_dynamic の改善
- Issue #277: nabledge-test re-baseline
- 前提: setup.sh で v6/v5 のみダウンロード(v1.x は tutorial チェックアウト不要に)
Loading