qfai 0.2.6 → 0.2.8

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # QFAI Toolkit (v0.2.6)
1
+ # QFAI Toolkit (v0.2.8)
2
2
 
3
3
  Single-package distribution for QFAI.
4
4
 
@@ -1,6 +1,6 @@
1
1
  # Contracts (UI / API / DB)
2
2
 
3
- 契約は「システム外部との約束」を明文化する場所です。Scenario から参照される前提で作成します。
3
+ 契約は「システム外部との約束」を明文化する場所です。Scenario または Spec から参照される前提で作成します。
4
4
 
5
5
  ## 置くべきファイル
6
6
 
@@ -44,14 +44,16 @@ CREATE TABLE sample_table (
44
44
 
45
45
  ## CI でチェックされること(抜粋)
46
46
 
47
- - UI: YAML 解析、`id` `UI-` で始まる
48
- - API: OpenAPI 定義があること
47
+ - UI/API: パース失敗は error、ID 未定義は error
48
+ - UI: `UI-xxxx` の ID が必要
49
+ - API: OpenAPI 定義があること、`API-xxxx` の operationId が必要
49
50
  - DB: 危険 SQL(DROP/TRUNCATE 等)の警告
50
- - 共通: ID 形式の検証
51
+ - 共通: ID 形式(`PREFIX-0001`)、定義 ID の重複検知
51
52
 
52
53
  ## 依存関係
53
54
 
54
55
  - Scenario → Contracts(UI/API/DATA のいずれかへ接続)
56
+ - Spec → Contracts(参照は許容)
55
57
 
56
58
  ## 良い例 / 悪い例
57
59
 
@@ -52,18 +52,21 @@
52
52
  ## Scenario の最小要件
53
53
 
54
54
  - `@SC-xxxx` / `@SPEC-xxxx` / `@BR-xxxx` をタグで明示
55
+ - Scenario は複数の SPEC を参照してよい(`@SPEC-xxxx` を複数記載可能)
55
56
  - `Given / When / Then` を含める
56
57
  - UI/API/DATA 契約に接続する(トレーサビリティのエラー回避)
57
58
 
58
59
  ## CI でチェックされること(抜粋)
59
60
 
60
- - Spec: 必須セクションの有無、SPEC/BR ID の存在、ID 形式
61
- - Scenario: SC/SPEC/BR の参照、Given/When/Then の有無
62
- - Traceability: BR→SC、SC→契約(UI/API/DATA)の接続
61
+ - Spec: 必須セクションの有無、SPEC/BR ID の存在、ID 形式(`PREFIX-0001`)、Contract 参照の実在性
62
+ - Scenario: SC/SPEC/BR の参照、Given/When/Then の有無、参照IDの実在性
63
+ - Traceability: BR→SC、SC→契約(UI/API/DATA)の接続、BR の所属 SPEC 整合
64
+ - IDs: 定義 ID の重複検知(Spec/Scenario/Contracts)
63
65
 
64
66
  ## 依存関係
65
67
 
66
68
  - Spec → Scenario → Contracts
69
+ - Spec → Contracts(参照は許容)
67
70
  - Decisions(ADR)→ Spec / BR
68
71
 
69
72
  ## 良い例 / 悪い例
@@ -22,7 +22,7 @@ ADR は「なぜその判断をしたか」を記録するための軽量な意
22
22
 
23
23
  ## CI でチェックされること(抜粋)
24
24
 
25
- - ID 形式(`BR-xxxx` / `SPEC-xxxx` など)
25
+ - ID 形式(`PREFIX-0001`。ADR を含む)
26
26
  - 参照 ID の整合性(トレーサビリティ)
27
27
 
28
28
  ## 依存関係
@@ -2,7 +2,6 @@ paths:
2
2
  specDir: .qfai/spec
3
3
  decisionsDir: .qfai/spec/decisions
4
4
  scenariosDir: .qfai/spec/scenarios
5
- rulesDir: .qfai/rules
6
5
  contractsDir: .qfai/contracts
7
6
  uiContractsDir: .qfai/contracts/ui
8
7
  apiContractsDir: .qfai/contracts/api
@@ -24,6 +23,7 @@ validation:
24
23
  brMustHaveSc: true
25
24
  scMustTouchContracts: true
26
25
  allowOrphanContracts: false
26
+ unknownContractIdSeverity: error
27
27
  output:
28
28
  format: text
29
29
  jsonPath: .qfai/out/validate.json