phasegate 0.191.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.
Files changed (67) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.ja.md +52 -15
  3. package/README.md +39 -11
  4. package/docs/ADR/030-injection-threat-model-and-trust-root.md +145 -0
  5. package/docs/guide/hooks-integration.md +50 -1
  6. package/docs/guide/installation.md +1 -1
  7. package/docs/guide/quick-vs-full-mode.md +1 -1
  8. package/docs/guide/skills-overview.md +7 -8
  9. package/package.json +1 -1
  10. package/scripts/harness/agent-integration/presentation/phasegate-status-context.ts +131 -63
  11. package/scripts/harness/agent-integration/presentation/session-start-hook.ts +31 -4
  12. package/scripts/harness/agent-integration/presentation/spotlight.ts +65 -0
  13. package/scripts/harness/ci-governance/application/dto/pin-integrity-input.ts +8 -0
  14. package/scripts/harness/ci-governance/application/dto/pin-integrity-output.ts +9 -0
  15. package/scripts/harness/ci-governance/application/dto/verify-integrity-input.ts +7 -0
  16. package/scripts/harness/ci-governance/application/dto/verify-integrity-output.ts +10 -0
  17. package/scripts/harness/ci-governance/application/usecases/pin-integrity-usecase.ts +60 -0
  18. package/scripts/harness/ci-governance/application/usecases/verify-integrity-usecase.ts +46 -0
  19. package/scripts/harness/ci-governance/composition-root.ts +67 -64
  20. package/scripts/harness/ci-governance/domain/ports/integrity-manifest-repository-port.ts +14 -0
  21. package/scripts/harness/ci-governance/domain/ports/sha256-hasher-port.ts +10 -0
  22. package/scripts/harness/ci-governance/domain/services/integrity-checker.ts +42 -0
  23. package/scripts/harness/ci-governance/domain/value-objects/integrity-drift.ts +16 -0
  24. package/scripts/harness/ci-governance/domain/value-objects/integrity-manifest.ts +49 -0
  25. package/scripts/harness/ci-governance/domain/value-objects/integrity-target.ts +40 -0
  26. package/scripts/harness/ci-governance/infrastructure/adapters/file-system-sha256-hasher-adapter.ts +17 -0
  27. package/scripts/harness/ci-governance/infrastructure/adapters/harness-api-command-existence-adapter.ts +7 -73
  28. package/scripts/harness/ci-governance/infrastructure/adapters/integrity-manifest-json-repository-adapter.ts +83 -0
  29. package/scripts/harness/ci-governance/presentation/handlers/integrity-handler.ts +76 -0
  30. package/scripts/harness/config-foundation/application/mappers/validator-system-config-mapper.ts +53 -28
  31. package/scripts/harness/harness-api/domain/value-objects/ci-check-result.ts +33 -8
  32. package/scripts/harness/harness-api/domain/value-objects/known-harness-commands.ts +90 -0
  33. package/scripts/harness/installation/application/bundled-skill-selection.ts +2 -5
  34. package/scripts/harness/main.ts +257 -105
  35. package/scripts/harness/phase-dependency-model/infrastructure/filesystem/file-system-story-reflection-adapter.ts +65 -3
  36. package/scripts/harness/quick-mode/domain/services/quick-mode-judgment-engine.ts +44 -40
  37. package/scripts/harness/setup/skill-deployer.ts +2 -4
  38. package/scripts/harness/validator-system/application/use-cases/run-l2-validators-usecase.ts +82 -49
  39. package/scripts/harness/validator-system/application/use-cases/run-l3-validators-usecase.ts +87 -58
  40. package/scripts/harness/validator-system/composition-root.ts +141 -99
  41. package/scripts/harness/validator-system/domain/ports/coverage-attestation-gating-policy-port.ts +14 -0
  42. package/scripts/harness/validator-system/domain/ports/injection-scan-policy-port.ts +14 -0
  43. package/scripts/harness/validator-system/domain/services/coverage-attestation-gating-service.ts +56 -0
  44. package/scripts/harness/validator-system/domain/services/injection-pattern-scan-service.ts +118 -0
  45. package/scripts/harness/validator-system/domain/value-objects/coverage-gating-report.ts +67 -0
  46. package/scripts/harness/validator-system/domain/value-objects/injection-scan-report.ts +55 -0
  47. package/scripts/harness/validator-system/domain/value-objects/validator-id.ts +35 -31
  48. package/scripts/harness/validator-system/infrastructure/adapters/adr-foundation-reference-adapter.ts +13 -7
  49. package/scripts/harness/validator-system/infrastructure/adapters/file-system-coverage-attestation-gating-adapter.ts +87 -0
  50. package/scripts/harness/validator-system/infrastructure/adapters/file-system-injection-scan-adapter.ts +82 -0
  51. package/skills/README.md +1 -1
  52. package/skills/codebase-mapper/SKILL.md +1 -1
  53. 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
  54. package/skills/doc-health-checker/SKILL.md +148 -0
  55. package/skills/release-publisher/SKILL.md +101 -0
  56. package/skills/skill-creator/SKILL.md +74 -332
  57. package/skills/story-implementor/SKILL.md +52 -0
  58. package/skills/story-mapper/SKILL.md +4 -0
  59. package/skills/story-writer/SKILL.md +9 -0
  60. package/skills/uiux-designer/references/uiux-design-template.md +4 -4
  61. package/skills/unit-designer/SKILL.md +3 -1
  62. package/skills/doc-freshness-checker/SKILL.md +0 -140
  63. package/skills/implementation-planner/SKILL.md +0 -169
  64. package/skills/implementation-planner/references/document-structure.md +0 -116
  65. package/skills/implementation-planner/references/plan-template.md +0 -177
  66. package/skills/implementation-planner/references/workflow.md +0 -164
  67. package/skills/pointer-validator/SKILL.md +0 -105
@@ -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,105 +0,0 @@
1
- ---
2
- name: pointer-validator
3
- kind: advisory
4
- description: 設計文書内のファイルポインタ(相対パス参照)の有効性を検証するスキル(L4バリデータ拡張)。`phasegate validate-pointers` CLIを使い、ドキュメント内で参照されているファイルパスが実際に存在するかチェックする。使用タイミング: 「ドキュメントのリンク切れを確認して」「ポインタ検証を実行して」「broken pointer を探して」「設計文書の参照が正しいか確認して」など。
5
- model: sonnet
6
- review: opus
7
- languages: [typescript]
8
- ---
9
-
10
- # Pointer Validator
11
-
12
- ## 目的
13
-
14
- 設計文書内のファイルパス参照(ポインタ)の有効性を検証するスキル。
15
- `phasegate validate-pointers` CLIをラップし、broken pointer を検出・修正案を提示する。
16
-
17
- ## 入力
18
-
19
- - 対象ディレクトリ: `--dir <path>`(デフォルト `docs/`)配下の設計文書
20
- - 検証対象ポインタ: Markdown `[text](path)` リンク / `@file:` `@ref:` / `filePath:` フィールドのパス参照(`http(s)://` URL は対象外)
21
-
22
- ## CLIの動作
23
-
24
- `p2:validate-pointers` は以下を検出する:
25
- - Markdownの `[text](path)` 形式のリンク
26
- - `@file:` / `@ref:` 形式のポインタ
27
- - `filePath:` YAML/JSON フィールド内のパス参照
28
- - URLポインタはスキップ(`http://` / `https://` は検証対象外)
29
-
30
- ---
31
-
32
- ## ワークフロー(単一フェーズ)
33
-
34
- このスキルは軽量チェックのため単一フェーズで実行する。
35
-
36
- ### Step 1: CLIの実行
37
-
38
- ```bash
39
- npx phasegate validate-pointers
40
- ```
41
-
42
- オプション:
43
- - `--dir <path>` — スキャン対象ディレクトリ(デフォルト: `docs/`)
44
- - `--fix` — 自動修正可能なポインタを修正(要確認)
45
-
46
- ### Step 2: 結果の解釈
47
-
48
- `ValidateDocPointersOutput` の構造:
49
-
50
- | フィールド | 意味 |
51
- |-----------|------|
52
- | `results[].documentPath` | ポインタを含む文書ファイル |
53
- | `results[].pointerTarget` | 参照先パス |
54
- | `results[].pointerType` | `file-path` / `url` |
55
- | `results[].isResolvable` | 解決可能かどうか |
56
- | `results[].errorMessage` | エラー内容(nullなら正常) |
57
- | `summary.brokenPointers` | broken件数 |
58
- | `summary.skippedUrlPointers` | URLスキップ件数 |
59
- | `passed` | 全ポインタ有効ならtrue |
60
-
61
- ### Step 3: 修正戦略の判断
62
-
63
- | broken原因 | 推奨アクション |
64
- |-----------|--------------|
65
- | ファイルが移動された | ポインタのパスを新パスに更新 |
66
- | ファイルが削除された | ポインタを削除 or 代替ファイルに変更 |
67
- | タイポ | パス修正 |
68
- | 未作成ファイルへの参照 | 意図的な前方参照として `[TODO]` マーカーを追加 |
69
-
70
- ### 出力フォーマット
71
-
72
- ```markdown
73
- # Pointer Validation 結果
74
-
75
- ## サマリー
76
- - チェックドキュメント数: N
77
- - 総ポインタ数: N
78
- - broken: N / URL(スキップ): N
79
-
80
- ## Broken Pointers(要修正)
81
- | 文書ファイル | 参照先 | エラー | 推奨修正 |
82
- |------------|--------|--------|---------|
83
-
84
- ## 次のアクション
85
- (brokenがある場合)
86
- 1. 上記テーブルの broken pointer を修正
87
- 2. `npx phasegate validate-pointers` を再実行して0件を確認
88
- ```
89
-
90
- ---
91
-
92
- ## 注意事項
93
-
94
- - URL(`http://` / `https://`)は検証対象外(ネットワーク依存を避けるため)
95
- - `--fix` オプションは明確な移動・リネームのみ自動修正。曖昧なケースはスキップ
96
- - broken件数 > 50 の場合は `--dir` でスコープを絞って段階的に対処する
97
-
98
- ---
99
-
100
- ## 関連スキル
101
-
102
- | スキル | 用途 |
103
- |-------|------|
104
- | `doc-freshness-checker` | 設計文書の鮮度チェック(セットで実行推奨) |
105
- | `consistency-checker` | 文書間の内容整合性チェック |