Skip to content

Commit 5e97fba

Browse files
web-flowclaude
andcommitted
docs: ドキュメント品質改善 (FAQ検索ガイド, テスト一覧, TypedDictスキーマ)
- FAQ.md: GitHub/VS Code検索ガイドを追加 - TESTING.md: CI/CDバッジ、層別テスト一覧、カバレッジ目標を追加 - domain.md: 主要TypedDictの完全スキーマを追加 (TypeScript形式) - CHANGELOG.md: v3.2.0エントリを追加 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 51b74f6 commit 5e97fba

4 files changed

Lines changed: 189 additions & 0 deletions

File tree

EpisodicRAG/CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
---
99

10+
## [3.2.0] - 2025-11-29
11+
12+
### Added
13+
14+
- **FAQ.md**: GitHub検索機能での横断検索ガイドを追加
15+
- リポジトリ内検索(GitHub Web)の案内
16+
- ローカル検索(VS Code)の案内
17+
- 用語インデックスへの参照
18+
19+
- **TESTING.md**: テストドキュメント拡充
20+
- GitHub Actions CI/CDバッジ追加
21+
- Codecovカバレッジレポートへのリンク追加
22+
- 層別テストファイル一覧表追加
23+
- カバレッジ目標表追加
24+
- ローカルカバレッジ実行コマンド追加
25+
26+
- **api/domain.md**: 主要TypedDictの完全スキーマを追加
27+
- ConfigData(config.json全体構造)
28+
- ShadowDigestData(ShadowGrandDigest.txt全体構造)
29+
- GrandDigestData(GrandDigest.txt全体構造)
30+
- RegularDigestData(確定済みDigestファイル)
31+
- IndividualDigestData(個別ダイジェスト要素)
32+
- TypeScript形式でスキーマを表現
33+
34+
---
35+
1036
## [3.1.0] - 2025-11-29
1137

1238
### Added

EpisodicRAG/docs/dev/api/domain.md

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,115 @@ class ProvisionalDigestFile(TypedDict):
142142
| `DigestTimesData` | `Dict[str, DigestTimeData]`のエイリアス |
143143
| `ProvisionalDigestEntry` | Provisional Digestの各エントリ |
144144

145+
### 主要TypedDictスキーマ
146+
147+
JSONファイル構造を理解するためのスキーマ定義です(TypeScript形式で表現、`?`はオプショナル)。
148+
149+
#### ConfigData(config.json全体構造)
150+
151+
```typescript
152+
interface ConfigData {
153+
base_dir?: string; // plugin_rootからの相対パス
154+
paths?: {
155+
loops_dir?: string; // Loopファイル配置先
156+
digests_dir?: string; // Digest出力先
157+
essences_dir?: string; // GrandDigest配置先
158+
identity_file_path?: string | null; // 外部Identity.mdパス
159+
};
160+
levels?: {
161+
weekly_threshold?: number; // デフォルト: 5
162+
monthly_threshold?: number; // デフォルト: 5
163+
quarterly_threshold?: number; // デフォルト: 3
164+
annual_threshold?: number; // デフォルト: 4
165+
triennial_threshold?: number; // デフォルト: 3
166+
decadal_threshold?: number; // デフォルト: 3
167+
multi_decadal_threshold?: number; // デフォルト: 3
168+
centurial_threshold?: number; // デフォルト: 4
169+
};
170+
}
171+
```
172+
173+
#### ShadowDigestData(ShadowGrandDigest.txt全体構造)
174+
175+
```typescript
176+
interface ShadowDigestData {
177+
metadata: {
178+
version: string; // "1.0"
179+
last_updated: string; // ISO 8601形式
180+
digest_level?: string;
181+
digest_number?: string;
182+
};
183+
latest_digests: {
184+
[level: string]: { // "weekly", "monthly" など
185+
overall_digest?: {
186+
timestamp?: string;
187+
source_files?: string[];
188+
digest_type?: string;
189+
keywords?: string[];
190+
abstract?: string;
191+
impression?: string;
192+
} | null;
193+
individual_digests?: IndividualDigestData[];
194+
source_files?: string[];
195+
};
196+
};
197+
}
198+
```
199+
200+
#### GrandDigestData(GrandDigest.txt全体構造)
201+
202+
```typescript
203+
interface GrandDigestData {
204+
metadata: {
205+
version: string; // "1.0"
206+
last_updated: string; // ISO 8601形式
207+
};
208+
major_digests: {
209+
[level: string]: { // "weekly", "monthly" など
210+
overall_digest?: OverallDigestData | null;
211+
};
212+
};
213+
}
214+
```
215+
216+
#### RegularDigestData(確定済みDigestファイル)
217+
218+
```typescript
219+
interface RegularDigestData {
220+
metadata: {
221+
version: string;
222+
last_updated: string;
223+
digest_level: string; // "weekly", "monthly" など
224+
digest_number: string; // "W0001", "M001" など
225+
source_count?: number;
226+
};
227+
overall_digest: {
228+
name?: string; // タイトル
229+
timestamp: string;
230+
source_files: string[];
231+
digest_type: string;
232+
keywords: string[];
233+
abstract: string; // 最大2400文字
234+
impression: string; // 最大800文字
235+
};
236+
individual_digests: IndividualDigestData[];
237+
}
238+
```
239+
240+
#### IndividualDigestData(個別ダイジェスト要素)
241+
242+
```typescript
243+
interface IndividualDigestData {
244+
source_file: string; // "L00001_タイトル.txt"
245+
digest_type: string; // "洞察", "問題解決" など
246+
keywords: string[]; // 最大5個
247+
abstract: string; // 最大1200文字
248+
impression: string; // 最大400文字
249+
}
250+
```
251+
252+
> 📖 完全な型定義は [scripts/domain/types.py](../../../scripts/domain/types.py) を参照
253+
145254
---
146255

