Skip to content

v1.2.1

Latest

Choose a tag to compare

@istb16 istb16 released this 25 Oct 07:47
6f47d3b

1.2.1

プロジェクトごとに、役割(設計、実装、レビューなど)への指示を書いておけるようになりました(#350)。あわせて、Windows で書き換え中の状態ファイルが一瞬「無い」と読まれることがあった不具合を直しました(#358)。互換性を壊す変更はありません。

足したこと:役割ごとの指示と、作業単位のテストの段取り

  • instructions.<role> に、役割ごとの指示を書けます。役割は orchestrator、architect、implementer、review_fixer、reviewers、design_reviewers です。その場に文章で書くか、{file: <path>} でリポジトリの中のファイルを指します。レビュアーの席ごとにも書けます
  • ほかのキーと違い、全体の設定とプロジェクトの設定の両方に書いた指示は、全体のものの後にプロジェクトのものを続けてつなげます
  • CLI は、指示を ## Project instructions の見出しでプロンプトに入れます。指示は CLI 自身の決まりの後に置かれ、それより弱いものとして扱われます。レビュアーへの指示は見る観点を足すことにだけ使え、指摘を出さない・種類を飛ばす・重大度を下げるといった指示には従いません
  • 読めないファイル、普通のファイルでないもの、32 KB を超えるもの、リンクを通るものは、指示なしで走り、note: で知らせます
  • プロジェクトの設定や指示のファイルは、レビューする対象のブランチと一緒に来ることがあります。そのため、これらに触れる変更は高リスクとして扱います。プロジェクトの設定に書かれた指示は、config validate、doctor、review run が役割ごとに知らせます
  • implementation.unit_tests: after_merge にすると、作業単位は lint と型の確認までにとどめ、テストは取り込んだ後にまとめて流します。データベースやポートを取り合うテストのためのものです
  • implementation.worktree_files に、作業単位の worktree に写す、git が無視しているファイル(config/database.yml など)を書けます
  • status に、指示の一覧(Instructions:)、オーケストレーターへの指示、Unit tests: の行が出ます。指示があるときは、承認待ちの行に「指示も見せて承認を求める」と出ます。summary、units status、config show、doctor にも出ます。--json には、キーを足しただけです

変えたこと

  • 作業単位の worktree に写すファイル(CLI の設定ファイル、プロジェクトの設定、計画、決定事項)も、implementation.worktree_files と同じ確認を通すようにしました(#354)。リンク越しのものや、普通のファイルでないものは写さず、note: で知らせて copies_skipped に記録します
  • 自分で書く adapter:Provider.file_read_tools で、CLI がファイルを読む道具の名前を複数書けます(#362)。既定は file_read_tool から作るので、file_read_tool だけを設定している adapter はそのまま動きます

直したこと

  • Windows で、書き換え中のファイルを読むと、一瞬「無い」と判断されることがありました(#358)。os.replace で置き換える間、ファイルの名前が一瞬どこにも無くなるためで、動いているジョブや状態が「無い」と読まれることがありました
    • 書き込みは atomic_file.rename_over を通るようにしました。Windows 10 1709 以降では、名前を一度で差し替える置き換え(SetFileInformationByHandle の POSIX の流儀)を使います。対応していないボリュームでは、そのボリュームを覚えて os.replace に戻ります
    • 読み込み(read_json、read_text、read_text_strict)は、os.path.isfile ではなく、開いた結果で「無い」と判断します。FIFO やデバイスは読みません
    • ウイルス対策ソフトが置き換えた直後のファイルをつかむと、読み込みが数秒待つことがあります。待った後は正しく読めます
  • agy 1.4.7 で、ファイルを読む道具の名前が read_file(引数は Path)になっていました。道具の使い方の報告(Read <path>)と、実機の確かめで、view_file と両方を受け付けます(#362)

実機で確かめた CLI

  • claude 2.1.309(architect のセッションの再開)
  • codex 0.163.0
  • agy 1.4.7

詳しくは CHANGELOG を参照してください。