AIタスク #10238
未完了
エピック #10236: [PathCollector] MVP開発 (Epic)
PC1-02 プロジェクト・APIキー登録CLI
Redmine Admin さんが19日前に追加.
19日前に更新.
説明
[Phase1-収集基盤]
F-001。project作成、write_key/secret_key発行、project_domains登録。
受入: CLIでテストプロジェクトを1件登録できること。
- 期日 を 2026-07-20 にセット
- 開始日 を 2026-07-19 から 2026-07-20 に変更
- 次のチケットに後続 AIタスク #10237: PC1-01 PostgreSQLスキーマ実装 を追加
Codex CLIクロスレビューでFAIL。以下を修正:
-
タイムゾーン検証なし(cli.ts): 任意文字列を受理してしまう。NodeのIntl.supportedValuesOf('timeZone')または同等の手段でIANAタイムゾーンとして検証すること
-
ドメイン検証不十分(cli.ts): DNSラベル毎63文字上限チェックを追加。保存前に小文字化(toLowerCase)して重複チェック・DB一意制約をすり抜けさせないようにすること
-
マスキング設定JSONの型検証なし(cli.ts): JSON.parse()の結果を型アサーションするだけではなくzodでオブジェクトであることを検証し、配列・文字列・数値を拒否。nullを黙って破棄しない
-
register-project.ts側にバリデーションがほぼない: CLI層だけに依存せず、中核関数自体でもドメイン形式・sample_rate範囲(0-1)・保存日数の正の整数・タイムゾーンを検証すること(CLI経由でなく直接呼ばれても安全なように)
-
テスト不足: 不正ドメイン、sample_rate境界値/範囲外、保存日数の0/負数/小数、不正タイムゾーン・マスキング設定、includeSubdomains、途中失敗時のロールバック、資格情報発行失敗時にproject/domain/organizationが残らないこと、既存organization ID経由の登録、重複slug/domain時の挙動をテスト追加
-
モノレポ構成: apps/api単体npm installだけではpackages/databaseの依存(drizzle-orm/pg)が解決できずビルド失敗する。セットアップ手順(packages/databaseもnpm install必要)をREADMEに明記すること
-
【重要】テスト未実行も要修正: Codex CLIのレビュー環境はDocker権限がなく、DB統合テスト(globalSetupでephemeral Postgres起動)が実行できない。今後のクロスレビューでも少なくともバリデーションロジック(1【5で追加する検証関数)はDB不要の純粋関数として切り出し、DB不要の単体テスト(test/lib/validation.test.ts等)でカバーすること。DB統合テストは別途維持してよいが、必ずClaude Code自身の実行環境(Docker利用可)でnpm testを実行し全テストグリーンを確認し、結果(テスト件数)を報告すること。
Codex CLIクロスレビュー2回目もFAIL。残よ27項目のうち7項目のみ未解決:
- 【重要】vitest.config.tsのglobalSetupが全テストファイルに一律適用されており、validation.test.ts(DB不要の純粋関数テスト)もDockerなしでは実行できない(
npx vitest run test/lib/validation.test.ts単体実行でPostgresコンテナ起動失敗)。修正方針: vitest.config.tsを分割する(例: vitest.config.tsはDB不要のunitテスト用にglobalSetupなしとし、vitest.integration.config.tsを新設してregister-project.test.ts等DB依存テストのみそちらでglobalSetupを適用)。package.jsonのtestスクリプトもtest:unit/test:integrationに分割し、npm testは両方実行する形にすること。
- READMEの手順不整合: 最初のコードブロックを順に実行すると既にapps/apiにいる状態で次に
cd apps/apiしておりapps/api/apps/apiを参照して失敗する。手順を修正し、実際に正しいパスで動くことを自分で実行確認すること。
完了条件: あなた自身のDocker環境でnpx vitest run test/lib/validation.test.tsを単体実行してもパスすることを確認(これがDocker不要で実行できる証拠)。その上でnpm testで全件(54件)グリーンも確認し、READMEの手順を一字一句那りながら実行して問題ないことを確認すること。
Codex CLIクロスレビュー3回目でPASS。vitest.config.ts/vitest.integration.config.tsの分割が適切。偽 docker(permission denied、exit 126)で実 Dockerを遂断した状態でvalidation.test.ts単体27件/test:unit 39件が実際にパスすることをCodex自身が確認。READMEのcd二重化も解消。build/typecheck成功。実装→レビュー→修正2回(合計3サイクル)で完了。
他の形式にエクスポート: Atom
PDF