147256
## 関数(domain/file_naming.py)

EpisodicRAG/docs/user/FAQ.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,20 @@ flowchart TB
140140

141141
> 📖 詳細: [ARCHITECTURE.md](../dev/ARCHITECTURE.md#テスト)[CONTRIBUTING.md](../../CONTRIBUTING.md#テスト)
142142
143+
### Q: ドキュメント内で特定のキーワードを検索したい
144+
145+
**A**: GitHubの検索機能またはローカル検索を使用してください。
146+
147+
```text
148+
# リポジトリ内検索(GitHub Web)
149+
https://github.com/Bizuayeu/Plugins-Weave で "キーワード" を検索
150+
151+
# ローカル検索(VS Code)
152+
Ctrl+Shift+F → plugins-weave フォルダで検索
153+
```
154+
155+
> 💡 主要な用語は [用語集](../../README.md#用語インデックス) にインデックスがあります。
156+
143157
---
144158

145159
## 関連ドキュメント

EpisodicRAG/scripts/test/TESTING.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,29 @@ test/
4040
└── performance_tests/ # ベンチマーク
4141
```
4242

43+
## Test Summary
44+
45+
### 層別テストファイル一覧
46+
47+
|| テストファイル | テスト数目安 |
48+
|----|---------------|-------------|
49+
| **Domain** | `test_validators.py`, `test_helpers.py`, `test_file_naming.py` | ~20 |
50+
| **Infrastructure** | `test_json_repository.py`, `test_file_scanner.py` | ~15 |
51+
| **Application** | `test_shadow_*.py`, `test_grand_digest.py`, `test_cascade_processor.py` | ~40 |
52+
| **Interfaces** | `test_finalize_from_shadow.py`, `test_save_provisional_digest.py` | ~20 |
53+
| **Config** | `test_config.py`, `test_path_integration.py` | ~15 |
54+
| **Integration** | `test_e2e_workflow.py` | ~10 |
55+
56+
> 📊 最新のテスト数は `pytest --collect-only | tail -1` で確認できます。
57+
58+
### カバレッジ目標
59+
60+
| カテゴリ | 目標 | 現状 |
61+
|---------|------|------|
62+
| Domain層 | 90%+ | [Codecov参照](https://codecov.io/gh/Bizuayeu/Plugins-Weave) |
63+
| Application層 | 80%+ | 同上 |
64+
| 全体 | 75%+ | 同上 |
65+
4366
### Test Markers
4467

4568
```python
@@ -229,10 +252,27 @@ HYPOTHESIS_PROFILE=ci pytest scripts/test/ -m property
229252

230253
## Continuous Integration
231254

255+
### GitHub Actions
256+
257+
[![CI](https://github.com/Bizuayeu/Plugins-Weave/actions/workflows/test.yml/badge.svg)](https://github.com/Bizuayeu/Plugins-Weave/actions/workflows/test.yml)
258+
[![codecov](https://codecov.io/gh/Bizuayeu/Plugins-Weave/branch/main/graph/badge.svg)](https://codecov.io/gh/Bizuayeu/Plugins-Weave)
259+
260+
- **テスト実行**: PR作成時・mainマージ時に自動実行
261+
- **カバレッジレポート**: [Codecov Dashboard](https://codecov.io/gh/Bizuayeu/Plugins-Weave)
262+
263+
### ローカル実行
264+
232265
```bash
233266
# 最小テストセット(PR用)
234267
pytest scripts/test/ -m "not performance" --tb=short
235268

236269
# フルテストセット(マージ後)
237270
pytest scripts/test/ -v
271+
272+
# カバレッジ付き
273+
pytest scripts/test/ --cov=. --cov-report=term-missing --cov-report=html
274+
275+
# HTMLレポート確認
276+
open htmlcov/index.html # macOS
277+
start htmlcov/index.html # Windows
238278
```

0 commit comments

Comments
 (0)