cdk-preflight 0.0.4 → 0.0.5

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.
@@ -26,5 +26,8 @@ cdk-preflight のルール追加パイプライン。AGENTS.md の設計原則
26
26
  - `walk` ビルトインは無い。`to_number`/`object.get`/`flatten_list`/`resolve` で明示的に書く
27
27
  - fail テンプレートはこのルール**だけ**に違反、pass テンプレートは完全クリーン
28
28
  4. **ローカルゲート**: `npx projen bundle-rules && npx jest test/rules.test.ts test/structure.test.ts` が全緑になるまで直す。
29
- 5. **実機再現ゲート**: `bash bench/verify-rule.sh <rule-id>`(要 AWS 認証)。観測したエラーメッセージと日付を `meta.yaml#repro.evidence` に記録。実機不能な制約のみ `doc-only` + 理由。
29
+ 5. **実機再現ゲート**: `bash bench/verify-rule.sh <rule-id>`(要 AWS 認証)。観測したエラーメッセージと日付を `meta.yaml#repro.evidence` に記録。
30
+ - fail テンプレートがデプロイに**成功**したら、それはドキュメント側の誤り(BROKEN-EXPECTATION)。ルールを削除し、証拠を issue に残して終了する。CloudFront では明文化された制約 9 件中 3 件がこれだった(2026-09-02)
31
+ - **予想と違う理由**で失敗した場合(他アカウントの ARN、ドメイン所有権の検証など)は証拠にならない。サービスエラーが対象の制約そのものを名指しするまでテンプレートを作り直すか、除去できない交絡は `evidence` に明記する
32
+ - `doc-only` は「再現に安価に作れないリソース(検証済み ACM 証明書、所有ドメイン等)が要る」場合に限る最終手段であって、まだ試していない制約への近道ではない。詳細は AGENTS.md の "A doc sentence is a hypothesis, not evidence" に従う
30
33
  6. **仕上げ**: `npx projen build` 全緑 → ブランチ作成 → conventional commit(`feat(rules): add <rule-id>`)→ PR 本文に: 制約の出典 / 重複チェック結果 / 実機再現ログ。
@@ -59,7 +59,7 @@ EOL ランタイム、廃止インスタンスタイプ、新リージョン対
59
59
 
60
60
  ## 手順
61
61
 
62
- 1. **制約の棚卸し**。そのサービスについて、次の順で拾う。ユーザーガイドの Limits / Quotas ページ、API リファレンスのパラメータ制約、CloudFormation リソースタイプのドキュメント(スキーマではなく散文の方)、実際のデプロイ失敗エラーメッセージ。数値・順序・組み合わせ・排他・命名・リージョン依存に印を付ける
62
+ 1. **制約の棚卸し**。そのサービスについて、次の順で拾う。ユーザーガイドの Limits / Quotas ページ、API リファレンスのパラメータ制約、CloudFormation リソースタイプのドキュメント(スキーマではなく散文の方)、実際のデプロイ失敗エラーメッセージ。数値・順序・組み合わせ・排他・命名・リージョン依存に印を付ける。ここで拾ったドキュメントの 1 文は**仮説であって証拠ではない**。CloudFront の棚卸し(2026-09-02)では明文化された制約 9 件のうち 3 件が実機でそのままデプロイできた(BROKEN-EXPECTATION)。候補リストは「実機ゲートに掛ける仮説の列」として書き、ドキュメントの断言を根拠に採用を確定させない
63
63
  2. **6 レンズに当てる**。どのレンズにも当たらない制約は捨てる。ここで大半が落ちる。レンズ 3 と 4 を先に通すと当たりが早い
64
64
  3. **重複ガード**。残った候補ごとに最小の違反テンプレートを書き、素のエンジンにかける
65
65
  ```bash
package/.jsii CHANGED
@@ -9598,6 +9598,6 @@
9598
9598
  "symbolId": "src/index:PreflightOptions"
9599
9599
  }
9600
9600
  },
9601
- "version": "0.0.4",
9602
- "fingerprint": "jASilEQK2B/zD73FyDu1FfzAgaa1C9v9ELFH7Hqgq24="
9601
+ "version": "0.0.5",
9602
+ "fingerprint": "j4isTJWg6fh/pCkDCAOOmTeY5lxFntFkB7gDbw84R8E="
9603
9603
  }
package/lib/index.js CHANGED
@@ -17,7 +17,7 @@ const rules_generated_1 = require("./rules.generated");
17
17
  * Preflight.apply(app);
18
18
  */
19
19
  class Preflight {
20
- static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-preflight.Preflight", version: "0.0.4" };
20
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-preflight.Preflight", version: "0.0.5" };
21
21
  /**
22
22
  * Register the cdk-preflight rules on an App or Stage.
23
23
  */
package/package.json CHANGED
@@ -87,7 +87,7 @@
87
87
  "publishConfig": {
88
88
  "access": "public"
89
89
  },
90
- "version": "0.0.4",
90
+ "version": "0.0.5",
91
91
  "jest": {
92
92
  "coverageProvider": "v8",
93
93
  "testMatch": [