リンク短縮タスクを実装する
以下の手順を順に実行してください。タスクが不明瞭な場合や、AGENTS.md の「事前に人に確認すること」に該当する項目がある場合は、作業を中断して質問してください。
-
読み取り。
AGENTS.md、選択したタスク (docs/TASKS.md内)、およびtests/AGENTS.mdを開きます。指定された1つのタスクのみに取り組んでください。 -
調査。
main.py(テーブル、encode()、リクエストモデル、両方のルート)とtests/test_main.pyを読みます。タスクが操作する箇所(例:コードの生成方法、データベースが実行間でどのように共有されるか)に注意してください。 -
計画を述べる。 編集を開始する前に、以下の内容を書き出してください。
- 期待される動作(成功時および各失敗時のステータスコードとレスポンスボディを含む)。
- 変更するファイル。
- エッジケース(空入力や異常な入力、既存コードとの衝突、値の繰り返しなど)。
-
失敗するテストを書く。
tests/AGENTS.mdに従い、tests/test_main.pyに振る舞いテストを追加します。少なくとも1つの成功ケースと1つの失敗ケースを含めてください。テストを実行し、正しい理由(機能が未実装であること、タイポではないこと)で失敗することを確認します。pytest tests/test_main.py -k <新しいテスト名> -
最小限の変更 を
main.pyに加え、テストが通るようにします。既存の動作とレスポンス構造は維持してください。テーブルに新しいカラムが必要な場合は、既存のlinks.dbが引き続き動作するように追加するか(あるいは再作成が必要な理由を説明してください)。 -
すべてを実行する。
pytest元のテストと新しいテストのすべてがパスしなければなりません。パスするまで修正と再実行を繰り返します。
-
以下の形式でサマリーを出力します。
Task: Behavior: Files changed: Tests added: pytest result: Remaining risks: