cdk-preflight 0.0.174 → 0.0.176
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/.claude/skills/add-preflight-rule/SKILL.md +1 -1
- package/.jsii +375 -172
- package/AGENTS.md +22 -12
- package/API.md +5 -0
- package/README.md +2 -2
- package/docs/rules.md +79 -79
- package/lib/index.d.ts +5 -0
- package/lib/index.js +23 -5
- package/lib/private/enforce.d.ts +25 -0
- package/lib/private/enforce.js +75 -2
- package/lib/rules.generated.d.ts +6 -0
- package/lib/rules.generated.js +638 -81
- package/package.json +2 -2
|
@@ -32,7 +32,7 @@ cdk-preflight のルール追加パイプライン。AGENTS.md の設計原則
|
|
|
32
32
|
- **evidence の拒否文から、制約を名指ししている部分を `repro.expect` に写す**(`expect: "must not be longer than 256 characters"`)。1 行のダブルクォート文字列で、中に `"` と `\` を入れない(月次ランナーは YAML パーサ無しに sed で読む)。evidence に逐語で含まれていないと `bundle-rules` が落ちる。月次はこの文面で照合し、別の理由で倒れたら INCONCLUSIVE にする(#264)。**2026-09-27 以降に足す real-deploy ルールでは必須**。サービスが汎用文しか返さない場合(`GeneralServiceException` など)は、その汎用文を写す
|
|
33
33
|
- fail テンプレートがデプロイに**成功**したら、それはドキュメント側の誤り(BROKEN-EXPECTATION)。ルールを削除し、証拠を issue に残して終了する。CloudFront では明文化された制約 9 件中 3 件がこれだった(2026-09-02)
|
|
34
34
|
- **予想と違う理由**で失敗した場合(他アカウントの ARN、ドメイン所有権の検証など)は証拠にならない。サービスエラーが対象の制約そのものを名指しするまでテンプレートを作り直すか、除去できない交絡は `evidence` に明記する
|
|
35
|
-
- **月次は別アカウント(`502761806921`)で fail
|
|
35
|
+
- **月次は別アカウント(`502761806921`)で fail だけを回す**ので、フィクスチャは両アカウントに同じ名前で在るものしか指さない。bench(`214794239830`)の ARN を焼かず、`Fn::Sub` の `${AWS::AccountId}` で自アカウントを指す。使い捨てのロールはテンプレートの中で作る。常設が要るものは `bench/fixtures.template.json`(IAM ロール・SNS・ECR・Glue ジョブ)か `bench/fixtures.sh`(S3 は `bench/fixtures/` に置いて `cdkpf-fixtures-${AWS::AccountId}` を指す)に足す。証明書の ARN とレイヤーの版 ID はアカウントごとに違うので `{{resolve:ssm:/cdkpf/fixtures/...}}` で引く。bench の us-east-1 既定 VPC の ID(`vpc-4331593e` など)はそのまま書いてよい — 他のアカウントでは `verify-rule.sh` が自分の既定 VPC に読み替える。月次は fixtures ジョブが毎回 `fixtures.sh` を流す。常設物を足したら手元でも 1 回 `bash bench/fixtures.sh`(#284)
|
|
36
36
|
- `doc-only` は「再現に安価に作れないリソース(検証済み ACM 証明書、所有ドメイン等)が要る」場合に限る最終手段であって、まだ試していない制約への近道ではない。詳細は AGENTS.md の "A doc sentence is a hypothesis, not evidence" に従う
|
|
37
37
|
6. **仕上げ**: `npx projen build` 全緑 → ブランチ作成 → **コミットするのは `rules/**` だけ**(`src/rules.generated.ts` は gitignore 済み、`docs/rules.md` と README のバッジ・リソース表は `bundle-docs` が main で書く。ここを触らないので PR 同士が衝突しない)→ conventional commit(`feat(rules): add <rule-id>`)→ PR 本文に: 制約の出典 / 重複チェック結果 / 実機再現ログ。
|
|
38
38
|
|