phasegate 0.183.0 → 0.212.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.ja.md +52 -15
- package/README.md +39 -11
- package/docs/ADR/030-injection-threat-model-and-trust-root.md +145 -0
- package/docs/guide/hooks-integration.md +50 -1
- package/docs/guide/installation.md +1 -1
- package/docs/guide/quick-vs-full-mode.md +1 -1
- package/docs/guide/skills-overview.md +17 -17
- package/package.json +1 -1
- package/scripts/harness/agent-integration/presentation/phasegate-status-context.ts +131 -63
- package/scripts/harness/agent-integration/presentation/session-start-hook.ts +31 -4
- package/scripts/harness/agent-integration/presentation/spotlight.ts +65 -0
- package/scripts/harness/biome-ast-engine/infrastructure/parsers/comment-density-parser.ts +51 -10
- package/scripts/harness/ci-governance/application/dto/pin-integrity-input.ts +8 -0
- package/scripts/harness/ci-governance/application/dto/pin-integrity-output.ts +9 -0
- package/scripts/harness/ci-governance/application/dto/verify-integrity-input.ts +7 -0
- package/scripts/harness/ci-governance/application/dto/verify-integrity-output.ts +10 -0
- package/scripts/harness/ci-governance/application/usecases/pin-integrity-usecase.ts +60 -0
- package/scripts/harness/ci-governance/application/usecases/verify-integrity-usecase.ts +46 -0
- package/scripts/harness/ci-governance/composition-root.ts +68 -65
- package/scripts/harness/ci-governance/domain/ports/integrity-manifest-repository-port.ts +14 -0
- package/scripts/harness/ci-governance/domain/ports/sha256-hasher-port.ts +10 -0
- package/scripts/harness/ci-governance/domain/services/integrity-checker.ts +42 -0
- package/scripts/harness/ci-governance/domain/value-objects/integrity-drift.ts +16 -0
- package/scripts/harness/ci-governance/domain/value-objects/integrity-manifest.ts +49 -0
- package/scripts/harness/ci-governance/domain/value-objects/integrity-target.ts +40 -0
- package/scripts/harness/ci-governance/infrastructure/adapters/adr-foundation-existence-adapter.ts +26 -2
- package/scripts/harness/ci-governance/infrastructure/adapters/file-system-sha256-hasher-adapter.ts +17 -0
- package/scripts/harness/ci-governance/infrastructure/adapters/harness-api-command-existence-adapter.ts +8 -1
- package/scripts/harness/ci-governance/infrastructure/adapters/integrity-manifest-json-repository-adapter.ts +83 -0
- package/scripts/harness/ci-governance/presentation/handlers/integrity-handler.ts +76 -0
- package/scripts/harness/config-foundation/application/mappers/validator-system-config-mapper.ts +53 -28
- package/scripts/harness/harness-api/domain/value-objects/ci-check-result.ts +33 -8
- package/scripts/harness/harness-api/domain/value-objects/known-harness-commands.ts +90 -0
- package/scripts/harness/installation/application/bundled-skill-selection.ts +2 -5
- package/scripts/harness/main.ts +257 -105
- package/scripts/harness/phase-dependency-model/domain/ports/story-reflection-file-system-port.ts +2 -0
- package/scripts/harness/phase-dependency-model/domain/services/story-reflection-checker.ts +8 -0
- package/scripts/harness/phase-dependency-model/infrastructure/filesystem/file-system-story-reflection-adapter.ts +137 -2
- package/scripts/harness/quick-mode/domain/services/quick-mode-judgment-engine.ts +44 -40
- package/scripts/harness/setup/skill-deployer.ts +8 -10
- package/scripts/harness/skill-quality/domain/services/skill-structure-validator.ts +13 -2
- package/scripts/harness/skill-quality/domain/types/skill-kind.ts +6 -0
- package/scripts/harness/skill-quality/domain/value-objects/skill-structure.ts +24 -8
- package/scripts/harness/validator-system/application/use-cases/run-l2-validators-usecase.ts +82 -49
- package/scripts/harness/validator-system/application/use-cases/run-l3-validators-usecase.ts +87 -58
- package/scripts/harness/validator-system/composition-root.ts +141 -99
- package/scripts/harness/validator-system/domain/ports/coverage-attestation-gating-policy-port.ts +14 -0
- package/scripts/harness/validator-system/domain/ports/injection-scan-policy-port.ts +14 -0
- package/scripts/harness/validator-system/domain/services/coverage-attestation-gating-service.ts +56 -0
- package/scripts/harness/validator-system/domain/services/injection-pattern-scan-service.ts +118 -0
- package/scripts/harness/validator-system/domain/value-objects/coverage-gating-report.ts +67 -0
- package/scripts/harness/validator-system/domain/value-objects/injection-scan-report.ts +55 -0
- package/scripts/harness/validator-system/domain/value-objects/validator-id.ts +35 -31
- package/scripts/harness/validator-system/infrastructure/adapters/adr-foundation-reference-adapter.ts +13 -7
- package/scripts/harness/validator-system/infrastructure/adapters/file-system-coverage-attestation-gating-adapter.ts +87 -0
- package/scripts/harness/validator-system/infrastructure/adapters/file-system-injection-scan-adapter.ts +82 -0
- package/skills/README.md +1 -1
- package/skills/cascade-updater/SKILL.md +3 -3
- package/skills/codebase-mapper/SKILL.md +6 -6
- package/skills/codex-delegator/SKILL.md +4 -3
- package/skills/codex-delegator/references/prompt-patterns.md +3 -3
- package/skills/codex-delegator/references/review-dimensions.md +1 -1
- package/skills/consistency-checker/SKILL.md +1 -1
- package/skills/consistency-checker/references//343/203/201/343/202/247/343/203/203/343/202/257/343/203/252/343/202/271/343/203/210.md +1 -1
- package/skills/doc-health-checker/SKILL.md +148 -0
- package/skills/domain-designer/SKILL.md +4 -2
- package/skills/engineering-perspective/SKILL.md +1 -0
- package/skills/environment-designer/SKILL.md +8 -6
- package/skills/implementation-readiness-checker/SKILL.md +2 -1
- package/skills/it-test-designer/SKILL.md +10 -8
- package/skills/it-test-logic-designer/SKILL.md +11 -9
- package/skills/it-test-logic-designer/references/repository-test-patterns.md +8 -1
- package/skills/logical-designer/SKILL.md +5 -3
- package/skills/mock-designer/SKILL.md +10 -6
- package/skills/phasegate-config-doctor/SKILL.md +3 -2
- package/skills/phasegate-toolkit-guide/SKILL.md +1 -0
- package/skills/quick-implementor/SKILL.md +1 -1
- package/skills/release-publisher/SKILL.md +101 -0
- package/skills/scenario-test-designer/SKILL.md +27 -14
- package/skills/scenario-test-logic-designer/SKILL.md +10 -8
- package/skills/scenario-test-logic-designer/references/msw-patterns.md +3 -1
- package/skills/scenario-test-logic-designer/references/playwright-patterns.md +3 -1
- package/skills/skill-creator/SKILL.md +75 -332
- package/skills/story-implementor/SKILL.md +54 -0
- package/skills/story-mapper/SKILL.md +8 -4
- package/skills/story-writer/SKILL.md +14 -5
- package/skills/test-coverage-checker/SKILL.md +4 -6
- package/skills/uiux-designer/SKILL.md +4 -2
- package/skills/uiux-designer/references/uiux-design-template.md +4 -4
- package/skills/unit-designer/SKILL.md +11 -7
- package/skills/unit-test-designer/SKILL.md +25 -11
- package/skills/unit-test-logic-designer/SKILL.md +10 -8
- package/skills/unit-test-logic-designer/references/test-patterns.md +7 -1
- package/skills/doc-freshness-checker/SKILL.md +0 -140
- package/skills/implementation-planner/SKILL.md +0 -167
- package/skills/implementation-planner/references/document-structure.md +0 -116
- package/skills/implementation-planner/references/plan-template.md +0 -177
- package/skills/implementation-planner/references/workflow.md +0 -164
- package/skills/pointer-validator/SKILL.md +0 -104
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
# ドキュメント構造リファレンス
|
|
2
|
-
|
|
3
|
-
## Units ドキュメント (`docs/product/units/`)
|
|
4
|
-
|
|
5
|
-
各Unitは境界づけられたコンテキストを表す。
|
|
6
|
-
|
|
7
|
-
| ファイル | 内容 |
|
|
8
|
-
|----------|------|
|
|
9
|
-
| `integration_contract.md` | Unit間連携API定義・技術スタック・依存関係図 |
|
|
10
|
-
| `{unit}_unit.md` | ユーザーストーリー・機能要件・外部依存 |
|
|
11
|
-
|
|
12
|
-
### integration_contract.md の構造
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
- 技術スタック概要(Auth/Gateway/API Server/DB/Worker/UI/Realtime)
|
|
16
|
-
- ユニット間依存関係図(Mermaid)
|
|
17
|
-
- 公開APIエンドポイント定義(各Unit)
|
|
18
|
-
- 共通データフォーマット
|
|
19
|
-
- 認証・認可
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
### Unit一覧
|
|
23
|
-
|
|
24
|
-
| Unit | 責務 |
|
|
25
|
-
|------|------|
|
|
26
|
-
| IAM Unit | 認証・JWT発行・ユーザー情報 |
|
|
27
|
-
| Admin Unit | ユーザー・チーム管理・権限付与 |
|
|
28
|
-
| Client Unit | クライアント(BPO委託元企業)管理 |
|
|
29
|
-
| Knowledge Unit | クライアントごとの業務ナレッジ管理 |
|
|
30
|
-
| Partner Master Unit | 取引先マスタ管理 |
|
|
31
|
-
| Workflow Dashboard Unit | プロセス一覧・状態管理 |
|
|
32
|
-
| Estimate Unit | 見積書作成プロセス管理(コアドメイン) |
|
|
33
|
-
| Audit Unit | 監査ログ記録・閲覧 |
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## ドメインモデル (`docs/product/construction/`)
|
|
38
|
-
|
|
39
|
-
各境界づけられたコンテキストのドメイン設計。
|
|
40
|
-
|
|
41
|
-
### ディレクトリ構成
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
docs/product/construction/
|
|
45
|
-
├── {context}/domain_model.md # 各コンテキストのドメインモデル
|
|
46
|
-
├── shared_kernel/domain_model.md # 共有カーネル
|
|
47
|
-
├── architecture_image.md # アーキテクチャ図
|
|
48
|
-
└── flow_image.md # フロー図
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### domain_model.md の構造
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
1. コンテキスト概要
|
|
55
|
-
- 境界づけられたコンテキスト
|
|
56
|
-
- ユビキタス言語
|
|
57
|
-
- コンテキストマップ
|
|
58
|
-
|
|
59
|
-
2. 集約 (Aggregates)
|
|
60
|
-
- 集約ルート定義
|
|
61
|
-
- 不変条件
|
|
62
|
-
- 状態遷移図
|
|
63
|
-
|
|
64
|
-
3. エンティティ (Entities)
|
|
65
|
-
|
|
66
|
-
4. 値オブジェクト (Value Objects)
|
|
67
|
-
|
|
68
|
-
5. ドメインイベント (Domain Events)
|
|
69
|
-
|
|
70
|
-
6. ポリシー (Policies)
|
|
71
|
-
|
|
72
|
-
7. リポジトリ (Repositories)
|
|
73
|
-
|
|
74
|
-
8. ドメインサービス (Domain Services)
|
|
75
|
-
|
|
76
|
-
9. クラス図(Mermaid)
|
|
77
|
-
|
|
78
|
-
10. イベントソーシング実装(該当する場合)
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## コードベース構成
|
|
84
|
-
|
|
85
|
-
### functions/ (API Server - Cloud Run)
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
functions/
|
|
89
|
-
├── src/
|
|
90
|
-
│ ├── model/ # ドメインモデル層
|
|
91
|
-
│ ├── usecase/ # ユースケース層
|
|
92
|
-
│ ├── port/ # ポートインターフェース
|
|
93
|
-
│ ├── controller/ # コントローラー層
|
|
94
|
-
│ ├── gateway/ # 外部通信ゲートウェイ
|
|
95
|
-
│ └── infrastructure/ # インフラ層
|
|
96
|
-
└── tests/ # テスト
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### hosting/ (Frontend - React)
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
hosting/
|
|
103
|
-
├── src/
|
|
104
|
-
│ ├── pages/ # ページコンポーネント
|
|
105
|
-
│ ├── components/ # 共通コンポーネント
|
|
106
|
-
│ ├── hooks/ # カスタムフック
|
|
107
|
-
│ └── api/ # API通信
|
|
108
|
-
└── tests/ # テスト
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### supabase/ (Edge Functions)
|
|
112
|
-
|
|
113
|
-
```
|
|
114
|
-
supabase/
|
|
115
|
-
└── functions/ # Edge Functions
|
|
116
|
-
```
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
# 実装計画テンプレート
|
|
2
|
-
|
|
3
|
-
以下のフォーマットで計画ファイルを出力する。
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
```markdown
|
|
8
|
-
# 実装計画: {タスク名}
|
|
9
|
-
|
|
10
|
-
生成日時: {YYYY-MM-DD HH:mm}
|
|
11
|
-
ステータス: DRAFT / REVIEWING / APPROVED
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## 1. 概要
|
|
16
|
-
|
|
17
|
-
### 1.1 実装目的
|
|
18
|
-
{何を実現するか、ビジネス価値}
|
|
19
|
-
|
|
20
|
-
### 1.2 対象ユーザーストーリー
|
|
21
|
-
| ID | ストーリー | 優先度 |
|
|
22
|
-
|----|-----------|--------|
|
|
23
|
-
| US-XXX | ... | MVP/後続 |
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## 2. 関連Unit分析
|
|
28
|
-
|
|
29
|
-
### 2.1 プライマリUnit
|
|
30
|
-
{メインで影響を受けるUnit}
|
|
31
|
-
|
|
32
|
-
### 2.2 依存Unit
|
|
33
|
-
| Unit名 | 依存タイプ | 理由 |
|
|
34
|
-
|--------|-----------|------|
|
|
35
|
-
| ... | 参照/イベント発行/API呼び出し | ... |
|
|
36
|
-
|
|
37
|
-
### 2.3 公開APIエンドポイント
|
|
38
|
-
| Method | Endpoint | 用途 | 新規/既存 |
|
|
39
|
-
|--------|----------|------|----------|
|
|
40
|
-
| ... | ... | ... | ... |
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## 3. ドメインモデル設計
|
|
45
|
-
|
|
46
|
-
### 3.1 集約
|
|
47
|
-
{対象となる集約とその変更内容}
|
|
48
|
-
|
|
49
|
-
### 3.2 エンティティ・値オブジェクト
|
|
50
|
-
{新規追加または変更が必要なもの}
|
|
51
|
-
|
|
52
|
-
### 3.3 ドメインイベント
|
|
53
|
-
| イベント名 | トリガー | ペイロード |
|
|
54
|
-
|-----------|---------|-----------|
|
|
55
|
-
| ... | ... | ... |
|
|
56
|
-
|
|
57
|
-
### 3.4 ドメインサービス
|
|
58
|
-
{必要な場合のみ}
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## 4. レイヤー別実装方針
|
|
63
|
-
|
|
64
|
-
### 4.1 Model層
|
|
65
|
-
```
|
|
66
|
-
対象ファイル:
|
|
67
|
-
- functions/src/model/{context}/...
|
|
68
|
-
|
|
69
|
-
実装内容:
|
|
70
|
-
- ...
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### 4.2 UseCase層
|
|
74
|
-
```
|
|
75
|
-
対象ファイル:
|
|
76
|
-
- functions/src/usecase/{context}/...
|
|
77
|
-
|
|
78
|
-
実装内容:
|
|
79
|
-
- ...
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### 4.3 Port層
|
|
83
|
-
```
|
|
84
|
-
対象ファイル:
|
|
85
|
-
- functions/src/port/{context}/...
|
|
86
|
-
|
|
87
|
-
実装内容:
|
|
88
|
-
- ...
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### 4.4 Controller層
|
|
92
|
-
```
|
|
93
|
-
対象ファイル:
|
|
94
|
-
- functions/src/controller/{context}/...
|
|
95
|
-
|
|
96
|
-
実装内容:
|
|
97
|
-
- ...
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
### 4.5 Repository層
|
|
101
|
-
```
|
|
102
|
-
対象ファイル:
|
|
103
|
-
- functions/src/infrastructure/repository/...
|
|
104
|
-
|
|
105
|
-
実装内容:
|
|
106
|
-
- ...
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### 4.6 Frontend (必要な場合)
|
|
110
|
-
```
|
|
111
|
-
対象ファイル:
|
|
112
|
-
- hosting/src/pages/...
|
|
113
|
-
- hosting/src/components/...
|
|
114
|
-
|
|
115
|
-
実装内容:
|
|
116
|
-
- ...
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
## 5. 実装ステップ
|
|
122
|
-
|
|
123
|
-
### Phase 1: ドメインモデル実装
|
|
124
|
-
- [ ] Step 1.1: {具体的なタスク}
|
|
125
|
-
- [ ] Step 1.2: {具体的なタスク}
|
|
126
|
-
|
|
127
|
-
### Phase 2: UseCase実装
|
|
128
|
-
- [ ] Step 2.1: {具体的なタスク}
|
|
129
|
-
- [ ] Step 2.2: {具体的なタスク}
|
|
130
|
-
|
|
131
|
-
### Phase 3: API実装
|
|
132
|
-
- [ ] Step 3.1: {具体的なタスク}
|
|
133
|
-
- [ ] Step 3.2: {具体的なタスク}
|
|
134
|
-
|
|
135
|
-
### Phase 4: テスト
|
|
136
|
-
- [ ] Step 4.1: ユニットテスト作成
|
|
137
|
-
- [ ] Step 4.2: 統合テスト作成
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
## 6. 影響範囲と考慮事項
|
|
142
|
-
|
|
143
|
-
### 6.1 既存コードへの影響
|
|
144
|
-
{変更が必要な既存コード}
|
|
145
|
-
|
|
146
|
-
### 6.2 マイグレーション
|
|
147
|
-
{DBスキーマ変更がある場合}
|
|
148
|
-
|
|
149
|
-
### 6.3 リスクと対策
|
|
150
|
-
| リスク | 影響度 | 対策 |
|
|
151
|
-
|--------|-------|------|
|
|
152
|
-
| ... | 高/中/低 | ... |
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## 7. [Question][Answer]
|
|
157
|
-
|
|
158
|
-
### 未解決の質問
|
|
159
|
-
|
|
160
|
-
**Q1: {質問内容}**
|
|
161
|
-
> A1: {回答待ち / 回答内容}
|
|
162
|
-
|
|
163
|
-
**Q2: {質問内容}**
|
|
164
|
-
> A2: {回答待ち / 回答内容}
|
|
165
|
-
|
|
166
|
-
### 追加情報リクエスト
|
|
167
|
-
- {必要な追加情報1}
|
|
168
|
-
- {必要な追加情報2}
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## 変更履歴
|
|
173
|
-
|
|
174
|
-
| 日付 | 変更者 | 内容 |
|
|
175
|
-
|-----|-------|------|
|
|
176
|
-
| YYYY-MM-DD | AI | 初版作成 |
|
|
177
|
-
```
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
# 実装計画ワークフロー
|
|
2
|
-
|
|
3
|
-
## フェーズ1: 要件理解
|
|
4
|
-
|
|
5
|
-
### Step 1.1: 入力の整理
|
|
6
|
-
ユーザー入力から以下を抽出:
|
|
7
|
-
- 実装対象(ストーリーID、機能名、タスク説明)
|
|
8
|
-
- 優先度・制約条件
|
|
9
|
-
|
|
10
|
-
### Step 1.2: ストーリー確認
|
|
11
|
-
ユーザーストーリーが指定されている場合:
|
|
12
|
-
```bash
|
|
13
|
-
# US-XXXの場合、以下のファイルを検索
|
|
14
|
-
grep -r "US-XXX" docs/product/units/
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## フェーズ2: Unit特定
|
|
20
|
-
|
|
21
|
-
### Step 2.1: integration_contract.md確認
|
|
22
|
-
```
|
|
23
|
-
Read: docs/product/units/integration_contract.md
|
|
24
|
-
```
|
|
25
|
-
以下を把握:
|
|
26
|
-
- 関連しそうなUnit
|
|
27
|
-
- そのUnitの公開API
|
|
28
|
-
- 依存関係
|
|
29
|
-
|
|
30
|
-
### Step 2.2: 関連Unit仕様確認
|
|
31
|
-
```
|
|
32
|
-
Read: docs/product/units/{unit}_unit.md
|
|
33
|
-
```
|
|
34
|
-
各Unitファイルから:
|
|
35
|
-
- 担当ユーザーストーリー
|
|
36
|
-
- 機能要件
|
|
37
|
-
- 外部依存
|
|
38
|
-
|
|
39
|
-
### Step 2.3: Unit間依存の整理
|
|
40
|
-
Mermaid図を参照し、以下を特定:
|
|
41
|
-
- データの流れ
|
|
42
|
-
- イベント発行先
|
|
43
|
-
- 参照関係
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## フェーズ3: ドメインモデル確認
|
|
48
|
-
|
|
49
|
-
### Step 3.1: プライマリコンテキスト確認
|
|
50
|
-
```
|
|
51
|
-
Read: docs/product/construction/{context}/domain_model.md
|
|
52
|
-
```
|
|
53
|
-
以下を把握:
|
|
54
|
-
- 集約とその責務
|
|
55
|
-
- エンティティ・値オブジェクト
|
|
56
|
-
- ドメインイベント
|
|
57
|
-
- 状態遷移
|
|
58
|
-
|
|
59
|
-
### Step 3.2: 関連コンテキスト確認
|
|
60
|
-
依存先のdomain_model.mdを確認:
|
|
61
|
-
- 共有カーネルの定義
|
|
62
|
-
- 参照するエンティティ
|
|
63
|
-
|
|
64
|
-
### Step 3.3: 設計パターン確認
|
|
65
|
-
```
|
|
66
|
-
Read: docs/product/construction/shared_kernel/domain_model.md
|
|
67
|
-
```
|
|
68
|
-
共通で使用する型・パターンを把握
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## フェーズ4: 既存実装確認
|
|
73
|
-
|
|
74
|
-
### Step 4.1: ディレクトリ構造確認
|
|
75
|
-
```bash
|
|
76
|
-
ls -la functions/src/model/{context}/
|
|
77
|
-
ls -la functions/src/usecase/{context}/
|
|
78
|
-
ls -la functions/src/controller/{context}/
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### Step 4.2: 関連コード検索
|
|
82
|
-
```bash
|
|
83
|
-
# 関連するクラス・関数を検索
|
|
84
|
-
grep -r "ClassName" functions/src/
|
|
85
|
-
grep -r "usecaseName" functions/src/
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Step 4.3: 既存パターン把握
|
|
89
|
-
同コンテキストの既存実装からパターンを学習:
|
|
90
|
-
- Model定義方法
|
|
91
|
-
- UseCase構造
|
|
92
|
-
- Controller実装
|
|
93
|
-
- Repository実装
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## フェーズ5: 計画作成
|
|
98
|
-
|
|
99
|
-
### Step 5.1: API設計
|
|
100
|
-
integration_contract.mdを参照し:
|
|
101
|
-
- 新規APIか既存APIの拡張か判断
|
|
102
|
-
- エンドポイント設計
|
|
103
|
-
- リクエスト/レスポンス設計
|
|
104
|
-
|
|
105
|
-
### Step 5.2: レイヤー別実装内容決定
|
|
106
|
-
Clean Architectureに従い:
|
|
107
|
-
1. Model層: ドメインモデル実装
|
|
108
|
-
2. UseCase層: ビジネスロジック
|
|
109
|
-
3. Port層: インターフェース定義
|
|
110
|
-
4. Controller層: API実装
|
|
111
|
-
5. Repository層: データアクセス
|
|
112
|
-
|
|
113
|
-
### Step 5.3: 実装ステップ分解
|
|
114
|
-
依存関係を考慮して順序付け:
|
|
115
|
-
1. ドメインモデル(依存なし)
|
|
116
|
-
2. Port定義
|
|
117
|
-
3. UseCase実装
|
|
118
|
-
4. Repository実装
|
|
119
|
-
5. Controller実装
|
|
120
|
-
6. テスト
|
|
121
|
-
|
|
122
|
-
### Step 5.4: 影響範囲特定
|
|
123
|
-
- 既存コードの変更箇所
|
|
124
|
-
- DBマイグレーション要否
|
|
125
|
-
- フロントエンド変更要否
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## フェーズ6: 出力と確認
|
|
130
|
-
|
|
131
|
-
### Step 6.1: 計画ファイル出力
|
|
132
|
-
`references/plan-template.md`の形式で出力
|
|
133
|
-
|
|
134
|
-
### Step 6.2: 質問整理
|
|
135
|
-
不明点を[Question][Answer]セクションにまとめ
|
|
136
|
-
|
|
137
|
-
### Step 6.3: ユーザー確認
|
|
138
|
-
計画をユーザーに提示し、フィードバックを収集
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## 探索パターン
|
|
143
|
-
|
|
144
|
-
### パターン1: ストーリーID指定
|
|
145
|
-
```
|
|
146
|
-
1. grep "US-XXX" docs/product/units/*.md
|
|
147
|
-
2. 該当Unit特定
|
|
148
|
-
3. domain_model確認
|
|
149
|
-
4. 既存コード確認
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### パターン2: 機能名指定
|
|
153
|
-
```
|
|
154
|
-
1. integration_contract.mdのAPI定義検索
|
|
155
|
-
2. 関連Unit特定
|
|
156
|
-
3. 以降同様
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
### パターン3: 技術タスク指定
|
|
160
|
-
```
|
|
161
|
-
1. constructionディレクトリから関連コンテキスト特定
|
|
162
|
-
2. Unit仕様確認
|
|
163
|
-
3. 既存コード確認
|
|
164
|
-
```
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: pointer-validator
|
|
3
|
-
description: 設計文書内のファイルポインタ(相対パス参照)の有効性を検証するスキル(L4バリデータ拡張)。`phasegate validate-pointers` CLIを使い、ドキュメント内で参照されているファイルパスが実際に存在するかチェックする。使用タイミング: 「ドキュメントのリンク切れを確認して」「ポインタ検証を実行して」「broken pointer を探して」「設計文書の参照が正しいか確認して」など。
|
|
4
|
-
model: sonnet
|
|
5
|
-
review: opus
|
|
6
|
-
languages: [typescript]
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Pointer Validator
|
|
10
|
-
|
|
11
|
-
## 目的
|
|
12
|
-
|
|
13
|
-
設計文書内のファイルパス参照(ポインタ)の有効性を検証するスキル。
|
|
14
|
-
`phasegate validate-pointers` CLIをラップし、broken pointer を検出・修正案を提示する。
|
|
15
|
-
|
|
16
|
-
## 入力
|
|
17
|
-
|
|
18
|
-
- 対象ディレクトリ: `--dir <path>`(デフォルト `docs/`)配下の設計文書
|
|
19
|
-
- 検証対象ポインタ: Markdown `[text](path)` リンク / `@file:` `@ref:` / `filePath:` フィールドのパス参照(`http(s)://` URL は対象外)
|
|
20
|
-
|
|
21
|
-
## CLIの動作
|
|
22
|
-
|
|
23
|
-
`p2:validate-pointers` は以下を検出する:
|
|
24
|
-
- Markdownの `[text](path)` 形式のリンク
|
|
25
|
-
- `@file:` / `@ref:` 形式のポインタ
|
|
26
|
-
- `filePath:` YAML/JSON フィールド内のパス参照
|
|
27
|
-
- URLポインタはスキップ(`http://` / `https://` は検証対象外)
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## ワークフロー(単一フェーズ)
|
|
32
|
-
|
|
33
|
-
このスキルは軽量チェックのため単一フェーズで実行する。
|
|
34
|
-
|
|
35
|
-
### Step 1: CLIの実行
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
npx phasegate validate-pointers
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
オプション:
|
|
42
|
-
- `--dir <path>` — スキャン対象ディレクトリ(デフォルト: `docs/`)
|
|
43
|
-
- `--fix` — 自動修正可能なポインタを修正(要確認)
|
|
44
|
-
|
|
45
|
-
### Step 2: 結果の解釈
|
|
46
|
-
|
|
47
|
-
`ValidateDocPointersOutput` の構造:
|
|
48
|
-
|
|
49
|
-
| フィールド | 意味 |
|
|
50
|
-
|-----------|------|
|
|
51
|
-
| `results[].documentPath` | ポインタを含む文書ファイル |
|
|
52
|
-
| `results[].pointerTarget` | 参照先パス |
|
|
53
|
-
| `results[].pointerType` | `file-path` / `url` |
|
|
54
|
-
| `results[].isResolvable` | 解決可能かどうか |
|
|
55
|
-
| `results[].errorMessage` | エラー内容(nullなら正常) |
|
|
56
|
-
| `summary.brokenPointers` | broken件数 |
|
|
57
|
-
| `summary.skippedUrlPointers` | URLスキップ件数 |
|
|
58
|
-
| `passed` | 全ポインタ有効ならtrue |
|
|
59
|
-
|
|
60
|
-
### Step 3: 修正戦略の判断
|
|
61
|
-
|
|
62
|
-
| broken原因 | 推奨アクション |
|
|
63
|
-
|-----------|--------------|
|
|
64
|
-
| ファイルが移動された | ポインタのパスを新パスに更新 |
|
|
65
|
-
| ファイルが削除された | ポインタを削除 or 代替ファイルに変更 |
|
|
66
|
-
| タイポ | パス修正 |
|
|
67
|
-
| 未作成ファイルへの参照 | 意図的な前方参照として `[TODO]` マーカーを追加 |
|
|
68
|
-
|
|
69
|
-
### 出力フォーマット
|
|
70
|
-
|
|
71
|
-
```markdown
|
|
72
|
-
# Pointer Validation 結果
|
|
73
|
-
|
|
74
|
-
## サマリー
|
|
75
|
-
- チェックドキュメント数: N
|
|
76
|
-
- 総ポインタ数: N
|
|
77
|
-
- broken: N / URL(スキップ): N
|
|
78
|
-
|
|
79
|
-
## Broken Pointers(要修正)
|
|
80
|
-
| 文書ファイル | 参照先 | エラー | 推奨修正 |
|
|
81
|
-
|------------|--------|--------|---------|
|
|
82
|
-
|
|
83
|
-
## 次のアクション
|
|
84
|
-
(brokenがある場合)
|
|
85
|
-
1. 上記テーブルの broken pointer を修正
|
|
86
|
-
2. `npx phasegate validate-pointers` を再実行して0件を確認
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## 注意事項
|
|
92
|
-
|
|
93
|
-
- URL(`http://` / `https://`)は検証対象外(ネットワーク依存を避けるため)
|
|
94
|
-
- `--fix` オプションは明確な移動・リネームのみ自動修正。曖昧なケースはスキップ
|
|
95
|
-
- broken件数 > 50 の場合は `--dir` でスコープを絞って段階的に対処する
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## 関連スキル
|
|
100
|
-
|
|
101
|
-
| スキル | 用途 |
|
|
102
|
-
|-------|------|
|
|
103
|
-
| `doc-freshness-checker` | 設計文書の鮮度チェック(セットで実行推奨) |
|
|
104
|
-
| `consistency-checker` | 文書間の内容整合性チェック |
|